Код работает очень быстро с 2000 маленьких файлов (~ 10-50 Кб) ~ 1 мин. Параллелизм = 5.
@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 в «гггг-ММ-дд ЧЧ: мм: сс»? Как я могу сделать это эффективно?