Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Справочник по параметрам конфигурации JSON конвейера и свойствам таблицы. Дополнительные сведения об использовании этих свойств и конфигураций см. в следующих статьях:
Конфигурация конвейеров Lakeflow и декларативные конвейеры Apache Spark™
Конвейеры Lakeflow основаны на декларативных конвейерах Apache Spark™ (SDP). Конфигурация конвейера является в значительной степени супермножеством спецификации проекта SDP. Различия в использовании свойств между конвейерами SDP и Lakeflow. Сравнение возможностей конвейеров Lakeflow и общего ресурса SDP см. в разделе Apache Spark Декларативные конвейеры.
Как задать свойства
Большинство свойств конвейера задаются одним из следующих способов:
-
Pipeline JSON или YAML: Добавьте это свойство в спецификацию конвейера либо в интерфейсе настроек конвейера, либо в конфигурационном файле Declarative Automation Bundles. Настройки на уровне конвейера, такие
catalogкак ,channel, иeditionзадаются таким образом. - Объект: Свойства конфигурации Spark (свойства с
configurationпрефиксомpipelines.) могут быть установлены для всего конвейера, добавив их вconfigurationобъект в спецификации конвейера. См. раздел "Настройка конвейеров". -
SQL: В исходном файле SQL установите конфигурационное свойство Spark для наборов данных, которые следуют за ним .
SET -
Python: В исходном файле Python установите свойство конфигурации Spark на отдельном наборе данных с
spark_confаргументом декоратора данных.
Установка свойства в SQL или Python применяет его на уровне набора данных, что переопределяет значение на уровне конвейера из объектаconfiguration. Не каждое свойство поддерживает все методы: настройки на уровне конвейера можно задать только в спецификации, тогда как свойства конфигурации Spark могут быть зададены как на уровне конвейера, так и на уровне набора данных.
Конфигурации конвейера
idТип:
stringГлобальный уникальный идентификатор для этого конвейера. Идентификатор назначается системой и не может быть изменен.
Только конвейеры Lakeflow. SDP не назначает идентификатор конвейера
nameТип:
stringУдобное для пользователя имя этого конвейера. Имя можно использовать для идентификации заданий конвейера в пользовательском интерфейсе.
Доступно в SDP в качестве обязательного
nameполяconfigurationТип:
objectНеобязательный список параметров для добавления в конфигурацию Spark кластера, на котором выполняется конвейер. Эти параметры считываются средой выполнения конвейера и доступны для запросов конвейера с помощью конфигурации Spark.
Элементы должны быть отформатированы как пары
key:value.Доступно в SDP как
configurationparametersТип:
objectImportant
Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".
Необязательная карта пар "ключ-значение", на которую исходный код конвейера может ссылаться с помощью именованного синтаксиса параметров (например,
:source_catalog). Используйте параметры для повторного использования одного исходного кода конвейера в средах или наборах данных без редактирования источника.Ключи могут содержать буквенно-цифровые символы, символы подчеркивания (), дефисы (
_-) и точки (.). Значения всегда являются строками.Эти значения по умолчанию можно переопределить при запуске обновления, задачи конвейера в задании или с помощью параметров задания, отложенного вниз. Параметры конвейера можно ссылаться только из исходного кода SQL. См. раздел "Использование параметров с конвейерами".
Только конвейеры Lakeflow
librariesТип:
array of objectsМассив файлов кода, содержащих код конвейера и обязательные артефакты.
Доступно в SDP как
libraries, указанное в виде списка шаблонов глобов исходного файла, а не массива объектов файлов кодаclustersТип:
array of objectsМассив спецификаций для кластеров для запуска конвейера.
Если это не указано, конвейеры автоматически выбирают конфигурацию кластера по умолчанию для конвейера.
Только конвейеры Lakeflow. SDP не управляет вычислительными ресурсами
developmentТип:
booleanФлаг, указывающий, следует ли запускать конвейер в режиме
developmentили режимеproduction.Значение по умолчанию —
false.Только конвейеры Lakeflow
notificationsТип:
array of objectsНеобязательный массив спецификаций для уведомлений по электронной почте, когда обновление конвейера завершается успешно, завершается с повторяемой ошибкой, завершается с неповторяемой ошибкой или когда поток завершается с ошибкой.
Только конвейеры Lakeflow
continuousТип:
booleanФлаг, указывающий, следует ли непрерывно запускать конвейер.
Значение по умолчанию —
false.Только конвейеры Lakeflow
catalogТип:
stringИмя каталога по умолчанию для конвейера, где публикуются все наборы данных и метаданные для конвейера. Установка этого значения активирует Unity Catalog для конвейера обработки данных.
Если не задано, конвейер публикуется в устаревшем хранилище метаданных Hive, используя расположение, указанное в
storage.В устаревшем режиме публикации указывает каталог, содержащий целевую схему, в которой публикуются все наборы данных из текущего конвейера. См. LIVE схему (устаревшую версию).
Доступно в SDP как
catalogschemaТип:
stringИмя схемы по умолчанию для конвейера, где по умолчанию публикуются все наборы данных и метаданные для конвейера. См. Задайте целевой каталог и схему.
Доступно в SDP как
database, который также принимает псевдонимschematarget(устаревшая версия)Тип:
stringИмя схемы по умолчанию для конвейера, где по умолчанию публикуются все наборы данных и метаданные для конвейера. Вместо этого рекомендуется
schemaиспользоватьtarget.Только конвейеры Lakeflow
storage(устаревшая версия)Тип:
stringРасположение в DBFS или облачном хранилище, где хранятся выходные данные и метаданные, необходимые для выполнения конвейера. Таблицы и метаданные хранятся в подкаталогах этой директории.
storageЕсли параметр не указан, система по умолчанию использует расположение.dbfs:/pipelines/После создания конвейера невозможно изменить параметр
storage.Доступно в SDP в качестве обязательного
storageполя. В конвейерахstorageLakeflow используется устаревший параметрchannelТип:
stringИспользуемая версия среды выполнения конвейера. Поддерживаются такие значения:
-
previewдля тестирования конвейера с грядущими изменениями в версии среды выполнения. -
current, чтобы использовать текущую версию среды выполнения.
Поле
channelявляется необязательным. Значение по умолчанию —current. Databricks рекомендует использовать текущую версию среды выполнения для рабочих нагрузок.Только конвейеры Lakeflow
-
editionТип
stringВыпуск продукта для запуска конвейера. Этот параметр позволяет выбрать лучший выпуск продукта на основе требований конвейера:
-
COREдля выполнения рабочих нагрузок потокового приема данных. -
PROдля выполнения потоковой загрузки и захвата изменений данных (CDC). -
ADVANCEDдля выполнения рабочих нагрузок потоковой передачи данных, рабочих нагрузок CDC и рабочих нагрузок, требующих соблюдения ожиданий в отношении соблюдения ограничений качества данных.
Поле
editionявляется необязательным. Значение по умолчанию —ADVANCED.Только конвейеры Lakeflow
-
photonТип:
booleanФлаг, указывающий, следует ли использовать Что такое Photon? для запуска конвейера. Photon — это модуль Azure Databricks с высокой производительностью Spark. Конвейеры с поддержкой технологии Photon оплачиваются по другому тарифу, чем конвейеры, не использующие Photon.
Поле
photonявляется необязательным. Значение по умолчанию —false.Только конвейеры Lakeflow
serverlessТип:
booleanФлаг, указывающий, использует ли конвейер бессерверные вычисления. См. раздел "Настройка бессерверного конвейера".
Только конвейеры Lakeflow
event_logТип:
objectНастройка назначения журнала событий конвейера в качестве объекта с
namecatalogschemaполями, публикующими журнал событий в таблице каталога Unity. См. журнал событий конвейера.Только конвейеры Lakeflow
tagsТип:
objectНеобязательная карта определяемых пользователем тегов для конвейера. Можно добавить не более 25 тегов.
Только конвейеры Lakeflow
budget_policy_idТип:
stringИдентификатор бессерверной политики бюджета, применяемой к этому конвейеру, используется для атрибута бессерверного использования для отслеживания затрат. Это поле отображается в конфигурации JSON или YAML только при явном установке политики. Если он не настроен, Azure Databricks автоматически разрешает политику по умолчанию. Разрешенная политика отображается в пользовательском интерфейсе параметров конвейера, но она не записывается в конфигурацию JSON или YAML.
Только конвейеры Lakeflow
root_pathТип:
stringКорневой путь для конвейера. При установке этот каталог добавляется
sys.pathпри выполнении Python исходных файлов, поэтому модули можно импортировать относительно него.Только конвейеры Lakeflow
environmentТип:
objectСпецификация среды, используемая для установки Python зависимостей для конвейера.
Только конвейеры Lakeflow
pipelines.maxFlowRetryAttemptsТип:
intЕсли во время обновления конвейера возникает повторный сбой, это максимальное количество раз повторения потока перед сбоем обновления конвейера.
Используйте это для привязки повторных попыток в одном потоке, который подвержен повторным сбоям, чтобы он не смог остановить весь процесс обновления.
По умолчанию: две попытки повтора. При возникновении повторного сбоя среда выполнения конвейера пытается запустить поток три раза, включая исходную попытку.
Только конвейеры Lakeflow
pipelines.numUpdateRetryAttemptsТип:
intЕсли во время обновления происходит сбой, который можно повторить, это максимальное количество попыток обновления перед тем, как обновление будет окончательно считаться неудачным. Повтор выполняется в качестве полного обновления.
Используйте это для привязки повторных попыток во всем обновлении, поэтому зависающее обновление завершается безвозвратно, а не повторно.
Этот параметр применяется только к конвейерам с помощью автоматического повтора и перезапуска. Повторные попытки не выполняются для запуска нерегламентированных обновлений
Validateиз редактора или при запуске обновления.По умолчанию:
- Пять для триггерных конвейеров.
- Неограниченно для непрерывных конвейеров.
Только конвейеры Lakeflow
Свойства таблицы конвейера
Помимо свойств таблицы, поддерживаемых Delta Lake, можно задать следующие свойства таблицы.
pipelines.autoOptimize.zOrderColsЗначение по умолчанию: Нет
Необязательная строка, содержащая список имен столбцов, разделенных запятыми, для упорядочивания этой таблицы по «z-order». Например:
pipelines.autoOptimize.zOrderCols = "year,month"Databricks рекомендует кластеризацию жидкости вместо порядка Z для оптимизации макета данных в таблицах конвейеров. Чтобы разрешить Databricks выбирать и поддерживать столбцы кластеризации автоматически, используйте
CLUSTER BY AUTO(cluster_by_auto=Trueв Python). См. раздел "Использование кластеризации жидкости" для таблиц.Только конвейеры Lakeflow
pipelines.reset.allowedПо умолчанию:
trueОпределяет, разрешено ли полное обновление для этой таблицы.
Доступно в SDP как
pipelines.reset.allowedpipelines.autoOptimize.managedПо умолчанию:
trueВключает или отключает автоматическую оптимизацию этой таблицы.
Для конвейеров, управляемых прогнозной оптимизацией, это свойство не используется.
Только конвейеры Lakeflow
Интервал срабатывания триггера конвейеров
Можно указать интервал триггера канала для всего канала или в рамках объявления набора данных. См. раздел Задать интервал триггера для непрерывных конвейеров.
pipelines.trigger.intervalЗначение по умолчанию основано на типе потока:
- Пять секунд для потоковых запросов.
- Одна минута для завершения выполнения запросов, когда все входные данные из источников Delta.
- Десять минут для полного выполнения запросов, когда некоторые источники данных могут не поддерживать Delta.
Значение — это число, а также единица времени. Ниже приведены допустимые единицы времени:
-
second,seconds -
minute,minutes -
hour,hours -
day,days
При определении значения можно использовать единицу сингулярного или множественного числа, например:
{"pipelines.trigger.interval" : "1 hour"}{"pipelines.trigger.interval" : "10 seconds"}{"pipelines.trigger.interval" : "30 second"}{"pipelines.trigger.interval" : "1 minute"}{"pipelines.trigger.interval" : "10 minutes"}{"pipelines.trigger.interval" : "10 minute"}
Только конвейеры Lakeflow
Databricks рекомендует задать pipelines.trigger.interval для отдельных таблиц, так как потоковая передача и пакетные запросы имеют разные значения по умолчанию. Устанавливайте значение на конвейере только тогда, когда обработка требует управления обновлениями для всего графа конвейера.
Чтобы установить интервал в таблице в Python, используйте аргумент:spark_conf
@dp.table(
spark_conf={"pipelines.trigger.interval" : "10 seconds"}
)
def <function-name>():
return (<query>)
Чтобы установить интервал на следующих наборах данных в SQL, используйте SET:
SET pipelines.trigger.interval=10 seconds;
CREATE OR REFRESH MATERIALIZED VIEW TABLE_NAME
AS SELECT ...
Чтобы установить интервал на всём конвейере, добавьте его к configuration объекту в спецификации конвейера:
{
"configuration": {
"pipelines.trigger.interval": "10 seconds"
}
}
Атрибуты кластера, которые не являются пользовательскими наборами
Так как конвейеры управляют жизненным циклом кластера, многие параметры кластера задаются системой и не могут быть вручную настроены пользователями в конфигурации конвейера или в политике кластера, используемой конвейером. В следующей таблице перечислены эти параметры и почему они не могут быть установлены вручную.
Только конвейеры Lakeflow. SDP не управляет вычислительными ресурсами, поэтому эти атрибуты кластера не применяются
cluster_nameSDP задает имена кластеров, используемых для запуска обновлений конвейера. Эти имена нельзя переопределить.
data_security_modeaccess_modeЭти значения автоматически задаются системой.
spark_versionКластеры SDP выполняются в пользовательской версии Databricks Runtime, которая постоянно обновляется, чтобы включить последние функции. Версия Spark связана с версией Databricks Runtime и не может быть переопределена.
autotermination_minutesТак как SDP управляет автоматическим завершением кластера и логикой повторного использования, время автоматического завершения кластера невозможно переопределить.
runtime_engineХотя вы можете управлять этим полем, включив Photon для конвейера, нельзя задать это значение напрямую.
effective_spark_versionЭто значение автоматически устанавливается системой.
cluster_sourceЭто поле задается системой и доступно только для чтения.
docker_imageТак как SDP управляет жизненным циклом кластера, вы не можете использовать пользовательский контейнер с кластерами конвейеров.
workload_typeЭто значение задается системой и не может быть переопределено.
Параметры источника и запроса
Некоторые действия приема и обработки данных настраиваются в источнике данных или запросе, а не в качестве свойств конвейера. К ним относятся эволюция схемы, подсказки схемы и вывод, ограничения скорости приема и фильтрация файлов. Чтобы настроить их, используйте параметры для read_files и автозагрузчика. Сведения об эволюции from_jsonсхемы см. в разделе " Вывод" и развитие схемы с помощью from_json конвейеров.