「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