コードは2000個の小さなファイル(〜10-50 Kb)〜1分を超過して非常に高速に実行されます。 Parallelizm = 5.NET呼び出しを追加するとu-sqlジョブが非常に遅くなります
@arenaData =
EXTRACT col1, col2, col3
FROM @in
USING Extractors.Tsv(quoting : true, skipFirstNRows : 1, nullEscape : "\\N", encoding:Encoding.UTF8);
@res =
SELECT col1, col2, col3
FROM @arenaData;
OUTPUT @res
TO @out
USING Outputters.Csv();
しかし、私はこのようなコードを変更した場合、.NETコールがとても遅いのはなぜそれが〜1時間
@arenaData =
EXTRACT col1, col2, col3
FROM @in
USING Extractors.Tsv(quoting : true, skipFirstNRows : 1, nullEscape : "\\N", encoding:Encoding.UTF8);
@res =
SELECT
col1.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) AS col1_converted,
, col2, col3
FROM @arenaData;
OUTPUT @res
TO @out
USING Outputters.Csv();
を取りますか?私はソースのCSVファイルの日付形式を "yyyy-MM-dd HH:mm:ss"に変換する必要がありますか?どうすればそれを効果的に行うことができますか?
これは正しく聞こえません。 CLRをロードしてネイティブコードからC#の実行にコールする必要がありますが、それは60倍悪化してはいけません。あなたは調査のためにエンジニアリングチームに依頼することができますので、私にジョブリンク(マイクロソフトドットコムのusql)を送ってください。 –
私はstackoverflowに質問を投稿する前に、ADLAサポートチームのサポートチケットを開始しました。 Iやったサポートチームのためにこれらのテスト(以下JOBさんのURL):〜2分CLRなし (MAXDOP = 5): https://arkadium.azuredatalakeanalytics.net/jobs/68d7a42a-4f66-4308-a398- 3775eee74877?api-version = 2015-11-01-プレビュー 1つのCLRコールで同じ〜38分(MAXDOP = 5): https://arkadium.azuredatalakeanalytics.net/jobs/4291a7e6-ed0f-4516- b677-38a432a9997c?api-version = 2015-11-01-preview パラメータが変更されているにもかかわらず、問題が依然として存在するため、タイミングが変更されます。 sooo大きな違い – churupaha
いくつかのテスト: CLR +並列性が同じジョブが5から20に増加しました。経過時間〜10分https:// arkadium。azuredatalakeanalytics.net/jobs/c09a8917-3425-48df-97ea-e4a84dad3c15?api-version=2015-11-01-preview CLR +並列処理が同じジョブが5から3に増加しました。経過時間〜59分+キャンセル私によって https://arkadium.azuredatalakeanalytics.net/jobs/9168ea66-e988-4497-b661-417f1128ceac?api-version=2015-11-01-preview – churupaha