三角洲列映射

預覽

此功能已在公共預覽

Delta Lake支持列映射,這允許Delta表列和相應的Parquet列使用不同的名稱。列映射支持Delta模式演化操作,例如重命名不需要重寫底層的Parquet文件。它還允許用戶使用Parquet不允許的字符(如空格)來命名Delta表列,這樣用戶就可以直接將CSV或JSON數據吸收到Delta中,而不需要由於以前的字符限製而重命名列。

需求

  • Databricks Runtime 10.2或以上版本。

  • 列映射需要Delta表版本成為讀者版本2,作家版本5。對於具有所需表版本的Delta表,可以通過設置啟用列映射delta.columnMappingMode的名字.您可以升級表版本並通過使用單個改變表格命令:

    改變表格<table_name>TBLPROPERTIES“delta.minReaderVersion”' 2 '“delta.minWriterVersion”“5”“delta.columnMapping.mode”“名字”

    請注意

    在表中設置了這些屬性之後,您隻能通過使用Databricks Runtime 10.2及以上版本對這個Delta表進行讀寫。

列名中支持的字符

當為Delta表啟用列映射時,可以在表的列名中包含空格以及以下任意字符:, {} () \ n \ t =

重命名一個列

當Delta表啟用列映射時,可以重命名列:

改變表格<table_name>重命名old_col_namenew_col_name

有關更多示例,請參見重命名列

刪除列

當為Delta表啟用列映射時,可以刪除一個或多個列:

改變表格table_name下降col_name改變表格table_name下降col_name_1col_name_2…)

有關更多細節,請參見刪除列