Vynucování schématu
Azure Databricks ověřuje kvalitu dat vynucením schématu při zápisu.
Poznámka:
Tento článek popisuje výchozí chování tabulek v Azure Databricks, které jsou založeny na Delta Lake. Vynucení schématu se nevztahuje na tabulky zálohované externími daty.
Vynucení schématu pro operace vložení
Azure Databricks při vkládání dat do tabulky vynucuje následující pravidla:
- Všechny vložené sloupce musí existovat v cílové tabulce.
- Všechny datové typy sloupců musí odpovídat datovým typům sloupců v cílové tabulce.
Poznámka:
Azure Databricks se pokouší bezpečně přetypovat datové typy sloupců tak, aby odpovídaly cílové tabulce.
Ověřování schématu během MERGE
operací
Azure Databricks vynucuje při vkládání nebo aktualizaci dat v rámci MERGE
operace následující pravidla:
- Pokud datový typ ve zdrojovém příkazu neodpovídá cílovému sloupci, pokusí se bezpečně přetypovat datové typy sloupců tak,
MERGE
aby odpovídaly cílové tabulce. - Sloupce, které jsou cílem akce
UPDATE
,INSERT
musí existovat v cílové tabulce. - Při použití
INSERT *
neboUPDATE SET *
syntaxi:- Sloupce ve zdrojové datové sadě, které nejsou v cílové tabulce, se ignorují.
- Zdrojová datová sada musí obsahovat všechny sloupce v cílové tabulce.
Úprava schématu tabulky
Schéma tabulky můžete aktualizovat pomocí explicitních ALTER TABLE
příkazů nebo automatického vývoje schématu. Viz aktualizace schématu tabulky Delta Lake.
Vývoj schématu má speciální sémantiku pro MERGE
operace. Viz Automatický vývoj schématu pro sloučení Delta Lake.