Принудительное применение схем
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.