gpt4 book ai didi

hadoop - hive -替换ORC表中的列

转载 作者:行者123 更新时间:2023-12-02 20:48:39 25 4
gpt4 key购买 nike

我有一个配置单元表保存在ORC文件中,这是“创建”命令中的定义:

ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'

我想从末尾删除一列,所以我尝试了“Alter Table-Replace Columns”命令,在该命令中我没有写列名-但出现了以下错误: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Replacing columns cannot drop columns for table default.table. SerDe may be incompatible
有没有办法替换Hive中ORC表中的列?
Google在这个问题上使我失败了...。

谢谢!

最佳答案

根据配置单元教程,REPLACE COLUMNS命令只能对具有本地SerDe(DynamicSerDe,MetadataTypedColumnsetSerDe,LazySimpleSerDe和ColumnarSerDe)的表执行。

所以对于你来说
用必填列创建一个新表。
从旧表插入新表。
将旧表重命名为其他表。
将新表重命名为旧表。

谢谢。

关于hadoop - hive -替换ORC表中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46872607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com