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
- oderINSERT
-Aktion sind, müssen in der Zieltabelle vorhanden sein. - Bei Verwendung der Syntax
INSERT *
oderUPDATE 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.