「Hive」HiveQL を使ってみる

HiveQL で Hadoop 上のデータを操作しみようと思う。
Hive のインストールは以下を参照。
http://a4dosanddos.hatenablog.com/entry/2013/05/02/231718

メモ程度ですが、以下のような感じです。


・テーブルを作成

create table test_table (a int, b int, c int) row format delimited fields terminated by ',';

テーブル作成すると、データができてることが確認できる。

hadoop dfs -lsr /user/hive
drwxr-xr-x   - root supergroup          0 2013-05-02 23:25 /user/hive/warehouse
drwxr-xr-x   - root supergroup          0 2013-05-02 23:25 /user/hive/warehouse/test_table


・データ挿入
ファイルからデータを挿入するので、面白くないけど以下のようなファイルを作成しておく

cat test_table
1,2,3
4,5,6
7,8,9
LOAD DATA LOCAL INPATH '/usr/local/tmp/hadoop/test_table' OVERWRITE INTO TABLE test_table;


こんなことするとテーブルコピー的なことができるらしい ( test_table のデータを test_table2 へコピー )。

from test_table t insert overwrite table test_table2 select t.*;


・データの検索

select * from test_table;
OK
1       2       3
4       5       6
7       8       9

さっき挿入したデータが反映されている。


・テーブル削除

drop table test_table;


・テーブル一覧

show tables;


ドキュメントは以下かな。ちゃんと読んでない・・・読もう。
https://cwiki.apache.org/confluence/display/Hive/Tutorial