2016-09-19 15 views
3

Я запускаю операцию U-SQL как часть конвейера в Azure Data Factory для определенного временного фрагмента. Активность U-SQL запускает последовательность U-SQL-скриптов, которые считывают и обрабатывают данные, хранящиеся в Azure Data Lake. Несмотря на то, что данные успешно обрабатываются в моем локальном запуске, он бросает исключение из системы без памяти при работе в облачной среде Labure Data Factory.Недостаточно памяти Исключение запущенной работы U-SQL с использованием Azure Data Factory

Данные ввода составляют приблизительно 200 МБ, что не должно быть проблемой обработки, поскольку более крупные массивы данных были обработаны ранее.

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

Exception Snapshot - 1

Exception Snapshot - 2

Любая помощь высоко ценится, спасибо.

Далее Обновление: При дальнейшем исследовании было обнаружено, пропуская строку заголовка, используя переменную skipNRow: 1 повторно решить эту проблему, наша U-SQL код позади фрагмент имеет петлю, которая обусловлена ​​на сравнении даты, ее возможно цикл не заканчивается из-за недопустимого датирования времени в столбце строки заголовка, если фрагмент обрабатывает столбец строки типа DateTime в качестве входного. В идеале это должно привести к недопустимому исключению формата даты, но вместо этого мы увидим исключение Out of memory.

+0

Ой, поэтому у вашей петли нет бесконечной защиты петли? например, псевдокод 'if loopCount> 99 break' – wBob

ответ

1

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