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


Справочник по свойствам 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.
  • Десять минут для полного выполнения запросов, когда некоторые источники данных могут не поддерживать 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
Это значение задается системой и не может быть переопределено.