'조각모음'에 해당되는 글 1건

  1. 2021.07.31 Hive table partition의 조각 모음 (concatenate)

이벤트를 Spark Stream 등으로 받아 Hive table로 저장하면 많은 조각 파일들이 생성된다. 작은 파일이 너무 많은면 이후 처리에 문제가 되므로 큰 파일로 합쳐주는 것이 좋다. 

아래는 table이 2단계 partition을 가질 때 예이다. 

아래 예를 파일로 저장하고, oozie workflow에서 table 이름을 parameter로 넘겨 실행한다. 

#!/bin/sh

partitions=`hive -e "show partitions $1 "`
echo "partitions: " $partitions
for part in $partitions; do
    IFS="/" read part1 part2 <<< $part
    IFS="=" read k1 v1 <<< $part1

    IFS="=" read k2 v2 <<< $part2

    if [[ $v1 == "$2" ]]
    then
          hive -e "alter table $1  partition($k1='$v1', $k2='$v2') concatenate;"
    fi
done
Posted by poterius
,