2017-02-06 7 views
1

私のU-SQLジョブの準備時間は約30秒です。それを下げることは可能ですか?次のようにU-SQL準備時間を最小限に抑える方法はありますか?

私のコードは次のとおりです。

USE DATABASE x; 
USE SCHEMA y; 

@results = SELECT RowKey 
FROM y.tableName 
WHERE USQLApplication2.queryHelper.func().Contains(PartitionKey) AND TimestampTicks < new System.DateTime(2016,12,30).Ticks 
     AND TimestampTicks > new System.DateTime(2016,12,29).Ticks; 
OUTPUT @results TO "/data/output.csv" 
USING Outputters.Csv(); 
+0

元のコードを見ずに既存のコードベースを変更する方法はわかりません。変更する必要のある最小限の例を投稿してください(// stackoverflow.com/help/mcve)。修正が必要なものについて十分に説明してください。 – gunr2171

答えて

2

準備時間は、主にスクリプトのコンパイル、最適化とコード生成で構成されています。 U-SQLは現在バッチモードで実行されているため、大量のデータを処理するために実行時間を短縮するために、システムは準備中に時間を費やして最適化されています。

あなたのケースでは、提供されたスクリプトに基づいて、私はユーザー定義関数の呼び出しがおそらく準備時間を増やすと思います。関数呼び出しをインライン展開すると、その段階で時間を節約できたら、チームに確認してみましょう。

編集: 別のスレッドで質問に基づいて、高度にパーティション化されたテーブルがあるようです。それが正しい場合は、パーティションにアクセスするためのコンパイルとそれらの論理和が準備時間に追加されます。我々は、その側面を改善するためのバックログ項目を持っています。

関連する問題