2015-10-26 22 views
5

SSISパッケージからRコードを実行したかったのですが、 Rコードを実行するデータ制御ステップを追加するにはどうすればよいですか? SSISはvb.netとasp.netのみをサポートしています。SSISパッケージからRスクリプトを実行

SSISには多くのデータ変換が用意されていますが、データ操作に関してはRは非常に使いやすいです。

私はSSISスクリプトまたは他の方法からRコードを実行したいと思います.Basically、私はETLプロセスでRを統合しようとしています。

私はCSVファイルからデータ(E)を抽出したかったのです。

これをRに変換し、Microsoftデータベースにロード(L)します。 SSISデータコントロール項目を使用してRスクリプトを実行して、このワークフローをSSISパッケージで実行することは可能ですか?ありがとう!

+1

ようこそstackoverflow(SO)!あなたの質問に沿って再現可能な例を作成すると、私たちはあなたを助けることができるでしょう。問題を解決する方法を教えてくれます。あなたは[Rで素晴らしい再現可能な例を作る方法についてのこの記事を見ることができます](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) 。さらに、すでに試したことの概要を説明すると役立ちます。 –

+0

現在、SSISはVBスクリプトとC#言語のみを受け入れます。csvをデータベースにロードする場合は、データフロータスクを直接使用することができ、接続マネージャは静的でなく動的である必要があります –

答えて

5

ここでは、RをETLプロセスに統合する方法がいくつかあります。

  1. 原油、迅速かつ汚い - 制御フローでプロセス・タスクを実行します。これは、コマンドラインからRScriptを呼び出すのと同様です。変換を行い、ディスク上のファイルに保存し、そのファイル名をプロセス実行タスクから取得して、データフロータスクに供給できるようにします。あなたはあなたのRをきれいに保ち、あなたのC#/ VBとは離れています。

  2. Rdotnet経由の統合 - あなたはRDotNet library(私は信じて、それを統合しようとしていない)を使用することができます。 DLLをGACに登録する必要があります。次に、SSISスクリプトで.NETオブジェクトを操作するか、またはcall R scripts directlyを使用して作業できます。

  3. SQL Serverに組み込まれています。2016 - マイクロソフトでは、拡張ストアドプロシージャを使用してRサポートを追加しました。ストアドプロシージャを使用してRスクリプトを呼び出し、入力データに対してSQLクエリを使用し、出力を格納できます。 more detail hereを参照してください。これは、SSISでExecute SQLタスクを利用することを意味します。

    私はあなたがデータを使用すると、(データフロータスクthrought)CSVファイルにデータセットをもたらす可能性がある処理したいので、それは、あなたや他の誰かの役に立てば幸い
0

、使用してファイルを実行します。「Rscript」(それはあるかもしれません実行プロセスタスクでコマンドとして実行されます)、データフレームをデータフレームにアップロードする(readLines()関数で呼び出す)必要があるファイル内で、すべての計算/計算を行い、データまたは計算結果をCSVファイルにSSISから再度読み込みます。

これは洗練されたソリューションではありませんが、それは機能します:)少なくとも、マイクロソフトはコントロール/データフロープロセスとしてRを統合するまでです。

CYA

PS。ここでは、コマンドラインからファイルを実行する方法を説明します:Run R script from command line

関連する問題