Dela via


Genomdrivande av schema

Azure Databricks validerar datakvaliteten genom att framtvinga schema vid skrivning.

Not

I den här artikeln beskrivs standardbeteendet för tabeller i Azure Databricks, som backas upp av Delta Lake. Schemaframtvingande gäller inte för tabeller som backas upp av externa data.

Schema-tillämpning för infogningsoperationer

Azure Databricks tillämpar följande regler när data infogas i en tabell:

  • Alla infogade kolumner måste finnas i måltabellen.
  • Alla kolumndatatyper måste matcha kolumndatatyperna i måltabellen.

Not

Azure Databricks försöker på ett säkert sätt omvandla kolumndatatyper så att de matchar måltabellen.

Schemaverifiering vid MERGE-åtgärder

Azure Databricks tillämpar följande regler när du infogar eller uppdaterar data som en del av en MERGE åtgärd:

  • Om datatypen i källutsatsen inte matchar målkolumnen försöker MERGE på ett säkert sätt omvandla kolumndatatyper så att de matchar måltabellen.
  • Kolumnerna som är mål för en UPDATE eller INSERT åtgärd måste finnas i måltabellen.
  • När du använder INSERT * eller UPDATE SET * syntax:
    • Kolumner i källdatauppsättningen som inte finns i måltabellen ignoreras.
    • Källdatauppsättningen måste ha alla kolumner som finns i måltabellen.

Ändra ett tabellschema

Du kan uppdatera schemat för en tabell med antingen explicita ALTER TABLE-instruktioner eller automatisk schemautveckling. Se Uppdatera Delta Lake-tabellschemat.

Schemautvecklingen har särskild semantik för MERGE operationer. Se Automatisk schemautveckling för Delta Lake-sammanslagning.