CLAVIS Engineer Blog
こんにちは。
R&Dの石揚です。
今回はHadoopのMapReduceをSQLチックに使うことが出来るHiveの体験をやってみましょう!
通常Hadoopで処理するにはMapReduceを利用するのですが、このMapReduceというのは少し扱いにくい物で
なかなか手軽に扱える物ではありませんでした。
それを解消するために、RDBの様なSQLライクな使い方が出来るエコシステムがHiveです。
では早速試してみましょう!
まずは本体をダウンロードしましょう。
vagrant$ curl -L -O http://ftp.jaist.ac.jp/pub/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz
本体を解凍
vagrant$ tar xzvf apache-hive-1.2.2-bin.tar.gz
パスを通しておきます
vagrant$ vi ~/.bashrc
export HIVE_HOME=/home/vagrant/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin
vagrant$ source ~/.bashrc
これでひとまずhiveコマンドが使えるはずです。
試しにHiveを使ってみましょう。
vagrant$ hive
mysqlで実行したような対話型コンソールが開くと思います。
試しにデーターベースを作ってみましょう。
hive> create database test;
次にテーブル
hive> create table human(id int, name string, age int) row format delimited fields terminated by '\t';
データーを入れてみましょう。
ihive> insert into human values(1, 'suzuki', 25); ihive> insert into human values(2, 'tanaka', 33); ihive> insert into human values(3, 'yamamoto', 41);
Selectを使ってみましょう
hive> select * from human;
1 suzuki 25
2 tanaka 33
3 yamamoto 41
どうでしょう?
上のような結果は出たでしょうか?
ここまでは通常のDBの操作と変わりません。
では次にHDFSを利用しつつHiveを操作してみましょう。