[hive][스크랩] hive orc 예제
ORC는 칼럼 기반의 파일 저장방식으로, hive에 적용하면 성능을 개선할 수 있다. 사용방법은 다음과 같이 STORED AS를 ORC로 선언해주면 된다. 그리고 TBLPROPERTIES에 설정정보를 입력할 수 있다. CREATE TABLE table1( col1 string, col2 string, col3 string, col4 string)STORED AS ORCTBLPROPERTIES ("orc.compress"="ZLIB","orc.compress.size"="262144","orc.create.index"="true","orc.stripe.size"="268435456","orc.row.index.stride"="3000","orc.bloom.filter.columns"="col1,col2")..
2018. 4. 20.
[hive] hive에서 함수용 테스트 array, map 데이터 생성하는 법
hive의 함수를 테스트할 때 array, map, json 문자열을 이용하여 값을 테스트 해야 하는 경우가 있다. 이럴때 임시로 문자열을 이용하여 데이터를 생성하고 테스트하면 편리하다. 다음과 같이 사용한다. select array(1,2,3)[2]; select array("a","b","c")[1]; select str_to_map("key1:value1,key2:value2", ",", ":")['key2']; SELECT get_json_object('{"store": {"fruit":\[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}], "bicycle":{"price":19.95,"color":"red"} }, "email":"amy@only..
2018. 4. 12.
[hive] JSON 문자열을 맵으로 변환(json string to map)
hive 에서 json 문자열을 map으로 변환하는 방법은 다음과 같다. SELECT substring("{'a':'1','b':'2'}", 2, length("{'a':'1','b':'2'}")-2); SELECT str_to_map(substring("{'a':'1','b':'2'}", 2, length("{'a':'1','b':'2'}")-2), ",", ":"); SELECT explode(str_to_map(substring("{'a':'1','b':'2'}", 2, length("{'a':'1','b':'2'}")-2), ",", ":")) as (key,value); hive> SELECT substring("{'a':'1','b':'2'}", 2, length("{'a':'1','b':'2..
2017. 12. 12.
[hive] UDTF 예제
UDTF는 한행을 입력받아서 여러 행을 반환하는 함수이다. take in a single input row and output a single output row 크게 4가지 종류가 있다. explode, inline, posexplodearray, map, struct 형식의 데이터를 테이블 json_tuplejson 문자열을 파싱하여 반환get_json_object() 와 비슷한데 속도가 빠르다. 대신 xpath를 이용한 처리는 안됨url_tupleurl 문자를 파싱HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE 를 반환stack전달한 데이터를 여러개의 행으로 반환 > select * from employee;OKid-1john["a","b","c","d"]{..
2017. 4. 12.