新!Hadoopを10分で試す(2) HueからHiveのクエリを実行する

**この記事の内容は若干古くなっています。まとめページもご覧下さい**
無事に起動したCloudera Quickstart VMを使用して、CDH5でいくつかのサービスを試していきましょう。本日はHiveのクエリです。

YARN+MapReduce v2

今まで使用していた仮想マシンイメージは、CDH4がベースとなっていました。今回セットアップした仮想マシンはCDH5ベースになっており、MapReduce分散処理の実行基盤として、デフォルトでYARNが使われるようになっています(従来のMapReduce、MapReduce v1を利用することもできます)。YARNはYet Another Resource Negotiatorの略で、クラスタ全体のリソースを効率よく制御することができ、従来の分散処理で不足していた機能に対応しています。例えば 、MapReduce以外の分散処理基盤として、ImpalaやSparkなどのメモリ/CPU管理もできるようになります。同一クラスタで複数のワークロードの実行もより柔軟に行えます。
ここでYARNについての詳細は割愛しますが、YARN+MapReduce v2がデフォルトになったことで、内部でMapReduceを利用するHiveやPigでクエリを実行すると、YARN+MapReduce上で実行されることになります。初めてHadoopに触れる方は気にならないでしょうが、以前からHadoopに慣れ親しんでいる方にはインパクトがあるんじゃないでしょうか?

Hueでデータを準備する

Hadoop用のWeb UIであるHueを使うと、サンプルデータを簡単にセットアップすることができます。今回はこのサンプルデータを使ってHiveでクエリを行います。

Hueの開始

仮想マシンでHueの開始するには何通りかの方法(ブラウザのデフォルト画面からHueを起動する、ブックマークのリンクを使う、Cloudera Managerから起動する)とありますが、今回はCloudera ManagerからHueのWeb UIを開始してみましょう。
まずはCloudera Managerの画面から、Hueをクリックします。
cm_hue1Hueサービスの画面のメニューから、Hue Web UIをクリックします。
cm_hue2

Hueを使用する

Hueのログイン画面が表示されました。ユーザ名/パスワードともにclouderaでログインします。
hue1最初にログインするとウィザードが開始されます。
hue2次を押して進み、ここでサンプルデータをセットアップしましょう。今回は「すべて」を選択してみました。(下の画面はインストール中と表示されています)
hue3どんどん先に進んでいきます。
hue4hue5これでウィザードは終わりです。(次と表示されてますが、、、)

Metastore Managerを起動する

メニューの Data Broser -> Metastoreテーブルを選びます。
hue6
Metastore Managerでは、データベースの管理ができます。サンプルのテーブル(sample_07と08)がインストールされていますね。以前も紹介しましたが、CSVファイルをアップロードしてテーブルを作成することもできます。
hue7テーブル名をクリックすると、列やサンプルの表示ができます。
hue8hue9正しくセットアップされているようです。

Hiveでクエリを実行する

HiveはFacebookで開発されたMapReduceの抽象化であり、SQLに近い言語を使用してHDFS上のデータをクエリすることができます。SQLはクライアント側で構文解析され、実行計画を作成した後にMapReduceのジョブとしてHadoopクラスタにサブミットされます。
ではHiveアプリを起動しましょう。メニューからQuery Editor -> Hiveを選択します。
hue10hue11HueのHiveアプリケーションはこのバージョンで見栄えが大きく変わりました。内部的にも今まではBeeswaxを使っていたものが、HiveServer2を使うようになっています。
左側のテーブルをクリックすると列名や内容も参照でき、上部のウィンドウにクエリを入力することでクエリが実行できます。

Hiveのクエリを実行する

hue12まずは簡単なクエリを実行してみましょう。クエリを入力して「実行」ボタンを押すと、下側の画面にジョブの経過が表示され、
hue13
最後に結果が表示されます。
hue14もう少し複雑なクエリも実行してみました。
hue15
 

ジョブの進行状況を表示する

HueにはJob Browserという、簡易にジョブの進行状況を表示するためのツールがあります。メニューからJob Browserをクリックして、今実行したクエリを観察してみて下さい。(詳細は割愛します)
ジョブの一覧
hue16ジョブ
hue17タスク試行
hue18長くなったので、今日はこの辺で。
 

コメント