Zoomdataを試してみよう（ビッグデータ編：３）

近年、**ビッグデータ**を取り巻く環境は、最近特に劇的な進化とその可能性についてフォーカスされ、**機械学習**や**AI**といった技術と共に、新しい問題解決や価値創造の種になるのではないか？という部分で、ネットワーク社会の進化と共に、大きな市場へと成長してきています。
今までのデータを取り巻く世界では、データ本来の価値よりも、デバイス性能や環境等の影響を大きく受け、出来るだけ小さく加工して効率よくデータを保存し、その再利用についても、それらの工程で削られた情報を、如何に合理的な妥当性をもって推測・再現できるか？について多くの工数や優れた理論・技術が開発されてきました。
もちろん、厳粛な結果としてのデータは、何よりも雄弁に事実を物語っていますので、そのデータを基に、（１）所定の手続きを施し、（２）仮設の妥当性を検証し、（３）次の一手を作り出し、（４）その実施により次のデータを収集する、という**「データ処理の結果を待つというところからのスタート」**が殆どでした。
では、その最終形のデータが作り出される過程を、**オン・ストリームで観測（推測ではなく）**でき、ビジネス等の環境変化に即応できる柔軟な可視化分析が、汎用のプラットホーム上で、だれでも利用できるようになるとどうなるか？そしてそれにより、データが本来持っていた隠れた可能性や価値を最大限に活用できると次に何か起きるか？・・・
この辺の状況については、改めてご紹介させて頂ければと思いますが、取り急ぎその環境に無くてはならない、各種のビッグデータを高速・高効率な**オン・ストリーム（ユーザの思考や本来作業を止めずに行う）**で可視化解析できる環境構築についての説明を続けさせて頂きます。

