Hadoop 配置单元无法更改已分区的ORC表、替换列(删除列)

Hadoop 配置单元无法更改已分区的ORC表、替换列(删除列),hadoop,hive,hql,orc,Hadoop,Hive,Hql,Orc,尝试使用配置单元替换列(删除多个列),使用下面的命令,收到错误消息(如下)。表是外部的、分区的、ORC ALTER TABLE D.T REPLACE COLUMNS ( list of columns to keep ) ; 错误 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Replacing columns cannot drop columns for table

尝试使用配置单元替换列(删除多个列),使用下面的命令,收到错误消息(如下)。表是外部的、分区的、ORC

ALTER TABLE D.T REPLACE COLUMNS ( list of columns to keep ) ;
错误

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Replacing columns cannot drop columns for table sandbox6.alc_ont_oe_order_headers_all. SerDe may be incompatible
这个问题表明上述方法应该有效

这个问题也说明了同样的问题,但用户报告了与我类似的问题,

我是做错了什么,还是只需要复制到新表?

(配置单元版本为2.5.3.0)

可能与权限有关,您的用户没有执行该操作的权限?错误消息并不表示权限,但这可能只是错误消息的错误选择。如何确定哪些用户具有必要的权限?也不确定这是否是用户权限。尝试下面介绍的一些命令: