Настройка свойств конфигурации 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")