하이브는 0.8.0 버전부터 가상칼럼을 제공한다.
- INPUT__FILE__NAME: 파일명
- BLOCK__OFFSET__INSIDE__FILE: 파일에서의 offset
이는 다음과 같이 사용하면 된다.
SELECT INPUT__FILE__NAME,
BLOCK__OFFSET__INSIDE__FILE,
column1,
column2
FROM table;
가상칼럼을 이용하여 하이브 테이블엥 로드된 파일의 이름을 알 수 있다.
AWS는 S3에서의 하이브 delete 명령은 아직 지원하고 있지 않기 때문에,
잘 못 입력된 내용을 지우고 싶다면 가상컬럼을 이용하여 파일을 확인하고,
오프셋을 이용하여 위치를 확인한 후 개별적으로 지워야 한다.
반응형
'빅데이터 > hive' 카테고리의 다른 글
[hive][error] MetaException(message:Metastore contains multiple versions) 처리 (0) | 2016.10.07 |
---|---|
[hive][EMR] EMR의 하이브 작업이 쓴 파일 확인하기 (0) | 2016.09.30 |
[하이브] 매니지드 테이블과 익스터널 테이블 변경하기 (0) | 2016.09.23 |
[hive] skewed 테이블 (0) | 2016.09.12 |
[hadoop][hive] 리듀서 개수 조절하는 순서 (0) | 2016.09.06 |