1.报错现象
外部分区表重新建立后,查询不到数据,hdfs对应的目录是数据的
执行 MSCK REPAIR TABLE crumb.dwd_t_std_crumb_event_process;
修复元数据时,报错
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
2.报错原因
从 Hive 1.3 开始,如果在 HDFS 上找到分区值中包含不允许字符的目录,MSCK 命令将抛出异常,可以在客户端使用hive.msck.path.validation来避免该错误,其参数值"skip"将跳过这些非法目录,其参数值"ignore"会尝试创建分区,这个值可能不会生效。
3.报错解决
设置参数后再次执行后OK
set hive.msck.path.validation=ignore;