首页 > 解决方案 > 更改增量表中列的数据类型

问题描述

是否有一个 SQL 命令可以轻松用于更改 Delta 表中现有列的数据类型。我需要将列数据类型从 BIGINT 更改为 STRING。下面是我正在尝试使用但没有运气的 SQL 命令。

%sql ALTER TABLE [TABLE_NAME] ALTER COLUMN [COLUMN_NAME] STRING

我得到的错误:

org.apache.spark.sql.AnalysisException
ALTER TABLE CHANGE COLUMN is not supported for changing column 'bam_user' with type 
'IntegerType' to 'bam_user' with type 'StringType'

标签: apache-sparkapache-spark-sqldelta-lake

解决方案


没有更改列的数据类型或删除列的选项。您可以读取 datafame 中的数据,修改数据类型,并借助 withColumn() 和 drop() 并覆盖表。


推荐阅读