Поделиться через


Настройка свойств конфигурации Spark в Azure Databricks

Свойства конфигурации Spark (Confs Spark) можно задать для настройки параметров в вычислительной среде.

Databricks обычно не рекомендует настраивать большинство свойств Spark. Особенно при миграции из Apache Spark с открытым исходным кодом или обновлении версий среды выполнения Databricks устаревшие конфигурации Spark могут переопределить новые поведения по умолчанию, которые оптимизируют рабочие нагрузки.

Для многих действий, контролируемых свойствами Spark, Azure Databricks также предоставляет параметры для включения поведения на уровне таблицы или настройки пользовательского поведения в рамках операции записи. Например, эволюция схемы ранее контролировалась свойством Spark, но теперь имеет охват в SQL, Python и Scala. См. синтаксис эволюции схемы для слияния.

Настройка свойств Spark для записных книжек и заданий

Свойства Spark можно задать для записных книжек и заданий. Область конфигурации зависит от того, как его задать.

Свойства, настроенные: Относится к:
Использование конфигурации вычислений Все записные книжки и задания выполняются с помощью вычислительного ресурса.
В записной книжке Только SparkSession для текущей записной книжки.

Инструкции по настройке свойств Spark на уровне вычислений см. в разделе "Конфигурация Spark".

Чтобы задать свойство Spark в записной книжке, используйте следующий синтаксис:

SQL

SET spark.sql.ansi.enabled = true

Python

spark.conf.set("spark.sql.ansi.enabled", "true")

Scala

spark.conf.set("spark.sql.ansi.enabled", "true")

Настройка свойств Spark в Databricks SQL

Databricks SQL позволяет администраторам настраивать свойства Spark для доступа к данным в меню параметров рабочей области. См. конфигурации доступа к данным

Кроме конфигураций доступа к данным, Databricks SQL позволяет только несколько конфигураций Spark, которые имеют более короткие названия для упрощения. См. параметры конфигурации.

Для большинства поддерживаемых конфигураций SQL можно переопределить глобальное поведение в текущем сеансе. В следующем примере отключен режим ANSI:

SET ANSI_MODE = false

Настройка свойств Spark для конвейеров DLT

DLT позволяет настроить свойства Spark для конвейера, для одного вычислительного ресурса, настроенного для конвейера, или для отдельных потоков, материализованных представлений или потоковых таблиц.

Вы можете задать свойства конвейера и вычислений Spark с помощью пользовательского интерфейса или JSON. См. Настройте конвейер DLT.

spark_conf Используйте параметр в функциях декоратора DLT, чтобы настроить свойства Spark для потоков, представлений или таблиц. См. свойства DLT для Python .

Настройка свойств Spark для бессерверных записных книжек и заданий

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

Собственность По умолчанию Описание
spark.databricks.execution.timeout 9000 Время ожидания выполнения (в секундах) для запросов Spark Connect. Значение по умолчанию применимо только для записных книжек, работающих на бессерверных вычислениях. Для заданий, выполняемых на бессерверных вычислениях и вычислениях с стандартным режимом доступа, время ожидания отсутствует, если это свойство не задано.
spark.sql.legacy.timeParserPolicy EXCEPTION Политика разбора времени.
spark.sql.session.timeZone Etc/UTC Идентификатор локального часового пояса сеанса в формате либо идентификаторов зон, основанных на регионе, либо смещений часового пояса.
spark.sql.shuffle.partitions auto Число секций по умолчанию, используемых при перемешивании данных для соединений или агрегаций.
spark.sql.ansi.enabled true Если значение true, Spark SQL использует диалект, совместимый с ANSI, вместо совместимости с Hive.

Получение текущего параметра для конфигурации Spark

Используйте следующий синтаксис, чтобы просмотреть текущий параметр конфигурации Spark:

spark.conf.get("configuration_name")