使用Delta Lake列映射重命名和删除列
预览
此功能已在公共预览.
Databricks支持Delta Lake表的列映射,它允许只对元数据进行更改,将列标记为已删除或重命名,而无需重写数据文件。它还允许用户使用Parquet不允许的字符(如空格)命名Delta表列,这样用户就可以直接将CSV或JSON数据输入Delta,而不需要由于之前的字符限制而重命名列。
重要的
在表上启用列映射可能会中断依赖Delta更改数据提要的下游操作。看到更改启用列映射的表的数据提要限制.
如何启用三角洲湖列映射
重要的
为表启用列映射将升级Delta表版本.本次协议升级是不可逆的。启用了列映射的表只能在Databricks Runtime 10.2及以上版本中读取。
列映射需要以下Delta协议:
阅读器版本2或以上。
作者版本5或以上。
对于具有所需协议版本的Delta表,可以通过设置启用列映射delta.columnMapping.mode
来的名字
.
可以使用以下命令升级表版本并启用列映射:
改变表格<table_name>集TBLPROPERTIES(“delta.minReaderVersion”=' 2 ',“delta.minWriterVersion”=“5”,“delta.columnMapping.mode”=“名字”)
请注意
在启用列映射后,无法关闭它。如果你试着设置“delta.columnMapping.mode”=“没有”
,你会得到一个错误。
重命名列
请注意
在Databricks Runtime 10.2及以上版本中可用。
当Delta表启用列映射时,可以重命名列:
改变表格<table_name>重命名列old_col_name来new_col_name
有关更多示例,请参见更新Delta Lake表模式.
删除列
请注意
在Databricks Runtime 11.0及以上版本中可用。
当Delta表启用列映射时,可以删除一个或多个列:
改变表格table_name下降列col_name改变表格table_name下降列(col_name_1,col_name_2,…)
详情请参见更新Delta Lake表模式.