次の方法で共有


Power BI を Azure Databricks に接続する

Microsoft Power BI は、セルフサービスのビジネス インテリジェンス機能を使用して対話型の視覚化を提供するビジネス分析サービスです。エンド ユーザーは、情報技術スタッフやデータベース管理者に依存することなく、自分でレポートやダッシュボードを作成できます。

Power BI で Azure Databricks をデータ ソースとして使用すると、データ サイエンティストやデータ エンジニア以外の Azure Databricks のパフォーマンスとテクノロジの利点をすべてのビジネス ユーザーに提供できます。

Databricks から Power BI Online に発行する

Power BI Online でデータ ソースとして Azure Databricks を使用する場合は、Databricks UI からテーブルまたはスキーマから直接 Power BI データセットを作成できます。

要件

  • データは Unity Catalog にあり、コンピューティング (クラスター) は Unity Catalog が有効になっている必要があります。 Hive メタストアは現在サポートされていません。

  • Premium (Premium 容量または Premium Per-User ライセンス) Power BI ライセンスが必要です。

  • Databricks から Power BI への発行に使用する登録済みの Entra ID アプリ ( Databricks Dataset Publishing Integration に、次のアクセス許可を付与する必要があります。

    • Content.Create

    • Dataset.ReadWrite.All

    • Workspace.Read.All

      Entra ID アプリ

    詳細については、「Microsoft Entra のアクセス許可」を参照してください。

    Note

    通常、管理者の同意は、これらのアクセス許可 (特に Power BI のワークスペースおよびデータセット レベルのアクセス) に必要です。 手順については、「管理者の同意要求の確認」を参照してください。

  • Power BI ワークスペースの設定で、発行後にセマンティック モデルを編集するには、[ユーザーは Power BI サービスでデータ モデルを編集できる (プレビュー)] を有効にする必要があります。 また、XMLA エンドポイントを使用して接続を行うことで、表形式エディターを使用してセマンティック モデルを編集することもできます。

  • Power BI ワークスペースで XML 書き込みを有効にする必要がある場合は、こちらのリンクを参照してください。

  • Power BI ワークスペースでプライベート リンクを使用している場合は、Power BI でデータセットのデータソース資格情報を手動で更新する必要があります。

Azure Databricks テーブルを Power BI データセットに発行する

  1. Databricks ワークスペースにサインインし、サイドバーの カタログ アイコン [カタログ] をクリックしてカタログ エクスプローラーを開きます。

  2. 右上のドロップダウン リストからコンピューティング リソースを選択します。

  3. カタログを開き、パブリッシュするスキーマまたはテーブルを選択します。 Hive メタストアまたはサンプル カタログから選択しないでください。

  4. 右上で、スキーマの場合は [BI ツールを使用する] をクリックし、テーブルの場合は [ダッシュボードで開く] をクリックします。

  5. [Power BI ワークスペースへの発行] を選択します。

  6. [パートナーへの接続] ダイアログで、[Microsoft Entra ID に接続] をクリックして認証します。

  7. Power BI ワークスペースで、Power BI ワークスペースを選択します。

  8. Dataset モードで、DirectQuery または Import を選択します。

  9. Power BI の [認証方法] で[OAuth] または [PAT (個人用アクセス トークン)] を選択します。

    Databricks では、アクセス制御とユーザー レベルの監査をきめ細かく行えるので、OAuth の使用をお勧めします。 OAuth 資格情報は、Power BI データセット設定ページのデータ ソース資格情報で構成する必要がある場合があります。 個人用アクセス トークン (PAT) を選択した場合、Power BI がセマンティック モデルにアクセスできるようにするために、ユーザーに代わって PAT が作成されます。

  10. [データセット名] で、[新しいデータ セットとして発行] または [既存のデータ セットを使用] を選択します。

    [既存のデータセットを使用する] を選択すると、次のようになります。

    • データセットが存在する場合は、上書きされません。 更新では、特定のスキーマ内の新しいレコードのみを追加します。
      • 選択したテーブルが既存のデータセットの一部でない場合は、追加されます。
      • テーブルがデータセットに既に存在し、最後の更新後に新しい列が追加される場合、それらの列は自動的に追加されます。
      • 新しいテーブルに対して別のストレージ モデルを選択し、複合セマンティック モデルを作成できます。

    既存のデータ接続を維持したまま更新する、既存のセマンティック モデルがある場合は、[既存のデータセットを使用する]を選択します。 新しいセマンティック モデルを使用して新しいデータセットを作成する場合は、[新しいデータ セットとして発行]を選択します。

  11. [Power BI への発行] をクリックします。

  12. データセットが発行されたら 10 から 20 秒以内に、[Power BI を開く] をクリックして、Power BI データセットを新しいタブで開きます。

機能と注意点

  • 複数のテーブルを含むスキーマを発行すると、列を持つすべてのテーブルが発行されます。 列のないテーブルは発行されません。
  • Azure Databricks のテーブルの列に対するコメントは、Power BI の対応する列の説明にコピーされます。
  • 外部キーリレーションシップは、パブリッシュされたデータセットに保持されます。 ただし、Power BI では、2 つのテーブル間のアクティブなリレーションシップ パスが 1 つだけサポートされます。 Azure Databricks のスキーマに複数のパスが存在する場合、Power BI の対応するリレーションシップの一部が非アクティブに設定されます。 どのリレーションシップをアクティブまたは非アクティブにするかは、後で Power BI のデータモデル ビューで変更できます。
  • OAuth またはオンプレミス データ ゲートウェイを使用する場合、Power BI データセット設定ページの "データ ソースの資格情報" で資格情報を構成する必要がある場合があります。
  • 現在、ユーザーはホーム テナント内の Power BI ワークスペースにのみ直接発行できます。 ゲスト ユーザーであるテナントでの発行はサポートされていません。

トラブルシューティング

エラー メモ
Power BI への発行を初めて起動するときに 「承認が必要」です このメッセージが表示された場合、この統合機能へのアクセス許可を付与する前に、Entra 管理者の承認が必要です。 要求の承認には、Entra 管理者に問い合わせてください。 手順については、このリンクに従ってください。
PowerBINotLicensedException Power BI Premium ライセンスがあることを確認してください。
このデータセットを配置できませんでした。 容量管理者に問い合わせて、Power BI Premium 容量の容量設定で XMLA の読み取り/書き込みサポートが有効になっていることを確認してから、再試行してください。 詳細は、製品ドキュメントの「XMLA 読み取り/書き込みサポート」を参照してください。 容量設定で XMLA エンドポイント読み取り および 書き込み 機能を有効にするには、Power BI 容量管理者に問い合わせてください。 手順については、このリンクに従ってください。
XMLA エンドポイント機能が無効です。 この機能を有効にするには、PowerBI.com で Excel で分析する機能を有効にします。 容量設定で XMLA エンドポイント読み取り および 書き込み 機能を有効にするには、Power BI 容量管理者に問い合わせてください。 手順については、このリンクに従ってください。
CapacityNotActive 容量は一時停止される可能性があります。 容量をチェックするには、容量管理者に問い合わせてください。
'<ccon>***</ccon>' という名前のデータベースが、'<ccon>workspace </ccon>' *** に既に存在します。 セマンティック モデルを作成するアクセス許可があることを確認します。 次に、Power BI への発行を再試行して、増分バージョン番号でセマンティック モデルを公開します。
同じモデル内の他のストレージ モードと共に Direct Lake モードの使用はできません。 複合モデルでは、Direct Lake モードはサポートしていません。 サポートされていないテーブルの削除、またはDirect Lake モードに切り替えます。 Power BI への発行は、インポートまたは DirectQuery モードでセマンティック モデルを作成するため、Direct Lake モードを使用する既存のデータセットへの発行には使用できません。 詳細については、こちらのリンクを参照してください。
'<euii> *</euii>' ユーザーには、Discover メソッドを呼び出すアクセス許可がありません。 Premium ライセンス モードで Power BI ワークスペースに発行していることを確認します。 Pro ライセンス モードのワークスペースに発行することはできません。
'<euii> </euii>' ユーザーが '**' に新しいオブジェクトを作成する権限を持っていない、またはオブジェクトが存在しません。 Power BI ワークスペースにビューアーの役割がある場合があります。 セマンティック モデルを作成するアクセス許可があるかどうかを確認します。 詳細については、このリンク先を参照してください。
データソースの資格情報の更新に失敗しました: [Microsoft][ThriftExtension] (14) HTTP接続中にサーバーから予期しない応答がありました: Unauthorized/Forbidden エラー応答が返されましたが、トークンの有効期限が切れたメッセージは受信されませんでした。 Power BI 上でデータ ソースの資格情報を編集する場合 Databricksワークスペースが公開アクセス可能かどうかを確認します。 ワークスペースで Private Link または IP アクセス リストを使用している場合は、Power BI オンプレミス ゲートウェイの構成が必要となる場合があります。

Power BI Desktop を Azure Databricks に接続する

Power BI Desktop を Azure Databricks クラスターと Databricks SQL ウェアハウスに接続できます。 Power BI レポートを Power BI サービスに公開し、ユーザーがシングル サインオン (SSO) を使用して基になる Azure Databricks データにアクセスできるようにし、レポートにアクセスする際に使用するのと同じ Microsoft Entra ID 資格情報を渡すことができます。

要件

  • Power BI Desktop 2.85.681.0 以上。 Power BI で Unity Catalog が管理するデータを使用するには、Power BI Desktop 2.98.683.0 以降 (2021 年 10 月リリース) を使用する必要があります。

    注意

    Power BI Desktop には Windows が必要です。 他のオペレーティング システムの代わりに、物理ホストまたは Windows ベースの仮想マシンで Power BI Desktop を実行し、オペレーティング システムから接続します。

    2.85.681.0 より前のバージョンの Power BI Desktop を使用している場合は、databricks ODBC ドライバーを Power BI Desktop と同じ環境にインストールする必要があります。

  • Azure Databricks の個人用アクセス トークンまたは Microsoft Entra ID アカウントの資格情報。

    Note

    セキュリティのベスト プラクティスとして、個人用アクセス トークンを使用して認証する場合、Databricks では、ワークスペース ユーザーではなくサービス プリンシパルに属する個人用アクセス トークンを使用することを推奨しています。 サービス プリンシパルのトークンを作成するには、「サービス プリンシパルのトークンを管理する」をご覧ください。

  • Azure Databricks クラスターまたは Databricks SQL ウェアハウス

Partner Connect を使用して Azure Databricks に Power BI Desktop を接続する

Partner Connect を使用すると、数回のクリックで Power BI Desktop からクラスターまたは SQL ウェアハウスに接続できます。

  1. Azure Databricks アカウント、ワークスペース、サインインしているユーザーがパートナー アカウントの要件を満たしていることを確認してください。

  2. サイド バーで、Partner Connect ボタン [Partner Connect] をクリックします。

  3. Power BI のタイルをクリックします。

  4. [パートナーに接続する] ダイアログの [コンピューティング] で、接続する Azure Databricks コンピューティング リソースの名前を選択します。

  5. [接続ファイルをダウンロードする] を選択します。

  6. ダウンロードした接続ファイルを開くと、Power BI Desktop が起動します。

  7. Power BI Desktop に、認証資格情報を入力します。

    • 個人用アクセス トークン: Azure Databricks 個人用アクセス トークンを入力します。
    • Microsoft Entra ID: [サインイン] をクリックし、画面の指示に従います。
    • ユーザー名/パスワード: 適用できません。
  8. [接続] をクリックします。

  9. Power BI ナビゲーターからクエリする Azure Databricks データを選択します。

    Power BI ナビゲーター

Power BI Desktop を Azure Databricks に手動で接続する

選択した認証方法に応じて、次の手順に従って、Power BI Desktop を使用してクラスターまたは SQL ウェアハウスに接続します。 DirectQuery モードで Power BI を使用するときは、Databricks SQL ウェアハウスをお勧めします。

Note

Power BI Desktop を使用した接続を高速化するには、Partner Connect を使用します。

  1. サーバーのホスト名と HTTP パスを取得します。

  2. Power BI Desktop を起動します。

  3. [データの取得] または [ファイル] > [データの取得] をクリックします。

  4. [データの取得] をクリックして開始します。

  5. Databricks を検索して、次のコネクタをクリックします。

    • Azure Databricks
  6. [接続] をクリックします。

  7. [サーバーホスト名][HTTP パス] を入力します。

  8. データ接続モードを選択します。 インポートDirectQuery の違いについては、「Power BI Desktop で DirectQuery を使用する」を参照してください。

  9. [OK] をクリックします。

  10. 認証方法をクリックします。

    • 個人用アクセス トークン: Azure Databricks 個人用アクセス トークンを入力します。
    • Microsoft Entra ID: [サインイン] をクリックし、画面の指示に従います。
    • ユーザー名/パスワード: 適用できません。
  11. [接続] をクリックします。

  12. Power BI ナビゲーターからクエリする Azure Databricks データを選択します。 ワークスペースで Unity カタログが有効になっている場合は、スキーマとテーブルを選択する前にカタログを選択します。

    Power BI ナビゲーター

カスタム SQL クエリの使用

Databricks コネクタでは、ユーザーがカスタム SQL クエリを提供できるようにする Databricks.Query データ ソースが提供されます。

  1. データ接続モードとしてインポートを使用して接続を作成するには、「Power BI Desktop を使用して接続する」で説明されている手順に従います。

  2. ナビゲーターで、選択したホスト名と HTTP パスを含む最上位の項目を右クリックし、[データの変換] をクリックして Power Query エディターを開きます。

    ナビゲーターで [データの変換] をクリックする

  3. 関数バーで、関数名 Databricks.CatalogsDatabricks.Query に置き換えて変更を適用します。 これにより、SQL クエリをパラメーターとして受け取る Power Query 関数が作成されます。

  4. パラメーターフィールドに SQL クエリを入力し、[呼び出し] をクリックします。 これによりクエリが実行され、その内容としてクエリ結果を含む新しいテーブルが作成されます。

Power BI サービスを使用して Azure Databricks データ ソースにアクセスする

Power BI サービスにレポートを発行するときは、個人用アクセス トークンを使用して Azure Databricks に接続します。 Power BI サービスでは、シングル サインオン (SSO) を有効にして、ユーザーが Microsoft Entra ID 資格情報を Azure Databricks に渡すことによって DirectQuery ストレージ モードを使用して構築されたレポートにアクセスできるようにすることもできます。

  1. Power BI Desktop から Power BI サービスにレポートを公開します。

  2. レポートと基になるデータ ソースへのシングル サインオン (SSO) アクセスを有効にします。

    1. Power BI サービスのレポートの基になる Azure Databricks データセットに移動し、[データ ソースの資格情報] を展開して、[資格情報の編集] をクリックします。
    2. 構成ダイアログで、[レポート ビューアーは直接クエリを使用して、独自の Power BI ID を使用してこのデータ ソースにのみアクセスできます] を選択し、[サインイン] をクリックします。

    SSO での Databricks データ アクセスを有効にする

    このオプションを選択すると、データ ソースへのアクセスは DirectQuery を使用して処理され、レポートにアクセスするユーザーの Microsoft Entra ID を使用して管理されます。 このオプションを選択しないと、Azure Databricks データ ソースには、レポートを公開したユーザーであるあなたしかアクセスできません。

HTTP プロキシの自動検出

Power BI Desktop バージョン 2.104.941.0 以降 (2022 年 5 月リリース) には、Windows システム全体の HTTP プロキシ構成を検出するための組み込みのサポートがあります。

Power BI Desktop では、Windows システム全体の HTTP プロキシ構成を自動的に検出して使用できます。

プロキシ サーバーによって CRL 配布ポイント (CDP) が提供されていない場合は、Power BI からの次のようなエラー メッセージが表示されることがあります。

Details: "ODBC: ERROR [HY000] [Microsoft][DriverSupport] (1200)
-The revocation status of the certificate or one of the certificates in the certificate chain is unknown."

このエラーを解決するには、次の手順を実行します。

  1. ファイル C:\Program Files\Microsoft Power BI Desktop\bin\ODBC Drivers\Simba Spark ODBC Driver\microsoft.sparkodbc.ini が存在しない場合は作成します。

  2. microsoft.sparkodbc.ini ファイルに次の構成を追加します。

    [Driver]
    CheckCertRevocation=0
    

Power BI の Delta Sharing コネクタ

Power BI Delta Sharing コネクタを使用すると、ユーザーは Delta Sharing オープン プロトコルを使用して、共有されているデータセットを検出、分析、視覚化できます。 このプロトコルにより、REST とクラウドのストレージを活用して、製品とプラットフォーム間でデータセットを安全に交換できます。

接続手順については、「Power BI: 共有データの読み取り」を参照してください。

制限事項

  • Azure Databricks コネクタは、Web プロキシをサポートしています。 ただし、.pac ファイルで定義される自動プロキシ設定はサポートされていません。
  • Azure Databricks コネクタでは、Databricks.Query データ ソースは DirectQuery モードとの組み合わせではサポートされていません。
  • Delta Sharing コネクタによって読み込まれるデータは、マシンのメモリに収まる必要があります。 このため、コネクタは、インポートされる行数を先に設定した [行数の制限] に制限します。

その他の技術情報

サポート