**この記事の内容は若干古くなっています。まとめページもご覧下さい**
無事に起動した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をクリックします。
Hueサービスの画面のメニューから、Hue Web UIをクリックします。
Hueを使用する
Hueのログイン画面が表示されました。ユーザ名/パスワードともにclouderaでログインします。
最初にログインするとウィザードが開始されます。
次を押して進み、ここでサンプルデータをセットアップしましょう。今回は「すべて」を選択してみました。(下の画面はインストール中と表示されています)
どんどん先に進んでいきます。
これでウィザードは終わりです。(次と表示されてますが、、、)
Metastore Managerを起動する
メニューの Data Broser -> Metastoreテーブルを選びます。
Metastore Managerでは、データベースの管理ができます。サンプルのテーブル(sample_07と08)がインストールされていますね。以前も紹介しましたが、CSVファイルをアップロードしてテーブルを作成することもできます。
テーブル名をクリックすると、列やサンプルの表示ができます。
正しくセットアップされているようです。
Hiveでクエリを実行する
HiveはFacebookで開発されたMapReduceの抽象化であり、SQLに近い言語を使用してHDFS上のデータをクエリすることができます。SQLはクライアント側で構文解析され、実行計画を作成した後にMapReduceのジョブとしてHadoopクラスタにサブミットされます。
ではHiveアプリを起動しましょう。メニューからQuery Editor -> Hiveを選択します。
HueのHiveアプリケーションはこのバージョンで見栄えが大きく変わりました。内部的にも今まではBeeswaxを使っていたものが、HiveServer2を使うようになっています。
左側のテーブルをクリックすると列名や内容も参照でき、上部のウィンドウにクエリを入力することでクエリが実行できます。
Hiveのクエリを実行する
まずは簡単なクエリを実行してみましょう。クエリを入力して「実行」ボタンを押すと、下側の画面にジョブの経過が表示され、
最後に結果が表示されます。
もう少し複雑なクエリも実行してみました。
ジョブの進行状況を表示する
HueにはJob Browserという、簡易にジョブの進行状況を表示するためのツールがあります。メニューからJob Browserをクリックして、今実行したクエリを観察してみて下さい。(詳細は割愛します)
ジョブの一覧
ジョブ
タスク試行
長くなったので、今日はこの辺で。
コメント