私はAzure Data Lake AnalyticsのテーブルでU-SQLを使用しています。 C#プログラムで生成されたパーティションキーのリストをU-SQLスクリプトに渡してから、スクリプトがそれらのパーティション内のすべての要素を返すようにする方法はありますか?U-SQLスクリプトにC#プログラムのパラメータを渡す方法はありますか?
0
A
答えて
2
あなたのdevボックスでC#コードを実行し、U-SQLスクリプトに値を渡したい、あるいはU-SQLスクリプト内でC#コードを実行しますか?あなたの説明ははっきりしていません。あなたの質問のタイトルに基づいて、私はあなたの最初の質問に答えます。
C#プログラムのパラメータとして値を渡す:Azure Data Factoryとは異なり、ADLA SDKはまだU-SQLスクリプトのパラメータモデルを提供していません(http://aka.ms/adlfeedbackでリクエストしてください。すでに、外部の顧客需要を有することが優先順位付けに役立つ)。
しかし、スクリプトの冒頭に次のようなDECLARE文を追加して、パラメータ値を追加してスクリプトに変数として参照させることは、かなり簡単です。
DECLARE @param = new SqlArray<int>(1, 2, 3, 4); // 1,2,3,4 were calculated in your C# code (I assume you have int partition keys).
次に、述語(例えば、@param.Contains(partition_col)
)で配列を使用することができなければなりません。それは(しかし、我々はそれのための作業項目を持っている)パーティションの削除をトリガーしません。
パーティションを削除する場合は、固定値のパラメータ値を持つ必要があり、IN句でその値を使用する必要があります。例えば、あなたは3ヶ月までチェックしたい、あなたはとしてクエリ述語を記述します。
WHERE partition_col IN (@p1, @p2, @p3);
そして、あなたはおそらく、あなたが必要としないパラメータの値を複製、@p1, @p2
と@p3
の定義を付加します。
関連する問題
- 1. パラメータを子スクリプトにテキストファイルから渡す方法はありますか?
- 2. 配列をUSQLストアドプロシージャに渡す方法
- 3. ServletRequestパラメータをJavaScriptに渡す方法はありますか?
- 4. m.me /username URLにパラメータを渡す方法はありますか?
- 5. C#プログラムから別のプログラムにいくつかの "統計"を渡す方法はありますか?
- 6. RedirectToActionでパラメータを渡す方法はありますか?
- 7. Windowsのコマンドプロンプトでstartコマンドを使用して複数のパラメータをプログラムに渡す方法はありますか?
- 8. バッファオーバーフローを悪用し、このプログラムのsystem()関数にパラメータを渡す方法はありますか?
- 9. angular2の補助経路にパラメータをプログラムで渡す方法はありますか?
- 10. anglejsコントローラのサービス機能にパラメータ値を渡す方法はありますか?
- 11. DEFAULT_SUBJECTを次のトリガービルドにパラメータとして渡す方法はありますか?
- 12. MeteorのHandlebarsテンプレートにパラメータを渡す方法はありますか?
- 13. 他のスクリプト内のスクリプトにパラメータを渡す方法
- 14. UNIXスクリプトからSQLファイルにパラメータを渡す方法は?
- 15. TFSビルドプロセスからPowerShellスクリプトにパラメータを渡す方法は?
- 16. 起動スクリプトをローカルグループポリシーにプログラムで追加する方法はありますか?
- 17. ルート内で2つのパラメータを渡す方法はありますが、Laravelでは1つのパラメータを非表示にする方法はありますか?
- 18. カスタムエントリポイント(C/C++)にコマンドライン引数を渡す方法はありますか?
- 19. 引数/オプションをパイプライン実行スクリプトに渡す方法はありますか?
- 20. 要求パラメータを/ healthエンドポイントに渡す方法はありますか?
- 21. getCurrentPosition成功コールバックにパラメータを渡す方法はありますか?
- 22. メソッドをパラメータとしてメソッドに渡す方法はありますか?
- 23. Chrome拡張機能にパラメータを渡す方法はありますか?
- 24. 複数パラメータRelayCommand(WPF/MVVM)にenum値を渡す方法はありますか?
- 25. C#からPowerShellスクリプトに[switch]パラメータを渡すには?
- 26. PythonでUnityスクリプトをプログラムする公式の方法はありますか?
- 27. Webサービスのパラメータをプログラムで取得する方法はありますか?
- 28. JSからC#にJSONオブジェクトのリストを渡す方法はありますか?
- 29. マスターウィンドウのpowershellスクリプトからsqlpsにパラメータを渡す方法
- 30. C#プログラムにC++コマンドを含める方法はありますか?
したがって、すべてのパラメータ値を事前にハードコードする必要がありますか? –
私はData Lake Storeデータベースをクエリする文字列パーティションキーのリストを生成するC#関数(getKeys)を持っています。これらのパーティションキー(つまり、ハードコードされていない)をU-SQLでデータベースにクエリする方法はありますか?パーティションを削除しないコードは次のとおりです。 @results = SELECT RowKey FROM Schema.TableName WHERE USQLApp.queryHelper.getKeys()。Contains(PartitionKey) –
現在のところ、値が一定の場合の単純比較述部(例えば、コンパイル時に知られている)をパーティション除去に使用することができる。 パラメータ値のハードコーディングは、すべてのスクリプトが提出時にコンパイルされるため、大きな問題ではありません。したがって、提出時にパラメータ値を追加することは、ほとんどの場合有効です。 –