메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


hive json serde사용법

총관리자 2014.04.17 14:07 조회 수 : 4751

1. hive-json-serde-0.2.jar다운로드 한다.

 -> https://code.google.com/p/hive-json-serde/downloads/list

 

2. hive의 lib 디렉토리로 옮긴다.

cp hive-json-serde-0.2.jar.jar /home/hadoop/hive/lib/hive-json-serde-0.2.jar

 

3. data준비(Test.json)

{"field1":"data1","field2":100,"field3":"more data1","field4":123.001}
{"field1":"data2","field2":200,"field3":"more data2","field4":123.002}
{"field1":"data3","field2":300,"field3":"more data3","field4":123.003}
{"field1":"data4","field2":400,"field3":"more data4","field4":123.004}

4.  hive shell에서 jar파일등록

hive> add jar /home/hadoop/hive/lib/hive-json-serde-0.2.jar;
Added /home/hadoop/hive/lib/hive-json-serde-0.2.jar to class path
Added resource: /home/hadoop/hive/lib/hive-json-serde-0.2.jar

5. json serde를 사용하는 table생성

hive> create table my_table(field1 string, field2 int, field3 string, field4 double)
    > row format serde 'org.apache.hadoop.hive.contrib.serde2.JsonSerde';

 

6. data load

hive> load data local inpath '/home/hadoop/hadoop/working/Test.json' into table my_table;
Copying data from file:/home/hadoop/hadoop/working/Test.json
Copying file: file:/home/hadoop/hadoop/working/Test.json
Loading data to table default.my_table
Table default.my_table stats: [num_partitions: 0, num_files: 1, num_rows: 0, total_size: 287, raw_data_size: 0]

7.  my_table조회

hive> select * from my_table;
OK
field1 field2 field3 field4
data1 100 more data1 123.001
data2 200 more data2 123.002
data3 300 more data3 123.003
data4 400 more data4 123.004
Time taken: 0.188 seconds, Fetched: 4 row(s)



 

번호 제목 날짜 조회 수
49 import 혹은 export할때 hive파일의 default 구분자는 --input-fields-terminated-by "x01"와 같이 지정해야함 2014.05.20 6821
48 hive에서 insert overwrite directory.. 로 하면 default column구분자는 'SOH'혹은 't'가 됨 2014.05.20 3692
47 source의 type을 spooldir로 하는 경우 해당 경로에 파일이 들어오면 파일단위로 전송함 2014.05.20 4536
46 특정파일이 생성되어야 action이 실행되는 oozie job만들기(coordinator.xml) 2014.05.20 8051
45 dual table만들기 2014.05.16 4340
44 sqoop에서 oracle관련 작업할때 테이블명, 사용자명, DB명은 모두 대문자로 사용할것 2014.05.15 4176
43 sqoop export/import등을 할때 driver를 못찾는 오류가 발생하면... 2014.05.15 4603
42 oozie가 말하는 start시간은..서버에서 확인되는 시간이 아닙니다. 2014.05.14 4663
41 insert hbase by hive ... error occured after 5 hours..HMaster가 뜨지 않는 장애에 대한 복구 방법 2014.04.29 10106
40 index생성, 삭제, 활용 2014.04.25 4828
39 hbase shell에서 컬럼값 검색하기(SingleColumnValueFilter이용) 2014.04.25 5287
38 unique한 값 생성 2014.04.25 4859
37 sequence한 번호 생성방법 2014.04.25 4928
36 sqoop 1.4.4 설치및 테스트 2014.04.21 5616
35 oozie에서 share lib설정시 action type별로 구분하여 넣을것 2014.04.18 4963
» json serde사용법 2014.04.17 4751
33 json 값 다루기 2014.04.17 4651
32 column family삭제시 Column family 'delete' does not exist오류 발생하는 경우 2014.04.14 4658
31 hive에서 생성된 external table에서 hbase의 table에 값 insert하기 2014.04.11 4719
30 Oozie 설치, 환경설정 및 테스트 2014.04.08 4687
위로