2015年11月29日現在、AzureのHadoopサービスであるHDInsightはWindowベースのものしか無く、「うーん」という感じでしたが、一方、簡単に(sshトンネリング無しに)Zeppelinやjupyterが使えるということで、ならば、コンソールいらないな・・・と思い試して見ました。
やりたいこと
- HDInsightでSparkの使い方を調べる
- Zeppelinを使ってみる
- jupyterを使ってみる
- Power BI(MSのBIツール)との連携を確認する
せっかくAzureなので、PowerBIと連携を確認してみます。
参考
基本、下記の記事を参考にしました。最近のMSの記事はまとも。やっと開発者が書くようになったからでしょう。
準備
Azureのアカウントの取得が必要ですが、省きます。
「Azureなんか使えるか!」っていう方はこの機会にどうぞ。
Sparkクラスターの構築
Sparkクラスタの構築は簡単です。が、個人的には難が2つ。
- Windowsベースであること
- 他のサービスを標準で共存できない?こと(PowerShellとかで確認すると動くのかな?)
早くLinuxベースのが欲しい(Linuxはメールくれたら使わせてやる的なメッセージがあったので期待)。
createを押してしばらく待ちます。
Sparkの利用
Sparkクラスタの管理画面
20分くらいでプロビジョニングが完了します(Linuxと変わらない)。
作成したサービスを選択しURLをクリックするとsparkの画面に移動します(LinuxだとここでAmbariベースの管理画面に移動します)。
Sparkの画面へ
いろいろメニューがりますが、Notebooksを選択します。
Notebooks
標準でjubyterとZeppelinが利用できます。素晴らしい!Notebookとは新しい概念だが、使ってみればわかる。
まあ、Hueの高度版みたいな。
Zeppelin
Zeppelin TOP
ZeppelinのTop。なんとMacのSafariではおそらくJSのエラーか何かでConnectedになりませんでした!ChromeはOK。
いつもはChromeなので問題はりませんが。。。
Notebookの作成
新しいNotebookを作成します。
Notebookへのアクセス
作成したNotebookには、+Create New noteのメニューからアクセスします。。
スクリプトを書く(テーブル定義)
標準で表示されているコンソール行に実行したスクリプトを書きます。今回は、ここのコードを利用させてもらいました。
テストデータを元にテーブルの定義をやります。
スクリプトを書く(SparkSQLを書く)
次にSparkSQLを実行してみる。
いろいろな形式で結果を見ることができる。
Notebookはこのように分析のブロセス(コード)+結果を保存しておける。今風。
jupyter
jupyter TOP
次にjubyter。基本的にZeppelinと概念は同じだが、その名の通りpythonを利用する。
グラフ表示とかはできない。新規Notebookを作成します。
Power BIとの連携の元データを作りたいので、[ここ](https://azure.microsoft.com/ja-jp/documentation/articles/
Notebook
hdinsight-administer-use-management-portal/)を参考に進めます。
基本コピペ。Hive Tableとして保存しておくとPower BIからアクセスできるようです。
Power BI
Power BIサイトへのログイン
Power BIのサイトのアクセスし、アカウントを取得します。
データ取得先の選択 1
Sparkにアクセスするには「データの取得」を選択します。普通はダッシュボードの左下にあるはずです。
データ取得先の選択 2
データのインポートまたは接続からデータベースを選択します。
どうやらフリー版ではSparkにアクセスできないようです。今回はProの60日無償期間というのを利用してみました。
Sparkサーバの指定
最初に管理画面でみたURLを入力します。
ID, PWの入力
クラスタ設定の時に入力したIDとPasswordを入力します。標準のIDはadminでした。
読み込み完了
しばらく待つとデータセットにsparkが読み込まれ?ます。
読み込みテーブルの確認
右ペインのフィールドにテーブルが読み込まれています。
レポートの作成
可視化してみます。
一通り試せました。
その他
Webアプリケーションからクエリを投げたい
いくつか方法があるようですが、まだ調べきれていません。誰か教えて。
パフォーマンスチェック
自分のデータでSparkのパフォーマンスチェックをしてみたい。特にHive, Impalaとの比較。