hive에서 json포맷 기반으로 데이터 가져오기 위한 설정
IT기술/hadoop family2021. 1. 16. 00:30
2020-02-26 작성
우리 랩에서는 보통 데이터 포맷으로 parquet을 사용한다.
hive에서도 데이터를 가져올 때 parquet 포맷으로 가져오는데, 그 때는 hive 테이블 포맷이 다음과 같다.
ROW FORMAT SERDE
‘org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe’
STORED AS INPUTFORMAT
‘org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat’
OUTPUTFORMAT
‘org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat’
그런데 json 파일 포맷을 hive에서 사용하고 싶다는 요청이 왔다. 설정 적용은 생각보다 어렵지 않다. hive hcatalog 라이브러리(hive-hcatalog-core-1.1.0-cdh5.8.0.jar)를 cloudera hive 라이브러리 디렉토리에 넣고 hive-site.xml에 추가해주면 된다.
<property>
<name>hive.aux.jars.path</name>
<value>[jar파일이 있는 디렉토리 경로]</value>
</property>
클라우데라 설정은 다음과 같다.
나의 경우는 hive hcatalog가 이미 설치가 돼있고, /opt/cloudera/parcels/CDH/jars 디렉토리에 라이브러리가 있었다. 설정 후 hive 관련 서비스를 재시작해주면 된다. 그리고 hive에서 json 포맷이 잘 불러와지는지 확인하면 된다.
ROW FORMAT SERDE
‘org.apache.hive.hcatalog.data.JsonSerDe’
STORED AS INPUTFORMAT
‘org.apache.hadoop.mapred.TextInputFormat’
OUTPUTFORMAT
‘org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat’
'IT기술 > hadoop family' 카테고리의 다른 글
zeppelin cron module (0) | 2021.01.17 |
---|---|
Hive Authorization Configuration 권한 설정 (0) | 2021.01.17 |
apache zeppelin 설치하고 hadoop kerberos 연동하기 (0) | 2021.01.15 |
hadoop security distcp 시 SIMPLE authentication error(distcp hadoop secure insecure) (0) | 2021.01.15 |
zeppelin에 jdbc interpreter 설정하기(apache hive 기준) (0) | 2021.01.15 |
댓글()