更改增量表中列的数据类型
Posted
技术标签:
【中文标题】更改增量表中列的数据类型【英文标题】:Change the datatype of a column in delta table 【发布时间】:2021-05-31 06:59:40 【问题描述】:是否有一个 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'
【问题讨论】:
你得到什么错误? @AlexOtt,在问题中添加了错误消息。 你有什么想法或参考为什么它不起作用? 【参考方案1】:没有更改列的数据类型或删除列的选项。您可以读取datafame中的数据,修改数据类型,并在withColumn()和drop()的帮助下覆盖表格。
【讨论】:
如果表非常大,需要额外的时间和计算,还有哪些其他选择?以上是关于更改增量表中列的数据类型的主要内容,如果未能解决你的问题,请参考以下文章
Toad 问题:Oracle 类型作为显示所有记录的表中列的数据类型