2017-02-06 4 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 в настоящее время запущен в пакетном режиме, система оптимизирована для проведения времени во время подготовки, чтобы сократить время выполнения для больших объемов данных.

В вашем случае, исходя из предоставленного сценария, я думаю, что вызов пользовательской функции, вероятно, добавляет к времени подготовки. Позвольте мне проверить с командой, если вложение вызова функции может сэкономить некоторое время на этой фазе.

Редактировать: Основываясь на вашем вопросе в другом потоке, у вас, кажется, очень многораздельная таблица. Если это правильно, то компиляция для доступа к разделам и их объединение также добавит время подготовки. У нас есть элемент отставания, чтобы улучшить этот аспект.

Смежные вопросы