PowerBIデスクトップからDatabricksに接続して分析する

これはなに?

PowerBIデスクトップから、Databricks上のテーブルに接続し可視化する手順を記載します。
流れとしては、Databricks上でアクセス情報及びクレデンシャルを取得し、その情報を基にPowerBIデスクトップから接続、可視化を実施します。

環境/前提条件

環境

  • Databricksのプラットフォーム : Azure Databricks
  • ローカル端末 : Windows10

前提条件

  • Azure Databricks上で、クラスター 及び テーブルが作成されていること
  • PowerBI デスクトップがインストールされていること

Power BI Desktop — 対話型レポート | Microsoft Power BI

1. Databricks 作業

1-1. アクセス情報の取得

PowerBI デスクトップからのDatabricksへの接続情報を確認します。

1. Databricksのコンソールにログインし、[Clusters] - [<接続するクラスター>] をクリックする。

2. [Advances Options] - [JDBC/ODBC] をクリックし、以下の値をメモする。

  • Server Hostname
  • HTTP Path

f:id:ykoomaru:20201028165132p:plain

1-2. クレデンシャルの発行

PowerBI デスクトップからのDatabricksへの接続するためのクレデンシャルを発行します。

1. Databricks コンソール右上のユーザーアイコンより、[User Settings] をクリックする。

2. [Generate New Token] をクリックする。 f:id:ykoomaru:20201028165147p:plain

3. 以下の値を入力し、[Generate] をクリックする。

  • Comment ※任意 : コメント
  • Lifetime(days) : Tokenの有効期限。(日)

f:id:ykoomaru:20201028165240p:plain

4. 発行されたTokenをメモする。
f:id:ykoomaru:20201028165200p:plain

以上で、Databricks上での作業は完了です。

2. PowerBI デスクトップ 作業

2-1. Databricksに接続する

1-1 で取得した接続情報を基にDatabricksに接続します。

1. PowerBI デスクトップを起動し、[データを取得] - [詳細...] をクリックする。
f:id:ykoomaru:20201028165307p:plain

2. [Azure] - [Azure Databricks] を選択し、[接続] をクリックする。 f:id:ykoomaru:20201028170837p:plain

3. 以下の情報を入力し、[OK] をクリックする。

1.で取得した Server Hostname と HTTP Path を入力します。

  • Server Hostname : Databricksの接続ホスト名
  • HTTP Path : Databricksの接続HTTP Path
  • Database ※任意 : 指定すると特定のデータベースのみ接続できる
  • Batch Size ※任意 : 取得するデータの最大行数

f:id:ykoomaru:20201028165318p:plain

4. [Personal Access Token]をクリックし、「Personal Access Token」を入力、[接続] をクリックする。
1-2. で取得したクレデンシャルを入力します。
f:id:ykoomaru:20201028165517p:plain

5. テーブル情報が取得できるので、「<連携したいテーブル>」を選択し、[読み込み] をクリックします。
f:id:ykoomaru:20201028165326p:plain

以上の手順で、Databricksに接続が完了し、PowerBI デスクトップ上からデータを閲覧できるようになります。

2-2. 可視化

データを取り込んだら、後はExcelなどからPowerBI デスクトップに取り込んだデータと同じように可視化することができます。

f:id:ykoomaru:20201028165331p:plain

3. 最後に

Databricksの標準の可視化機能で手が届かない部分を、PowerBIやQlikなどの外部BIツールを接続させることで機能強化することができますね。 Databricks上でETLやデータ分析して、外部BIツールで可視化することで分析業務が更に捗ると思います。