Azureデータ分析入門 #5 【Databricks → Power BI Desktop】

はじめに

Databricks の Spark クラスタを、デスクトップ版の Power BI に接続する方法をご紹介します。

連載目次

Azureデータ分析入門 #1 【はじめに】
Azureデータ分析入門 #2 【ツール比較 Excel編】
Azureデータ分析入門 #3 【ツール比較 Azure Notebook編】
Azureデータ分析入門 #4 【ツール比較 Databricks編】
Azureデータ分析入門 #5 【Databricks → Power BI Desktop】 → 本記事はこちら
Azureデータ分析入門 #6 【CSVデータ → Power BI サービス】
Azureデータ分析入門 #7 【AutoML でタイタニック号の生存者予測】

Power BI

概要

データストレージを接続したり、エクセルファイルを読み込んで加工すると、こんなダッシュボードや、
What_800x450.png

こんなレポートが、
800x450_2x_Why_PBI.jpg

Excel のピボットグラフに近い操作感で作れて、
provide_800_450.gif

以下の手段で共有できるプラットフォームが整備されてて、

  • Web ブラウザ
  • Android
  • iOS

ビッグデータや AI サービスとの連携も抜群、というすごいやつです。

ピボットグラフと同じ用に作れると考えて触ると痛い目を見ますが、慣れればレポート作成や知識のシェアなどの効率化が跳ね上がりそうなツールです。

気になりますね? Windows PC 使いであれば、こちらから Power BI Desktop をダウンロードできます。

マックユーザーでも、Microsoft アカウントを持っていれば Power BI サービスが使えます。こちら から。ブラウザで動くので使用環境に左右されにくいのが嬉しい。

Power BI Desktop と Power BI サービス の違い

Power BI には、Power BI Desktop と Power BI サービス の二種があります。それぞれできることが異なるうえ、UI が違うので注意が必要。ざっくり切り分けると、

  • Power BI Desktop → 開発環境
  • Power BI サービス → レポート共有プラットフォーム

のイメージ。公式ドキュメントに分かりやすい図があったので引用します。

ちなみに Spark クラスタへの接続はデスクトップ版からしかできません (2019年9月現在)。

image.png

SQL に慣れている人であれば、データの整形や集計列の追加は Power BI に読み込ませる前にやってしまい、Power BI では可視化やUXのデザインを、というスタイルが楽かもしれません。

手順

以下の3ステップ。

  • アクセスポイントの確認
  • アクセストークンの発行
  • デスクトップ版 Power BI に Databricks を接続

アクセスポイントの確認

Clusters から使用しているクラスタをクリック
image.png

Advanced Option をクリック
image.png

JDBC/ODBC をクリック
image.png

JBDC URL を参照。以下のようにセミコロンで各データが区切られています。①と②を組み合わせて、
image.png

文字列 https①② を作成し、メモ帳などにコピーしておきます。これが Power BI から Databricks へのアクセスポイントになります。
image.png

もしクラスタが停止していたら、起動させておきましょう。
2019-08-27_14h47_48.png

アクセストークンの発行

右上のユーザーアイコンから、User Setting をクリック
2019-08-27_13h59_49.png

Generate New Token をクリック
2019-08-27_14h00_06.png

トークンの名称と有効期限を任意で入力し、Generate をクリック
2019-08-27_14h00_28.png

アクセストークンキーが発行されるので、これもメモ帳に保存しておき、Done をクリック。
※ここでコピーしたものを紛失するとトークンの使用ができなくなるので注意
2019-08-27_14h01_32.png

デスクトップ版 Power BI に Databricks を接続

  • アクセスポイントの確認
  • アクセストークンの発行とキーの確認

以上で Dataricks 側の準備が整いました。次は Power BI 側の設定を行います。

Power BI デスクトップ版をインストール、起動後、左上のデータの取得をクリック
2019-09-19_10h46_34.png

検索窓に Spark と入力、Spark を選択し、接続をクリック
2019-09-19_10h46_49.png

先ほど確認したアクセスポイントを入力、プロトコルは HTTP に、インポートは DirectQuery を選択し、OKをクリック
2019-09-19_10h47_12.png

ユーザー名に token と入力、パスワードに先ほど控えておいたアクセストークンキーを入力し、接続をクリック
2019-08-27_14h08_56.png

Databricks のテーブルが表示されるので、任意で選択、読み込みます。
2019-09-19_11h38_00.png

読み込みが完了するとこちらの画面に。取り込んだテーブルが右端に確認できます。これで接続は完了です。
2019-09-19_11h39_11.png

まとめ

接続してはみたものの、今回のデータに対して Power BI Desktop から Spark クラスタを動かし、アドホックな分析をするというのは、いささかオーバースペックなように思います。

そこで次回は Webブラウザ上で Power BI サービスを開き、そこへCSVファイルをアップロードし、ダッシュボードの作成までやってみようと思います。お楽しみに!