2010-03-18
HiveでCompressed Data Storage
基本的には、↓に書いてあるんですが、いくつか罠があるのでメモしときます。
http://wiki.apache.org/hadoop/Hive/CompressedStorage
このページには以下のように書いてありますが、
SET io.seqfile.compression.type=BLOCK; -- NONE/RECORD/BLOCK (see below)
正しくは、以下のようになります。
SET mapred.output.compression.type=BLOCK;
また、圧縮形式にgzipを使いたい場合は以下のように設定しますが、
SET mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
なぜか、Clouderaのパッケージ(バージョンは0.20.1+169.56-1)でインストールするとnativeライブラリが入ってないため、エラーになります。
しょうがないので、http://archive.cloudera.com/cdh/ からソースをダウンロードしてきて、${HADOOP_HOME}/libに、落としてきたlib/nativeをコピーしたらうまくいきました。
一体なんなんだ。。
追記(2010/6/7)
hiveコマンドのバグ
hiveコマンドで
hive -e 'quoted query string'
とやると、コマンドラインでHiveQLをたたくことができるのですが、
以下のようなエラーになってしまいました。
Unexpected tables while processing |-S|-h|-e|-f
exec /usr/lib/hive/bin/hive $*
を
exec /usr/lib/hive/bin/hive "$@"
に変えたら、できるようになりました。
はまった。。
ここに書いてありました↓
http://getsatisfaction.com/cloudera/topics/hive_command_line_option_failing_e_g_hive_e_show_tables
しかし、バグ多いなぁ。。
コメントを書く
