Carpe Diem

  Top > スポンサー広告> Hadoop > Hiveの導入  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Hiveの導入

2013 - 06/13 [Thu] - 09:08

前回Hadoopを導入したので、今回はSQLライクなクエリの使用出来るHiveを導入します。
Hadoopで大規模なデータを扱う場合、Javaを使ってMapReduceプログラムを実装することが本来必要ですが、Hiveを使うとそのコストがなくなりSQLさえ知っていれば利用できるというメリットがあります。

前回のHadoopの導入ができていればリポジトリが登録されているので、aptでインストールできます。

◆インストール
$ sudo aptitude install hadoop-hive


◆使用方法
HiveではCSV/TSVから直接インポートが可能です。流れは

・データベースの作成
・CSV/TSVに合わせたテーブルを作成
・CSV/TSVをインポート


となります。
まずサンプルデータを入手しましょう。こちらのサポートページより入手出来ます。

はじめてのHadoop ~分散データ処理の基本から実践まで

sample/data/sales_sample の下に
itemlist.tsv
sales.tsv
sales_detail.tsv
shoplist.tsv


と4つファイルがあります。今回は shoplist.tsv を使用してみましょう。


◆データベースの作成~テーブル作成
$ hive
> CREATE DATABASE shopdb;

> SHOW DATABASES;
OK
default
shoplist
Time taken: 0.064 seconds


データベースの作成が確認できました。次にテーブルを作成します。shoplist.tsvを見ると、ID、住所があるのでそれに基づいてテーブルを作成します。

> USE shopdb;

> CREATE TABLE shoplist(
shop_id STRING,
address STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n';


最後の2文はTSVの書式に合わせた形です。TSVは「タブ(\t)」でデータが区切られ、「改行(\n)」で行が終わり次のデータになります。
これがCSVなら

ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LINES TERMINATED BY
'\n'

となります。

> SHOW TABLES;
OK
shoplist
Time taken: 0.095 seconds


> DESC shoplist;
OK
shop_id string
address string
Time taken: 0.662 seconds


と表示されればOKです。


◆データのインポート
DBのができたのでTSVファイルをインポートします。

> LOAD DATA LOCAL INPATH '/home/testuser/sample/data/sales_sample/shoplist.tsv' INTO TABLE shoplist;
Copying data from file:/home/testuser/sample/data/sales_sample/shoplist.tsv
Copying file: file:/home/testuser/sample/data/sales_sample/shoplist.tsv
Loading data to table shoplist.shoplist
OK

Time taken: 0.28 seconds


ちなみにデータは
$ hadoop dfs -ls -R /user/hive/warehouse

に格納されます。注意としては実際のファイルシステムではなく、HadoopのファイルシステムであるHDFSで管理されています。なので普通に
$ cd /user/hive
としても見つかりません。またパスが/usrでなく/userあることも注意です。


◆動作確認
> SELECT * FROM shoplist;



> SELECT address FROM shoplist WHERE address LIKE '%東京%';

と入力して表示されることが確認できます。


ソース:
Hadoop – Hive演習をさらす

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。