Udostępnij za pośrednictwem


egzekwowanie Schema

Usługa Azure Databricks weryfikuje jakość danych, wymuszając schema podczas zapisie.

Notatka

W tym artykule opisano domyślne zachowanie tables w usłudze Azure Databricks, które są obsługiwane przez usługę Delta Lake. Schema wymuszanie nie ma zastosowania do tables wspieranych przez dane zewnętrzne.

egzekwowanie Schema dla operacji insert

Azure Databricks stosuje następujące reguły przy wstawianiu danych do table:

  • Wszystkie wstawione columns muszą istnieć w docelowym table.
  • Wszystkie typy danych column muszą być zgodne z typami danych column w docelowym table.

Notatka

Usługa Azure Databricks próbuje bezpiecznie rzutować column typy danych w celu dopasowania ich do docelowego table.

sprawdzanie poprawności Schema podczas operacji MERGE

Usługa Azure Databricks wymusza następujące reguły podczas wstawiania lub aktualizowania danych w ramach operacji MERGE:

  • Jeśli typ danych w instrukcji źródłowej nie jest zgodny z typem docelowym column, MERGE próbuje bezpiecznie rzutować typy danych column, aby dopasować je do docelowego typu table.
  • columns, które są celem akcji UPDATE lub INSERT, muszą istnieć w docelowym table.
  • W przypadku używania składni INSERT * lub UPDATE SET *:
    • Elementy Columns w zestawie danych źródłowych, które nie występują w table docelowym, są ignorowane.
    • Źródłowy zestaw danych musi zawierać wszystkie columns obecne w tabledocelowej .

Zmień tableschema

Możesz updateschema dla table, używając albo jawnych instrukcji ALTER TABLE, albo automatycznej ewolucji schema. Zobacz Update Delta Lake tableschema.

Schema ewolucja ma specjalną semantykę dla operacji MERGE. Zobacz Automatyczna ewolucja schema dotyczące scalania w Delta Lake.