HDINSIGHT配置单元,MSCK REPAIR TABLE table_name抛出错误
发布时间:2020-12-14 05:12:31 所属栏目:大数据 来源:网络整理
导读:我有一个名为employee with partition(年,月,日)的外部分区表,每天都会有一个新文件来到特定日期的位置调用,今天的日期将在2016/10/13. TABLE SCHEMA:create External table employee(EMPID Int,FirstName String,.....)partitioned by (year string,month s
我有一个名为employee with partition(年,月,日)的外部分区表,每天都会有一个新文件来到特定日期的位置调用,今天的日期将在2016/10/13.
TABLE SCHEMA: create External table employee(EMPID Int,FirstName String,.....) partitioned by (year string,month string,day string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n' LOCATION '/.../emp'; 所以我们每天都需要运行工作正常的命令 ALTER TABLE employee ADD IF NOT EXISTS PARTITION (year=2016,month=10,day=14) LOCATION '/.../emp/2016/10/14'; 但是一旦我们尝试使用下面的命令,因为我们不想手动执行上面的alter table命令,它会抛出Error hive> MSCK REPAIR TABLE employee; FAILED: Execution Error,return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask 注意: hive> MSCK TABLE employee; //this show me that a partition has not added in the table OK Partitions not in metastore: employee:2016/10/14 Time taken: 1.066 seconds,Fetched: 1 row(s) 请帮助我,因为我坚持这一点.我们对这种情况有什么解决方法吗? 解决方法
我为我的问题找到了一个解决方案,如果表静态分区名称是’year = 2016 / month = 10 / day = 13’那么我们可以使用下面的命令,它正在工作……
set hive.msck.path.validation=ignore; MSCK REPAIR TABLE table_name; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |