본문 바로가기

hive

Hive Serde 만들기 3 앞서 만든 deserialize 메소드를 테스트 해보겠습니다.1. 샘플데이터 만들기샘플데이터는 Mysql의 sakila를 활용해서 만들어 보도록 하겠습니다.skila download http://dev.mysql.com/doc/index-other.htmlSELECT concat(X.customer_id, '|', X.first_name, '|', X.last_name, '|', x.rental, '|', Y.rental_sum, '|', Z.address) AS DAT from ( select A.customer_id, A.first_name, A.last_name, A.address_id, group_concat(D.title) as rental from customer A, rental B, inv.. 더보기
Hive Serde 만들기 2 Hive에서 HDFS에 있는 파일을 읽어 오는데 사용하는 deserialize 메소드를 구현해보겠습니다.Serde를 구현하는데 있어 중요한 점은 Hive의 Complex Data Type(Array, Map, Struct)을 처리하는데 있습니다. 기본적인 Primitive 타입은 해당 데이터 타입에 맞춰 deserialize 에서 읽어들인 값을 형변환만 하면 되는데 Complex 데이터 타입의 경우에는 데이터 타입이 반복이 되는 경우가 있어 재귀함수로 구현해야 합니다.예를 들면 Array 타입의 속성에는 Hive의 어떤 데이터 타입도 넣을 수 있는데 Array 극단적으로 Array 안에 계속적으로 Array를 선언 할 수 있기 때문에 이 부분을 고려해야 합니다.뭐든지 그렇지만 처음에는 이게 뭔소리야 싶지.. 더보기
Hive Serde 만들기 1 Serde?? Serde는 "Serializer와 Deserializer"의 줄임말 Hive는 데이터를 읽고 쓸때 Serde를 활용함. HDFS files --> InputFileFormat --> --> Deserializer --> Row object Row object --> Serializer --> --> OutputFileFormat --> HDFS files 출처 : https://cwiki.apache.org/confluence/display/Hive/DeveloperGuide#DeveloperGuide-HiveSerDe Serde Template 클라우데라에서 만든 Serde Template 붉은색으로 표시된 부분이 Seriallizer, Deserializer. package org.s.. 더보기