Узнайте, как устранять сбои среды выполнения 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, возможно, перестанут выполняться. Используйте эти другие версии только для тестирования.

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

Мониторинг версии среды выполнения U-SQL для заданий

Журнал версий среды выполнения, которые использовались в журнале заданий вашей учетной записи, можно просмотреть в браузере заданий Visual Studio или журнале заданий портал Azure.

  1. На портале Azure выберите свою учетную запись Data Lake Analytics.
  2. Выберите Просмотреть все задания. Появится список всех активных и недавно завершенных заданий в учетной записи.
  3. При необходимости выберите Фильтр , чтобы найти задания по значениям Диапазон времени, Имя задания и Автор .
  4. Вы можете увидеть среду выполнения, используемую в завершенных заданиях.

Отображение версии среды выполнения предыдущего задания

Доступные версии среды выполнения со временем меняются. Среда выполнения по умолчанию всегда называется "по умолчанию", и мы сохраняем по крайней мере предыдущую среду выполнения доступной в течение некоторого времени и делаем специальные среды выполнения доступными по различным причинам. Явно именованные среды выполнения обычно имеют следующий формат (курсив используется для переменных частей, а [] указывает на необязательные части):

release_YYYYMMDD_adl_buildno[_modifier]

Например, release_20190318_adl_3394512_2 означает вторую версию сборки 3394512 выпуска среды выполнения от 18 марта 2019 г., а release_20190318_adl_3394512_private означает частную сборку того же выпуска. Примечание. Дата связана с датой последнего проверка для этого выпуска, а не обязательно с официальной датой выпуска.

Устранение неполадок с версией среды выполнения U-SQL

Существуют две возможные проблемы с версией среды выполнения.

  1. Сценарий или пользовательский код меняет поведение от одного выпуска к другому. Такие критические изменения обычно заранее сообщаются при публикации заметок о выпуске. Если вы столкнетесь с таким критическим изменением, обратитесь к служба поддержки Майкрософт, чтобы сообщить об этом критическом поведении (если оно еще не задокументировано) и отправить задания в более старой версии среды выполнения.

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

Известные проблемы

  1. Ссылка на файл Newtonsoft.Json версии 12.0.3 или более поздних версий в скрипте USQL приведет к следующему сбою компиляции:

    "Приносим извинения; Задания, выполняемые в вашей учетной записи Data Lake Analytics, скорее всего, будут выполняться медленнее или завершиться сбоем. Непредвиденная проблема не позволяет нам автоматически восстановить эту функцию в вашей учетной записи Data Lake Analytics Azure. Инженеры 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 или более поздней версии.

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

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

См. также раздел