Hatena::ブログ(Diary)

brfrn169の日記 RSSフィード

2010-03-18

HiveでCompressed Data Storage

| 16:59 |

基本的には、↓に書いてあるんですが、いくつか罠があるのでメモしときます。

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)

nativeライブラリは、別のRPMになってました。。

hadoop-0.20-nativeをインストールするとlib/nativeが無事現れます。。

hiveコマンドのバグ

| 16:40 |

hiveコマンドで

hive -e 'quoted query string'

とやると、コマンドラインでHiveQLをたたくことができるのですが、

以下のようなエラーになってしまいました。

Unexpected tables while processing |-S|-h|-e|-f 

これは/usr/bin/hiveスクリプトバグで、

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



しかし、バグ多いなぁ。。