共用方式為


架構強制執行

Azure Databricks 藉由強制執行寫入架構來驗證數據品質。

注意

本文說明由 Delta Lake 支援的 Azure Databricks 上數據表的預設行為。 架構強制執行不適用於外部數據所支持的數據表。

插入作業的架構強制執行

將數據插入資料表時,Azure Databricks 會強制執行下列規則:

  • 所有插入的數據行都必須存在於目標數據表中。
  • 所有數據行數據類型都必須符合目標數據表中的數據行數據類型。

注意

Azure Databricks 會嘗試安全地轉換欄位資料類型,以符合目標資料表。

MERGE 作業期間的架構驗證

Azure Databricks 會在插入或更新數據作為 MERGE 作業的一部分時,強制執行下列規則:

  • 如果 source 語句中的數據類型不符合目標數據行,MERGE 嘗試安全地轉換數據行數據類型以符合目標數據表。
  • UPDATEINSERT 動作的目標數據行必須存在於目標數據表中。
  • 使用 INSERT *UPDATE SET * 語法時:
    • 不會出現在目標表中的源數據集的欄將被忽略。
    • 源數據集必須具有目標數據表中的所有數據行。

修改數據表架構

您可以使用明確的 ALTER TABLE 語句或自動演進架構來更新資料表的架構。 請參閱 更新 Delta Lake 資料表架構

架構演進在 MERGE 作業中具有特殊語義。 請參閱 Delta Lake merge的自動架構演進。