Freigeben über


Schemaerzwingung

Azure Databricks überprüft die Datenqualität durch Erzwingen des Schemas beim Schreiben.

Hinweis

In diesem Artikel wird das Standardverhalten für Tabellen in Azure Databricks beschrieben, die von Delta Lake unterstützt werden. Die Schemaerzwingung gilt nicht für Tabellen, die von externen Daten unterstützt werden.

Schemaerzwingung für Einfügevorgänge

Azure Databricks erzwingt beim Einfügen von Daten in eine Tabelle die folgenden Regeln:

  • Alle eingefügten Spalten müssen in der Zieltabelle vorhanden sein.
  • Alle Spaltendatentypen müssen mit den Spaltendatentypen in der Zieltabelle übereinstimmen.

Hinweis

Azure Databricks versucht, Spaltendatentypen sicher umzuwandeln, damit sie der Zieltabelle entsprechen.

Schemaüberprüfung während MERGE-Vorgängen

Azure Databricks erzwingt beim Einfügen oder Aktualisieren von Daten im Rahmen eines MERGE-Vorgangs die folgenden Regeln:

  • Wenn der Datentyp in der Quellanweisung nicht mit der Zielspalte übereinstimmt, versucht MERGE, Spaltendatentypen sicher umzuwandeln, damit sie der Zieltabelle entsprechen.
  • Die Spalten, die das Ziel einer UPDATE-Aktion oder INSERT-Aktion sind, müssen in der Zieltabelle vorhanden sein.
  • Bei Verwendung der INSERT *- oder UPDATE SET *-Syntax:
    • Spalten im Quelldataset, die in der Zieltabelle nicht vorhanden sind, werden ignoriert.
    • Das Quelldataset muss alle Spalten aus der Zieltabelle enthalten.

Ändern eines Tabellenschemas

Sie können das Schema einer Tabelle mit expliziten ALTER TABLE-Anweisungen oder der automatischen Schemaentwicklung aktualisieren. Siehe Aktualisieren eines Delta Lake-Tabellenschemas.

Bei der Schemaentwicklung gilt eine spezielle Semantik für MERGE-Vorgänge. Weitere Informationen finden Sie unter Automatische Schemaentwicklung für Delta Lake-Merge.