連載
» 2009年02月27日 00時00分 公開

Hadoop+Hive検証環境を構築してみるHive――RDB使いのためのHadoopガイド(前編)(3/3 ページ)

[鈴木啓修,InterDB]
前のページへ 1|2|3       

Hiveの基本的な使い方

 ここでは、Hiveの基本的な使い方を説明します。はじめにテーブルの作成とデータの読み込みを説明し、次に検索と保存について説明します。

Hiveの起動と終了

 ここでは、実際の説明に先立ってHiveの操作方法を示します。

 Hiveはインタプリタ「hive」で操作します。起動方法は次のとおりです。

hiveuser> $HADOOP_HOME/contrib/hive/bin/hive
hive>
hiveの起動

 終了は「exit;」を入力します。

hive> exit;
hiveの終了

テーブルの作成とデータの読み込み:CREATE TABLEとLOAD DATA

 最初にテーブル作成のためのCREATE TABLE文を説明します。詳細な文法は以下のURLを参照してください。

CREATE TABLEの詳細な文法チュートリアル:Apacheプロジェクトwiki

 以下では書式の概略と指定できるデータ型を示しておきます。

CREATE [EXTERNAL] TABLE [テーブル名]
  (カラム名 data_type [カラムコメント], カラム名 data_type [カラムコメント], ……)
  [PARTITIONED BY (カラム名1 data_type 1 [カラムコメント1], カラム名2 data_type 2 [カラムコメント2],……)]
  [CLUSTERED BY (カラム名1, カラム名2,……) [SORTED BY (カラム名1, ……)] INTO num_buckets BUCKETS]
  [ROW FORMAT row_format ]
  [STORED AS file_format ]
  [LOCATION hdfsのパス]
CREATE TABLEの書式
data_type primitive_type TINYINT
INT
BIGINT
BOOLEAN
FLOAT
DOUBLE
DATE
DATETIME
TIMESTAMP
STRING
array_type ARRAY < primitive_type >
map_type MAP < primitive_type, primitive_type >
row_format DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char]
[MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]
SERIALIZER serde_name [WITH PROPERTIES property_name=property_value, property_name=property_value, ...]
file_format SEQUENCEFILE
TEXTFILE
指定できるデータ型一覧

 ここでは、pref.csvファイルのデータを保存するテーブル「pref」を定義します。

テーブル「pref」の定義

hive> CREATE TABLE pref (id int, pref STRING)
    >    ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    >               LINES TERMINATED BY '\n';
OK
Time taken: 10.813 seconds
テーブル「pref」の定義

 通常のCREATE TABLE文との違いは、「ROW FORMAT DELIMITED FIELDS 〜」以下の部分です。これは、次に説明するLOAD DATA文のためのオプションで、読み込むデータファイルpref.csvの区切り文字(ここでは「 , 」)と改行文字(ここでは「\n」)を指定しています。

1,北海道
2,青森県
3,岩手県
4,宮城県
5,秋田県
6,山形県
7,福島県
…略…
pref.csvの一部

 では、実際にデータファイルpref.csvを読み込んでみましょう。LOAD DATA文の文法は以下のとおりです。

LOAD DATA [LOCAL] INPATH '/path/to/file' [OVERWRITE] INTO TABLE table_name [partition_spec]
LOAD DATAの文法
hive> LOAD DATA LOCAL INPATH '/home/hiveuser/localfiles/pref.csv'
    >       OVERWRITE INTO TABLE pref;
Copying data from file:/home/hiveuser/localfiles/pref.csv
Loading data to table pref
OK
Time taken: 3.362 seconds
pref.csvファイルの読み込み

 以上でテーブルprefにデータが読み込まれました。


 ここまでで、基本的なHiveの操作が理解できたのではないかと思います。後編では、今回構築した環境を基に、より複雑に定義したテーブルの操作やHadoopならではの実践的な使い方を見ていきます。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。