Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Autotune автоматически настраивает конфигурации Apache Spark, чтобы сократить время выполнения рабочей нагрузки и повысить производительность. Это помогает избежать ручной настройки, которая обычно требует повторных проб и ошибок. Autotune использует исторические данные выполнения из рабочих нагрузок для итеративного обнаружения и применения эффективных параметров для каждой рабочей нагрузки.
Примечание.
Настройка запросов Autotune в Microsoft Fabric сейчас доступна в предварительной версии. Он доступен во всех рабочих регионах, но он отключен по умолчанию. Включите его в конфигурации Spark среды или для одного сеанса в записной книжке или коде определения задания Spark.
Параметры конфигурации и требования по умолчанию
- Поведение по умолчанию: автозапуск по умолчаниюотключен .
- При отключении не требуется настройка. Если вы не включите autotune, Spark использует его стандартное поведение конфигурации.
-
Необходимая настройка для использования autotune: установите
spark.ms.autotune.enabled=trueодин из вариантов:- На уровне среды все записные книжки и задания, использующие ее, наследуют этот параметр. См. Включить автонастройку.
- Только в одном блокноте или сеансе определения задания Spark. См. «Включить автоматическую настройку на один сеанс».
Настройка запросов
Autotune настраивает эти три параметра Apache Spark для каждого запроса:
-
spark.sql.shuffle.partitions: задает количество секций для перемещения данных во время соединений или агрегирования. По умолчанию —200. -
spark.sql.autoBroadcastJoinThreshold: задает максимальный размер таблицы в байтах для трансляции на рабочие узлы во время соединения. По умолчанию —10 MB. -
spark.sql.files.maxPartitionBytes: задает максимальное количество байтов для упаковки в одну секцию при чтении файлов. Применяется к источникам файлов Parquet, JSON и ORC. По умолчанию —128 MB.
Функция настройки запросов Autotune проверяет каждый запрос и создает отдельную модель машинного обучения для этого запроса. Он лучше всего подходит для:
- Повторяющиеся запросы
- Длительные запросы (более 15 секунд)
- Запросы API SQL Apache Spark (не API RDD)
Вы можете использовать autotune с записными книжками, определениями заданий Spark и конвейерами. Преимущество зависит от сложности запроса и фигуры данных. При тестировании наибольшие улучшения наблюдаются в исследовательском анализе данных, таком как операции чтения, объединения, агрегации и сортировки.
Как работает autotune
Autotune использует цикл итеративной оптимизации:
- Начните со значений конфигурации Spark по умолчанию.
- Создайте конфигурации кандидатов вокруг базового плана (центроид).
- Предсказать лучшего кандидата, используя модель, обученную на основе предыдущих запусков.
- Примените кандидата и выполните запрос.
- Результаты выполнения возвращаются обратно в модель.
Со временем базовые показатели сдвигаются в сторону улучшения параметров, уменьшая риск регрессии. Использование всех собранных точек данных также помогает снизить влияние аномалий.
Включите автотюнер
Autotune доступна во всех рабочих регионах, но она отключена по умолчанию. Чтобы включить его на уровне среды, задайте свойство spark.ms.autotune.enabled=true Spark в новой или существующей среде. Все ноутбуки и задания, использующие это окружение, наследуют настройки этого окружения.
Autotune включает встроенное обнаружение регрессии. Например, если запрос обрабатывает необычно большой объем данных, autotune может автоматически пропустить настройку для этого выполнения. Во многих сценариях autotune требует около 20–25 итераций для достижения оптимальных настроек.
Примечание.
Autotune совместим с средой выполнения 1.2. Вы не можете включить его в версиях среды выполнения позже 1.2. Он не выполняется, если включены режим высокой конкурентности или частная конечная точка. Autotune работает с автомасштабированием в любой конфигурации.
Вы также можете включить функцию автотюна для одного сеанса, установив свойство Spark в блокноте или в определении задания Spark.
Включите autotune для одного сеанса
%%sql
SET spark.ms.autotune.enabled=TRUE
Отключение автозапуска для одного сеанса
Чтобы отключить автотюнинг в записной книжке или определении задания Spark, выполните одну из следующих команд в первой ячейке или строке кода.
%%sql
SET spark.ms.autotune.enabled=FALSE
Пример использования
При выполнении запроса Apache Spark autotune создает модель для этой фигуры запроса и изучает лучшие параметры с течением времени. Например, начните с этого запроса фильтра:
%%pyspark
df.filter(df.country == "country-A")
Autotune учится из этого запуска. Если позже изменить только значение фильтра, фигура запроса остается аналогичной:
%%pyspark
df.filter(df.country == "country-B")
Autotune может повторно использовать результаты предыдущего обучения для схожих шаблонов запросов, что помогает поддерживать производительность без ручной перенастройки.
Логи
Для каждого запроса autotune вычисляет рекомендуемые значения для трех поддерживаемых конфигураций Spark. Чтобы проверить рекомендации, проверьте журналы драйверов для записей, начинающихся с [Autotune].
Распространенные состояния журнала включают:
| Состояние | Описание |
|---|---|
AUTOTUNE_DISABLED |
Пропускается. Autotune отключен, поэтому сбор данных телеметрии и оптимизация не применяются. |
QUERY_TUNING_DISABLED |
Пропускается. Настройка запроса отключена. |
QUERY_PATTERN_NOT_MATCH |
Пропускается. Шаблон запросов не соответствует поддерживаемым типам запросов только для чтения. |
QUERY_DURATION_TOO_SHORT |
Пропускается. Запрос выполнялся меньше 15 секунд, что недостаточно для эффективной настройки. |
QUERY_TUNING_SUCCEED |
Успех. Были выполнены настройка запросов и применены оптимизированные конфигурации Spark. |
Примечание о прозрачности
В соответствии со стандартом ответственного ИИ в этом разделе объясняется, как используется и проверяется автотюн.
Назначение автотюна
Autotune предназначен для повышения эффективности рабочей нагрузки Apache Spark для специалистов по данным. Оно:
- Автоматически настраивает конфигурации Apache Spark для уменьшения времени выполнения.
- Сокращает усилия по настройке вручную.
- Использует данные исторической рабочей нагрузки для итеративного уточнения вариантов конфигурации.
Проверка автотюнинга
Autotune проходит обширную проверку, чтобы обеспечить эффективность и безопасность:
- Использует строгие тесты в различных рабочих нагрузках Spark для проверки эффективности алгоритма настройки.
- Тесты по стандартным методам оптимизации Spark для демонстрации преимуществ производительности.
- Включает в себя реальные примеры, чтобы показать практическую ценность.
- Следует строгим стандартам безопасности и конфиденциальности для защиты данных пользователей.
Пользовательские данные используются исключительно для повышения производительности рабочей нагрузки с надежной защитой, чтобы предотвратить неправильное использование или воздействие конфиденциальной информации.