修改表结构
Iceberg支持使用ALTER TABLE命令对表结构进行修改。在Apache Spark 3中,Iceberg有完整的ALTER TABLE支持,包括:
- (1) 重命名表。
- (2) 设置或删除表属性。
- (3) 添加、删除和重命名列。
- (4) 添加、删除和重命名嵌套字段。
- (5) 重新排序顶级列和嵌套的struct字段。
- (6) 扩大int、float和decimal字段的类型。
- (7) 使必需列为可选列。
此外,可以使用SQL扩展来添加对分区演化和设置表的写顺序的支持。不过需要特别注意的是,ALTER TABLE不能够修改Hadoop表,也就是说,在HadoopCatalog类型的catalog中创建的表,不能使用ALTER TABLE命令,只有HiveCatalog类型的catalog中创建的表才支持ALTER TABLE。
为了演示ALTER TABLE命令的使用,先配置一个名为hive_prod的HiveCatalog类型的catalog。在Zeppelin Notebook中指定配置(如果是使用spark-shell,请参考11.2.1节),代码如下:
%spark.conf spark.jars.packages iceberg-spark-runtime-3.1_2.12:0.13.1 spark.sql.extensions org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions spar ............
抱歉,只有登录会员才可浏览!会员登录