2014年11月22日土曜日

Hiveのcollect_list

以前はプリミティブなタイプしかつかえなかったが、
0.13からstructやarrayのも使えるようになった。

https://issues.apache.org/jira/browse/HIVE-5294

2014年11月8日土曜日

Hiveのチューニング


少し古いけどオススメ
http://www.slideshare.net/ye.mikez/hive-tuning
2013年7月 (Hive 0.11頃?)
ORCフォーマット(非圧縮)、Tez、パーティション(とバーチャルカラム?)の利用
ソートされたデータを入れる
short circuit read (HDFS-2246)
その他プロパティーの確認項目あり
現在のプロパティーの確認方法
hive>set;

クエリーのパフォーマンス比較 (2014年2月)
https://amplab.cs.berkeley.edu/benchmark/
RedShift, Impala, Shark(SparkSQL), Hive, Tez を比較
(HiveのORCFile, ImpalaのParquetは利用してない)
これを見るとMapReduceからTezに変更するだけで3~4割は早くなる感じ。
すごいのはSparkSQL。Hiveとどの程度互換性があるのか早く確認したい。
Tezも既にHiveに取り込まれて、簡単に利用できるので魅力的。


■ Tezの利用は簡単で効果大。とりあえずTezを利用すべし。
個人的な関心はSparkSQLへ。

Hive on Tez
https://cwiki.apache.org/confluence/display/Hive/Hive+on+Tez

0.13からにHiveに組み込まれている
https://issues.apache.org/jira/browse/HIVE-4660
https://issues.apache.org/jira/browse/HIVE-6098

Tez (Hive Configuration Properties)
https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-Tez

Chapter 10. Installing and Configuring Apache Tez
http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.1.5/bk_installing_manually_book/content/rpm-chap-tez.html

■ tezを有効にする(mapredueからtezへ)
set hive.execution.engine=tez;
mapreduceへ戻す
set hive.execution.engine=mr;