hive.aux.jars.path에 해당하는 글 1

hive에서 json포맷 기반으로 데이터 가져오기 위한 설정

IT기술/hadoop family|2021. 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’

댓글()