#（１）環境の準備
今回は、**[Hortonworks](https://jp.hortonworks.com/)**社様が公開されているSandboxを使って、**Zoomdata**との連携を行います。
ホームページの右上部分に有るオレンジ色の**始める**を選択し、**[表示されたページ](https://jp.hortonworks.com/products/data-center/hdp/)**にある**SANDBOXをダウンロード**を選択すれば、ターゲットになる仮想イメージのリストが出てきますので（執筆時点）今回は2.6版をダウンロードします。その際に必要な項目の入力画面が出てきますので、正確にそれぞれの情報を登録して環境をゲットして下さい。
ダウンロード後、仮想環境へ正常にインストールが行われると、各サービスが起動してコンソール画面が表示されます。

![h1.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/95229863-f5e3-62dc-ffb9-3e31100d681a.jpeg)

画面上にWeb経由の管理コンソールへのアクセス方法が表示されますので、そのアドレスをブラウザに入力してみてください。

![h2.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/7f0caaae-9679-3879-492b-4fafcd7e12aa.jpeg)

画面の左側になる**LAUNCH DASHBOARD**を選択し、IDとパスワードを入力するとダッシュボードが表示されてくると思います。

![h3.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/0cb94ea2-b649-3943-c6e9-b361bf053e8a.jpeg)

念のため、検証に使えそうなデータがあるか確認すると、いくつかの面白そうなテーブルが存在しているみたいですので、接続後のダッシュボード作成の際には、それらのデータを使わせて頂く事にします。

![h4.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/395404cd-6811-e558-4d0a-d6a62d596d24.jpeg)

#（２）Zoomdataとの接続設定
まず最初に、いつもの**Sources**ページに**admin**で入ります。
今回は**Hive On Tez**を使った接続を試みますので、そのアイコンを選択してください。

![h5.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/b717cdfd-7f5b-2388-00be-cb2cc91860f4.jpeg)

例によって、必要な情報を入力していき、画面右下の**Next**を選択します。


![h6.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/b0a7c1ef-70af-e4b7-7c9a-74f405c62ec4.jpeg)

今回の設定は下記のとおりです。

**Connection Name : Hortonworks Hive On Tez**
**JdbcUrl : jdbc:hive2://xxxx.xxxx.xxxx.xxxx:10000/default**
ここで、xxx.xxx.xxx.xxxはSandboxが起動している仮想マシンのアドレスになります。

設定が終了したら、**Validate**を選択して暫くお待ちください。

![h7.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/d3a7187d-5dfa-08ea-a6f2-39ae2fc476ac.jpeg)

#（３）接続検証とダッシュボードの作成

無事に接続されると、利用可能なデータテーブルが選択出来るようになりますので、今回は**Store**を使ってダッシュボードを作成してみたいと思います。

![h10.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/a7a49040-95bd-e492-0344-e57cb4689948.jpeg)

以降の設定に関しては、今回は特に弄る事はしませんので、**サクッ**と進めて頂き、**Zoomdata**のホームページへ移動します。
画面の左上に**+ New**という表示がありますので、それを選択してみてください。
幾つかのメニューがポップアップしてきますので、**Chart & Dashboard**という項目を選択し、接続するデータソース・メニューから今回設定した**Hive On Tez**を選んでください。

![h12.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/ac2caf63-b75b-e4c4-1ce1-9bf1cf9c2998.jpeg)

![h13.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/fb94e3f7-a337-4fb7-8f7f-2ece7678db57.jpeg)

利用可能なチャートが出てきますので、とりあえず**Bars:Multiple Metrics**を選択して、表示できる項目すべてにチェックを入れます。（判り易くするために**Volume**の表示は外してあります）

![h14.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/10d06bb0-3bc2-0a57-849e-7c0e8dea1d6c.jpeg)

![h15.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/08084b5c-a946-4176-a2e7-3ebd84c9c187.jpeg)

設定された5項目の棒グラフが表示されれば接続の検証は完了です。

![h17.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/bf2813d1-b1a4-49bb-88db-b2b293537982.jpeg)

同様に、今までご紹介してきた方法を用いて、利用可能な情報に対して可視化チャートを作成し**”なんちゃってダッシュボード”**を作ってみましょう。

![h18.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/ac3bea94-2658-583f-f1bc-403135754779.jpeg)

出来上がったダッシュボードを、次回以降にも再利用しやすいように保存しておきます。

![h19.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/a5462cfb-ab6d-1f91-e6a1-53ac5c7a9653.jpeg)

無事に保存されました。

![h20.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/3bb875a5-38b2-468b-fb91-39a292b9d91b.jpeg)

#（４）今回のまとめ
さて、今回は**Hive On Tez**を用いた接続検証を行いましたが、基本的にはデータソース側がしっかりと構築されていれば、思いのほか簡単に**ビッグデータ**の可視化・解析が行えることをご理解頂けたかと思います。次回以降も引き続き幾つかのソリューション接続検証と、周辺の関連情報紹介を行っていきますので、宜しくお願い致します。

#（５）謝辞
今回の記事作成に関し、ビッグデータソースのエンジンとして、**[Hortonworks](https://jp.hortonworks.com/)**社様が公開されているSandboxを活用させて頂きました。この場をお借りして厚く御礼申し上げます。

#（６）余談・・・（？）
以前の記事にて、異なるデータソース間で共通のキーを設定する事により、あたかも一つのデータソースの様に取り扱う事ができる**フュージョン**をご紹介しました。そこで今回一連の**ビッグデータ**ソリューションの接続検証を進めていくにあたり、事前に用意されていたテストデータに同じ構成のテーブルがありましたので、そのデータを使っての**「異なるビッグデータソリューション間でのフュージョン」**を検証してみたいと思います。（今回は、**sample_07**と**sample_08**を用いて、**Cloudera Impala**と**Hortonworks Hive On Tez**の組み合わせで検証します）

**フュージョン**用のコネクタ定義を行いますが、手順としては今までご紹介してきた内容と同じですので、この場では詳しい解説は省略させて頂きます。注意点としては、**ビッグデータ**間での**フュージョン**設定の場合は、仕様の関係上パラメータ設定を英語入力で行う様にしてください

![ff1.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/73c4f836-3d3a-040a-bebf-dfdd23deb494.jpeg)

今回の**フュージョン**の定義は、双方に共通な**code**を活用して以下の通り行います。

![ff3.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/65185bd1-b349-1928-175d-dd2d0d754780.jpeg)

以降は、すべてをそのまま進めて頂ければ、**Sources**ページに今回の**フュージョン**が登録されると思いますので、その画面の左上にある**+ New Chart & Dashboard**を選択し、**Bars:Multiple Metrics**でチャート作成を行ってください。

![ff4.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/10855c56-0715-545b-1e1b-c772e66d6005.jpeg)

チャートの左上に表示するデータの最大数が表示されていますので、その数字を選択してポップアップ経由で最大値の変更を行います。（今回は20から100に変更）

![ff6.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/69cdc0d5-e5db-93cb-7e54-1baecba8b23f.jpeg)

キーとなる共通の情報を基に、異なる2つの**ビッグデータ**ソースからデータを引っ張ってきて、同一のチャートに表示するようにパラメータを設定する事で、**Impala**と**Hive On Tez**経由で**マイクロクエリー**を使ったアクセスによるチャートが作成されたことが検証できました。

![ff7.jpg](https://qiita-image-store.s3.amazonaws.com/0/197589/a5e1f715-2cbe-9996-7705-2a2269f9946f.jpeg)

異なる**ビッグデータ**ソース間における**フュージョン**の活用は、革新的なデータ活用のアイディアや新たな問題解決のきっかけを提供できるかと思いますので、ぜひご活用頂ければと思います。