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


Справочник по свойствам DLT

В этой статье содержится справочник по спецификации параметров DLT JSON и свойствам таблицы в Azure Databricks. Дополнительные сведения об использовании этих различных свойств и конфигураций см. в следующих статьях:

конфигурации конвейера DLT

Поля
id

Тип: string

Глобальный уникальный идентификатор для этого конвейера. Идентификатор назначается системой и не может быть изменен.
name

Тип: string

Удобное для пользователя имя этого конвейера. Имя можно использовать для идентификации заданий конвейера в пользовательском интерфейсе.
configuration

Тип: object

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

Элементы должны быть отформатированы как пары key:value.
libraries

Тип: array of objects

Набор записных книжек, содержащих код конвейера и необходимые файлы.
clusters

Тип: array of objects

Массив спецификаций для кластеров для запуска конвейера.

Если это не указано, конвейеры автоматически выбирают конфигурацию кластера по умолчанию для конвейера.
development

Тип: boolean

Флаг, указывающий, следует ли запускать конвейер в
development или режим production.

Значение по умолчанию — true
notifications

Тип: array of objects

Необязательный массив спецификаций для уведомлений по электронной почте, когда обновление конвейера завершается, завершается с ошибкой, подлежащей повторной попытке, завершается с ошибкой, не подлежащей повторной попытке, или поток завершается ошибкой.
continuous

Тип: boolean

Флаг, указывающий, следует ли непрерывно запускать конвейер.

Значение по умолчанию — false.
catalog

Тип: string

Имя каталога по умолчанию для конвейера, где публикуются все наборы данных и метаданные для конвейера. Установка этого значения включает Unity Catalog для конвейера.

Если не задано, конвейер публикуется в устаревшем хранилище метаданных Hive, используя расположение, указанное в storage.

В устаревшем режиме публикации указывает каталог, содержащий целевую схему, в которой публикуются все наборы данных из текущего конвейера. См. LIVE схему (устаревшую версию).
schema

Тип: string

Имя схемы по умолчанию для конвейера, где по умолчанию публикуются все наборы данных и метаданные для конвейера. См. Установка целевого каталога исхемы.
target (устаревшая версия)

Тип: string

Имя целевой схемы, в которой публикуются все наборы данных, определенные в текущем конвейере.

Установка target вместо schema настраивает конвейер для использования устаревшего режима публикации. См. схему LIVE (устаревшую версию).
storage (устаревшая версия)

Тип: string

Расположение в DBFS или облачном хранилище, где хранятся выходные данные и метаданные, необходимые для выполнения конвейера. Таблицы и метаданные хранятся в подкаталогах этой директории.

Если параметр storage не указан, по умолчанию будет использоваться расположение в dbfs:/pipelines/.

После создания конвейера невозможно изменить параметр storage.
channel

Тип: string

Используемая версия среды выполнения DLT. Поддерживаемые значения:

- preview для тестирования вашего конвейера в связи с предстоящими изменениями версии среды выполнения.
- current использовать текущую версию среды выполнения.

Поле channel является необязательным. Значение по умолчанию —
current. Databricks рекомендует использовать текущую версию среды выполнения для рабочих нагрузок.
edition

Тип string

Версия продукта DLT для запуска конвейера. Этот параметр позволяет выбрать лучший выпуск продукта на основе требований конвейера:

- CORE для запуска рабочих нагрузок приема потоковой передачи.
- PRO для выполнения рабочих нагрузок потокового ввода и захвата изменений данных (CDC).
- ADVANCED для выполнения потоковой обработки, рабочих нагрузок CDC и рабочих нагрузок, требующих DLT для обеспечения ограничений качества данных.

Поле edition является необязательным. Значение по умолчанию —
ADVANCED.
photon

Тип: boolean

Флаг, указывающий, следует ли использовать Что такое Photon? для запуска конвейера. Photon — это модуль Azure Databricks с высокой производительностью Spark. Конвейеры с поддержкой технологии Photon оплачиваются по другому тарифу, чем конвейеры, не использующие Photon.

Поле photon является необязательным. Значение по умолчанию — false.
pipelines.maxFlowRetryAttempts

Тип: int

Если во время обновления конвейера происходит сбой, поддающийся повторной попытке, это максимальное количество повторных запусков перед прекращением попыток обновления конвейера.

По умолчанию: две попытки повтора. При возникновении повторного сбоя среда выполнения DLT пытается запустить поток три раза, включая исходную попытку.
pipelines.numUpdateRetryAttempts

Тип: int

Если во время обновления происходит сбой, который можно повторить, это максимальное количество попыток обновления перед тем, как обновление будет окончательно считаться неудачным. Повтор выполняется в качестве полного обновления.

Этот параметр применяется только к конвейерам, работающим в рабочем режиме. Повторные попытки не предпринимаются, если ваш конвейер работает в режиме разработки или при запуске обновления Validate.

По умолчанию:

— пять для триггерных конвейеров.
— Неограниченно для непрерывных конвейеров.

свойства таблицы DLT

Помимо свойств таблицы, поддерживаемых Delta Lake, можно задать следующие свойства таблицы.

Свойства таблицы
pipelines.autoOptimize.managed

По умолчанию: true

Включает или отключает автоматическую оптимизацию этой таблицы.
pipelines.autoOptimize.zOrderCols

Значение по умолчанию: Нет

Необязательная строка, содержащая список имен столбцов, разделенных запятыми, для упорядочивания этой таблицы по z-order. Например, pipelines.autoOptimize.zOrderCols = "year,month"
pipelines.reset.allowed

По умолчанию: true

Определяет, разрешено ли полное обновление для этой таблицы.

Интервал срабатывания триггера конвейеров

Можно указать интервал срабатывания конвейера для всего конвейера DLT или также в рамках объявления набора данных. См. раздел Задать интервал триггера для непрерывных конвейеров.

pipelines.trigger.interval
Значение по умолчанию основано на типе потока:

— пять секунд для потоковых запросов.
— одна минута для завершения запросов, когда все входные данные являются источниками 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"}

атрибуты кластера, которые не могут быть настроены пользователем

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

Поля
cluster_name

DLT задает имена кластеров, используемых для выполнения обновлений конвейера. Эти имена нельзя переопределить.
data_security_mode
access_mode

Эти значения автоматически задаются системой.
spark_version

Кластеры DLT выполняются в пользовательской версии Databricks Runtime, которая постоянно обновляется, чтобы включить последние функции. Версия Spark связана с версией Databricks Runtime и не может быть переопределена.
autotermination_minutes

Так как DLT управляет автоматическим завершением кластера и логикой повторного использования, время автоматического завершения кластера не может быть переопределено.
runtime_engine

Хотя вы можете управлять этим полем, включив Photon для конвейера, нельзя задать это значение напрямую.
effective_spark_version

Это значение автоматически устанавливается системой.
cluster_source

Это поле задается системой и доступно только для чтения.
docker_image

Так как DLT управляет жизненным циклом кластера, нельзя использовать пользовательский контейнер с кластерами конвейеров.
workload_type

Это значение задается системой и не может быть переопределено.