내가 아마존의 엘라스틱 맵리 듀스 사용하고 분할 된 기존에서 새 테이블을 만들고 난 하이브 테이블과 같이 하루 폴더의 로그 아마존 S3에 저장된 파일 및 분할의 시리즈를 기반으로 만든이 :하이브 표
- 데이터/일 = 2011-09-01/log_file.tsv
- 데이터/일 = 2011-09-02/log_file.tsv
이러한 로그 파일에서 원치 않는 활동을하지만이 작업을 수행하는 방법을 알아낼 수 없으며 다음과 같은 오류가 계속 발생합니다.
FAILED: Error in semantic analysis: need to specify partition columns because the destination table is partitioned.
내 초기 테이블을 작성하는 경우 문은 다음과 같은 : 초기 테이블이 잘 작동하고 나는 아무런 문제를 조회 할 수있었습니다
CREATE EXTERNAL TABLE IF NOT EXISTS table1 (
... fields ...
)
PARTITIONED BY (DAY STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION 's3://bucketname/data/';
있다.
이전의 구조를 공유하지만 단순히 데이터를 필터링하는 새 테이블을 어떻게 작성해야합니까? 이것은 효과가없는 것 같습니다. 제가 위에서 언급 한 바와 같이
CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE table1;
FROM table1
INSERT OVERWRITE TABLE table2
SELECT * WHERE
col1 = '%somecriteria%' AND
more criteria...
;
,이 반환
FAILED: Error in semantic analysis: need to specify partition columns because the destination table is partitioned.
감사합니다!