Teilen über


Schemaerzwingung

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

Anmerkung

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.

Anmerkung

Azure Databricks versucht, Spaltendatentypen sicher umzuwandeln, damit sie zur Zieltabelle passen.

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 Quell-Anweisung nicht mit der Zielspalte übereinstimmt, versucht MERGE, Spaltendatentypen sicher zu umwandeln, um der Zieltabelle zu entsprechen.
  • Die Spalten, die das Ziel einer UPDATE- oder INSERT-Aktion sind, müssen in der Zieltabelle vorhanden sein.
  • Bei Verwendung der Syntax INSERT * oder UPDATE SET *:
    • Spalten im Quelldatensatz, die in der Zieltabelle nicht vorhanden sind, werden ignoriert.
    • Das Quell-Dataset muss alle Spalten in der Zieltabelle enthalten.

Ändern eines Tabellenschemas

Sie können das Schema einer Tabelle entweder mithilfe expliziter ALTER TABLE Anweisungen oder der automatischen Schemaentwicklung aktualisieren. Weitere Informationen finden Sie unter Aktualisieren eines Delta Lake-Tabellenschemas.

Schemaentwicklung hat spezielle semantische Bedeutungen für MERGE-Vorgänge. Weitere Informationen finden Sie unter Automatische Schemaentwicklung für Delta Lake-Merges.