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


принудительное применение Schema

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

Заметка

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

принуждение Schema для операций insert

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

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

Заметка

Azure Databricks пытается безопасно привести типы данных column, чтобы соответствовать целевому table.

проверка Schema во время операций MERGE

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

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

Измените tableschema

Можно выполнить updateschematable, используя либо явные операторы ALTER TABLE, либо автоматическую эволюцию schema. См. Update Delta Lake tableschema.

Schema эволюция имеет особую семантику для операций MERGE. Смотрите автоматической schema эволюции для Delta Lake Merge.