目录
问题描述:
表结构:
删除字段c执行语句:
报错:
定位原因:
解决方法:
问题描述:
一张hive表,想删除某一字段,执行后报错。
表结构:
CREATE TABLE table_name(
a STRING COMMENT '哈哈', b BIGINT COMMENT '嘻嘻', c STRING COMMENT 'c' )
删除字段c执行语句:
alter table table_name replace columns(a STRING, b BIGINT) ;
报错:
Error while compiling statement: FAILED: Execution Error, return code 10313 from org.apache.hadoop.hive.ql.ddl.DDLTask. Replacing columns cannot drop columns for table . SerDe may be incompatible
定位原因:
内部表默认存储格式为orc,不支持删除。如果是textfile格式的话,replace写法是可以删除的。
解决方法:
将存储格式修改为textfile。
执行到这里发现又死循环了,orc不能转成text 55555555,解决方法参考上一篇吧