Hive增加字段casecade报“Error while compiling statement: FAILED: NullPointerException null”
最近在使用hive做数仓开发遇到各种坑,使用casecade为了刷新旧分区数据(
cascade的中文翻译为“级联”,也就是不仅变更新分区的表结构(metadata),同时也变更旧分区的表结构 )
例如用下面的语句
ALTER TABLE plaintiff_info ADD COLUMNS(test3 STRING ) CASCADE
就遇到下面的错误:Error while compiling statement: FAILED: NullPointerException null
因为之前这样增加字段并刷新历史数据成功过,怀疑过字段为空等,各种怀疑和尝试,最后发现之前成功的是手动创建分区表,失败的是非分区表。 非分区表再添加字段时不能加CASCADE
。
分区表,指创建时有
PARTITIONED BY (
dt
string)
或者使用spark SQL创建带有 partitionBy(“year”)