6
다음으로 하이브 테이블에 파티션을 생성하려고
: 다음과 같은 출력을 생성SemanticException 추가 partiton 하이브 테이블
> alter table stock_ticker add if not exists
> partition(stock_symbol='ASP')
> location 'data/stock_ticker_sample/stock_symbol=ASP/'
FAILED : SemanticException table is not partitioned but partition spec exists: {stock_symbol=ASP}
이 이전에이 테이블에 파티션이 없습니다 추가 시도
> show partitions stock_ticker;
이 결과는
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.
Table stock_ticker_sample is not a partitioned table
stock_symbol 열이 존재하며 string 유형 인 것은 문제가되지 않습니다.
이 파티션을 추가하기 위해 쿼리를 수행해야합니까?
외부 테이블에서 분할을 수행해야합니다. – eddyoc
아니요,이 파티션의 기존 위치를 지정하여 관리하기 쉬운 테이블로 만들면 삭제시 원본 데이터가 위태롭게 될 수 있습니다. – www
내 내부 테이블의 위치를 가리키는 외부 테이블에서 파티션 작업이 성공하면이를 수행한다는 의미입니다. 내부 테이블에서의 파티셔닝은 그 자체로 가능하지 않습니다. – eddyoc