Код работает очень быстро над 2000 небольшими файлами (~ 10-50 Kb) ~ 1 мин. Parallelizm = 5.Работа у-sql выполняется очень медленно, когда я добавляю вызов .NET
@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();
Но если я изменить код, как это он занимает ~ 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();
Почему .NET вызов так медленно? Мне нужно преобразовать формат даты в исходные CSV-файлы в «yyyy-MM-dd HH: mm: ss»? Как я могу сделать это эффективно?
Это звучит не так. Есть дополнительные накладные расходы на загрузку CLR и вызов из собственного кода в выполнение C#, но это не должно быть в 60 раз хуже. Не могли бы вы отправить мне ссылки на работу (usql at Microsoft dot com), чтобы я мог попросить нашу инженерную команду провести расследование? –
Я начал подписку поддержки для группы поддержки ADLA, прежде чем я отправил вопрос в stackoverflow. я сделал эти тесты для команды поддержки (URLs Иова ниже): без CLR ~ 2 мин (MAXDOP = 5): https://arkadium.azuredatalakeanalytics.net/jobs/68d7a42a-4f66-4308-a398- 3775eee74877? Api-version = 2015-11-01-preview То же самое с одним вызовом 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