3
파티션 (년, 월, 일)이있는 employee라는 외부 파티션 테이블이 있으며, 매일 새 파일이 들어 와서 특정 날짜 위치에 자리 잡으면 오늘 날짜로 걸립니다. 2016/10/13. 우리가 수동으로 위의 테이블 변경 명령을 실행하지 않기 때문에 우리가 명령 아래로하려고하면HDINSIGHT 하이브, MSCK REPAIR TABLE table_name throwing error
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';
으로 잘 작동 명령을 실행해야하지만, 오류 아래가 발생
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)
,536,
나는 이것으로 붙어서 도와주세요. 이런 유형의 상황에 대한 해결 방법이 있습니까?
파티션 이름이 'year = 2016/month = 10/day = 13'과 같은 경우 내 문제의 해결 방법을 얻었습니다. 그러면 아래 명령을 사용하여 작동 중입니다 ... set hive.msck.path.validation = ignore; MSCK REPAIR TABLE table_name; – anand