带有镶木地板数据格式的蜂巢表重新排序列

时间:2017-05-19 18:04:55

标签: hive hiveql

我们正在使用配置单元1.1.0,需要为具有100列的巨大表之一重新排序列以便用户可读。但是当我们对表中的列重新排序时,它会失败并出现以下错误。

重新排序列的替代方法是在表上创建视图。

%matplotlib nbagg

2 个答案:

答案 0 :(得分:0)

ALTER TABLE ... REPLACE COLUMNS适用于元数据级别(Metastore) 新列顺序与实际数据不匹配 对于镶木地板,您会得到一个例外,对于textfile,您将获得NULL值 您应该使用您的替代解决方案 - 使用视图。

答案 1 :(得分:0)

这篇文章有点老了,但是,我认为如果有类似的问题,它将使其他人受益!

您可以尝试下面的更改列方法:

ALTER TABLE test_parquet CHANGE COLUMN age age int FIRST;会将列移动到第一列,否则,如果要在特定列之后重新排序,则下面的方法会有所帮助:

ALTER TABLE test_parquet CHANGE COLUMN name name string AFTER age;