Sdílet prostřednictvím


Vynucení 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 operací MERGE

Azure Databricks vynucuje při vkládání nebo aktualizaci dat v rámci operace MERGE následující pravidla:

  • Pokud datový typ ve zdrojovém příkazu neodpovídá cílovému sloupci, MERGE se pokusí bezpečně přetypovat datové typy sloupců tak, aby odpovídaly cílové tabulce.
  • Sloupce, které jsou cílem UPDATE nebo INSERT akce, musí existovat v cílové tabulce.
  • Při použití syntaxe INSERT * nebo UPDATE SET *:
    • 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 příkazů ALTER TABLE nebo automatického vývoje schématu. Viz Aktualizace schématu tabulky Delta Lake.

Vývoj schématu má speciální sémantiku pro operace MERGE. Viz Automatický vývoj schématu pro slučování Delta Lake.