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


Принудительное применение схем

Azure Databricks проверяет качество данных, применяя схему при записи.

Примечание.

В этой статье описывается поведение по умолчанию для таблиц в Azure Databricks, поддерживаемых Delta Lake. Применение схемы не применяется к таблицам, поддерживаемым внешними данными.

Принудительное применение схемы для операций вставки

Azure Databricks применяет следующие правила при вставке данных в таблицу:

  • Все вставленные столбцы должны существовать в целевой таблице.
  • Все типы данных столбцов должны соответствовать типам данных столбца в целевой таблице.

Примечание.

Azure Databricks пытается безопасно привести типы данных столбцов для сопоставления целевой таблицы.

Проверка схемы во время MERGE операций

Azure Databricks применяет следующие правила при вставке или обновлении данных в рамках MERGE операции:

  • Если тип данных в исходной инструкции не соответствует целевому столбцу, MERGE пытается безопасно привести типы данных столбцов для сопоставления целевой таблицы.
  • Столбцы, которые являются целевым UPDATE объектом или INSERT действием, должны существовать в целевой таблице.
  • При использовании INSERT * или UPDATE SET * синтаксисе:
    • Столбцы в исходном наборе данных, не присутствующих в целевой таблице, игнорируются.
    • Исходный набор данных должен содержать все столбцы, присутствующих в целевой таблице.

Изменение схемы таблицы

Схему таблицы можно обновить с помощью явных ALTER TABLE инструкций или автоматической эволюции схемы. См. схему таблицы Delta Lake.

Эволюция схемы имеет специальную семантику для MERGE операций. См. статью "Автоматическая эволюция схемы" для слияния Delta Lake.