Узнайте, как устранять неполадки среды выполнения U-SQL из-за изменений среды выполнения
Это важно
Azure Data Lake Analytics вышел из эксплуатации 29 февраля 2024 года. Дополнительные сведения см. в этом объявлении.
Для аналитики данных ваша организация может использовать Azure Synapse Analytics или Microsoft Fabric.
Среда выполнения U-SQL Azure Data Lake, включая компилятор, оптимизатор и диспетчер заданий, — это то, что обрабатывает код U-SQL.
Выбор версии среды выполнения U-SQL
При отправке заданий U-SQL из Visual Studio, пакета SDK ADL или портала Azure Data Lake Analytics, ваше задание будет использовать доступную по умолчанию в данный момент среду выполнения. Новые версии среды выполнения U-SQL выпускаются регулярно и включают как незначительные обновления, так и исправления безопасности.
Вы также можете выбрать пользовательскую версию среды выполнения; либо из-за того, что вы хотите попробовать новое обновление, необходимо остаться в старой версии среды выполнения или было предоставлено исправление для сообщаемой проблемы, в которой вы не можете ждать регулярного нового обновления.
Осторожность
Выбор среды выполнения, отличной от используемой по умолчанию, может нарушить задания U-SQL. Используйте эти другие версии только для тестирования.
В редких случаях служба поддержки Microsoft может закрепить другую версию среды выполнения в качестве версии по умолчанию для вашей учетной записи. Убедитесь, что вы вернете этот пин как можно скорее. Если вы остаетесь на этой версии, срок действия истечет позже.
Мониторинг версии среды выполнения для ваших заданий U-SQL
Вы можете увидеть историю того, какая версия среды выполнения ваших прошлых заданий использовалась в журнале заданий учетной записи с помощью браузера заданий Visual Studio или журнала заданий портала Azure.
- На портале Azure перейдите к учетной записи Data Lake Analytics.
- Выберите "Просмотреть все задания". Появится список всех активных и недавно завершенных заданий в учетной записи.
- При необходимости выберите фильтр , чтобы помочь вам найти задания по диапазону времени, имени задания и значениям author .
- Вы можете увидеть время выполнения, использованное в завершенных работах.
С течением времени доступные версии среды выполнения изменяются. Среда выполнения по умолчанию всегда называется "по умолчанию", и мы сохраняем по крайней мере предыдущую среду выполнения в течение некоторого времени и делаем специальные среды выполнения доступными по различным причинам. Явно именованные среды выполнения обычно соответствуют следующему формату (курсивы используются для переменных частей и [] указывает необязательные части):
release_YYYYMMDD_adl_buildno[_modifier]
Например, release_20190318_adl_3394512_2 означает вторую версию сборки 3394512 выпуска среды выполнения 18 марта 2019 года и release_20190318_adl_3394512_private означает частную сборку того же выпуска. Примечание: Дата связана с последним отправлением изменений для этого выпуска и не обязательно с официальной датой выпуска.
Устранение неполадок с версией среды выполнения U-SQL
Есть две возможные проблемы с версией среды выполнения, с которыми вы могли бы столкнуться:
Скрипт или некоторый пользовательский код изменяет поведение с одного выпуска на следующий. Такие ломающие изменения обычно сообщаются заранее с помощью публикации примечаний к выпуску. Если вы столкнулись с таким критическим изменением, обратитесь в службу поддержки Майкрософт, чтобы сообщить об этом критическом поведении (если оно еще не было задокументировано) и отправьте задания в более раннюю версию среды выполнения.
Вы используете недефаулированную среду выполнения либо явно, либо неявно, когда она была закреплена в учетной записи, и эта среда выполнения была удалена через некоторое время. Если отсутствуют среды выполнения, обновите скрипты для запуска с текущей средой выполнения по умолчанию. Если вам потребуется больше времени, обратитесь в службу поддержки Майкрософт
Известные проблемы
Ссылка на файл Newtonsoft.Json версии 12.0.3 или более поздних версий в скрипте USQL приведет к следующему сбою компиляции:
"К сожалению; Задания, выполняемые в учетной записи Data Lake Analytics, скорее всего, будут выполняться медленнее или завершиться сбоем. Непредвиденная проблема предотвращает автоматическое восстановление этой функции в учетной записи Azure Data Lake Analytics. Инженерам Azure Data Lake было поручено провести расследование.
Где будет содержаться стек вызовов:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Roslyn.Compilers.MetadataReader.PEFile.CustomAttributeTableReader.get_Item(UInt32 rowId)
...
Решение. Используйте файл Newtonsoft.Json версии 12.0.2 или более поздней версии.
Клиенты могут видеть временные файлы и папки в своем магазине. Они создаются как часть обычного выполнения задания, но обычно удаляются перед тем, как клиенты видят их. В определенных обстоятельствах, которые являются редкими и случайными, они могут оставаться видимыми. Они в конечном итоге удаляются и никогда не считаются частью хранилища пользователей и не вызывают никаких расходов. В зависимости от логики задания клиентов они могут вызвать проблемы. Например, если задание перечисляет все файлы в папке, а затем сравнивает списки файлов, это может завершиться ошибкой из-за непредвиденных временных файлов. Аналогичным образом, если последующее задание перечисляет все файлы из заданной папки для дальнейшей обработки, оно также может перечислить временные файлы.
Решение. Исправление определяется в среде выполнения, в которой временные файлы будут храниться в папке temp уровня учетной записи, а не в текущей выходной папке. Временные файлы будут записаны в этой новой папке temp и будут удалены в конце выполнения задания.
Так как это исправление обрабатывает данные клиента, важно правильно проверить это исправление в MSFT перед выпуском. Ожидается, что это исправление доступно в качестве бета-среды выполнения в середине 2021 года и как среда выполнения по умолчанию во второй половине года 2021 года.