Power BI を Databricks に接続する
Microsoft Power BIは、セルフサービスのビジネスインテリジェンス機能を備えたインタラクティブなビジュアライゼーションを提供するビジネスアナリティクスサービスであり、ITスタッフやデータベース管理者に依存することなく、エンドユーザー自身がレポートやダッシュボードを作成することができます。
DatabricksをPower BIのデータソースとして使用すると、データサイエンティストやデータエンジニアだけでなく、すべてのビジネスユーザーに、Databricksのパフォーマンスとテクノロジーのメリットを提供することができます。
Databricks から Power BI Online に発行する
Online で Databricksをデータソースとして使用すると、Power BIPower BI DatabricksUI から直接テーブルまたはスキーマから データセットを作成できます。
必要条件
-
データは Unity Catalogにあり、コンピュート (クラスター) が Unity Catalog 有効になっている必要があります。 Hive metastore は現在サポートされていません。
-
Premium (Premium 容量または Premium Per User ライセンス) Power BI ライセンスが必要です。
-
から への公開に使用している登録済みのEntra IDアプリ、 Databricks データセット Publishing Integration DatabricksPower BIに次の権限を付与する必要があります。
-
Content.Create
-
Dataset.ReadWrite.All
-
ワークスペース.Read.All
詳細については、「Microsoft Entra のアクセス許可」を参照してください。
-
Entra 管理者の同意は、通常、これらのアクセス許可 (特に Power BI のワークスペースとデータセット レベルのアクセス) に必要です。手順については、「 管理者の同意要求を確認する 」を参照してください。
-
Power BI 容量で XMLA エンドポイント の読み取り/書き込み を有効にする必要があります。手順については、この リンク をたどってください。
-
公開後にユーザーが Power BI サービスでセマンティック モデルを編集する場合は、ワークスペース設定で [ ユーザーは Power BI サービス (プレビュー)] で [データ モデルを編集できる ] を有効にする必要があります。 また、XMLA エンドポイントを使用して接続を作成することで、表形式エディターを使用してセマンティック モデルを編集することもできます。
-
Power BI ワークスペースでプライベート リンクを使用している場合は、Power BI でデータセットのデータソース資格情報を手動で更新する必要があります。
Databricks テーブルを Power BI データセットに発行する
-
Databricks ワークスペースにサインインし、サイドバーの [ カタログ] をクリックして
[カタログ エクスプローラー] を開きます。
-
右上のドロップダウンリストからコンピュートリソースを選択します。
-
カタログを開き、公開するスキーマまたはテーブルを選択します。 Hive metastoreやサンプルカタログから選択しないでください。
-
スキーマ右上の [ BI ツールと併用 ] をクリックするか、テーブル右上の [ ダッシュボードで開く ] をクリックします。
-
[Power BI ワークスペースに発行] を選択します。
-
[ パートナーに接続 ] ダイアログで、[Microsoft Entra ID に接続して 認証する] をクリックします。
-
Power BIワークスペース で、Power BIワークスペースを選択します。
-
データセット Mode で、DirectQuery または Import を選択します。
-
Power BIの [認証方法 ] で、[ OAuth ] または [PAT (パーソナル アクセス トークン)] を選択します。
Databricks では、きめ細かなアクセス制御とユーザー レベルの監査を可能にするため、OAuth の使用をお勧めします。 OAuth 資格情報は、 Power BI データセット設定ページの データソース資格情報 で構成する必要がある場合があります。 [個人用アクセス トークン (PAT)] を選択すると、Power BI がセマンティック モデルにアクセスできるように、ユーザーに代わって PAT が作成されます。
-
[データセット名 ] で、[ 新しいデータ セットとして発行] または [ 既存のデータ セットを使用する ] を選択します。
[ 既存のデータセットを使用する ] を選択すると、次の条件が当てはまります。
- データセットが存在する場合、上書きされません。 更新では、特定のスキーマに新しいレコードのみが追加されます。
- 選択したテーブルが既存のデータセットの一部でない場合は、追加されます。
- テーブルが既にデータセットに含まれていて、前回の更新後に新しい列が追加された場合、それらの列は自動的に追加されます。
- 新しいテーブルに別のストレージモデルを選択して、 複合セマンティックモデルを作成できます。
既存のセマンティックモデルがあり、既存のデータ接続を維持しながら更新する場合は、[ 既存のデータセットを使用する ] を選択します。 新しいセマンティックモデルを使用して新しいデータセットを作成する場合は、[ 新しいデータセットとして発行 ] を選択します。
- データセットが存在する場合、上書きされません。 更新では、特定のスキーマに新しいレコードのみが追加されます。
-
[Power BI に公開] をクリックします。
-
データセットが発行されたら 10 秒から 20 秒後に、 [ Power BI を開く ] をクリックして、新しいタブで Power BI データセットを開きます。
機能と注意事項
- 複数のテーブルを含むスキーマをパブリッシュすると、カラムを持つすべてのテーブルがパブリッシュされます。 列のないテーブルは公開されません。
- Databricks のテーブルの列に対するコメントは、Power BI の対応する列の説明にコピーされます。
- 外部キーの関係は、公開されたデータセットに保持されます。 ただし、Power BI では、任意の 2 つのテーブル間のアクティブなリレーションシップ パスが 1 つだけサポートされます。 Databricks のスキーマに複数のパスが存在する場合、Power BI の対応するリレーションシップの一部が非アクティブに設定されます。 後で Power BI のデータ モデル ビューで、アクティブまたは非アクティブなリレーションシップを変更できます。
- OAuth またはオンプレミス データ ゲートウェイを使用する場合は、Power BI データセット設定ページの [データソース資格情報] で資格情報を構成する必要がある場合があります。
- 現在、ユーザーはホーム テナント内の Power BI ワークスペースにのみ直接発行できます。 ゲスト ユーザーであるテナントでの公開はサポートされていません。
トラブルシューティング
エラー | 注 |
---|---|
Power BI への公開を初めて起動するときに "承認が必要" | このメッセージが表示された場合、この統合機能に権限を付与する前に、Entra管理者の承認が必要です。 Entra管理者に連絡して、リクエストを承認してください。 手順については、この リンク をたどってください。 |
パワービノットライセンス例外 | Power BI Premium ライセンスがあることを確認します。 |
このデータセットをデプロイできませんでした。 容量管理者に問い合わせて、Power BI Premium 容量の容量設定で XMLA の読み取り/書き込みサポートが有効になっていることを確認してから、もう一度やり直してください。 詳細については、製品ドキュメントの「XMLA 読み取り/書き込みサポート」を参照してください。 | Power BI 容量管理者に問い合わせて、容量設定の XMLA エンドポイント で 読み取り機能と書き込み 機能を有効にしてください。手順については、この リンク をたどってください。 |
XMLA エンドポイント機能は無効です。 この機能を有効にするには、PowerBI.com で Excel で分析機能をオンにします。 | Power BI 容量管理者に問い合わせて、容量設定の XMLA エンドポイント で 読み取り機能と書き込み 機能を有効にしてください。手順については、この リンク をたどってください。 |
CapacityNotActive(アクティブでない) | 容量が停止する場合があります。 容量管理者に連絡して、容量のステータスを確認してください。 |
' | セマンティック モデルを作成する権限があることを確認します。 次に、Power BI への発行を再試行して、バージョン番号がインクリメントされたセマンティック モデルを発行します。 |
Direct Lakeモードを同じモデルの他のストレージモードと一緒に使用することはできません。 複合モデルは Direct Lake モードをサポートしていません。 サポートされていないテーブルを削除するか、Direct Lakeモードに切り替えてください。 | Power BI に発行すると、インポート モードまたは DirectQuery モードでセマンティック モデルが作成されるため、Direct Lake モードを使用する既存のデータセットに発行するために使用することはできません。 詳細については、この リンク をたどってください。 |
' | Premium ライセンス モードで Power BI ワークスペースに発行していることを確認します。 Pro ライセンス モードのワークスペースにパブリッシュすることはできません。 |
' | Power BI ワークスペースで閲覧者ロールを持っている場合があります。 セマンティック モデルを作成するアクセス許可があるかどうかを確認します。 詳細については、この リンク をたどってください。 |
「データソースの資格情報を更新できませんでした([Microsoft][thriftextension] (14) HTTP接続中にサーバーからの予期しない応答:未承認/禁止エラー応答が返されましたが、トークンの有効期限が切れたメッセージは受信されませんでした。」 Power BIでデータソースの認証情報を編集する場合 | Databricks ワークスペースがパブリックにアクセス可能かどうかを確認します。 ワークスペースで Private Link または IP アクセス リストを使用している場合は、Power BI オンプレミス ゲートウェイの構成が必要になることがあります。 |
Power BI Desktop を Databricks に接続する
Power BI DesktopをDatabricksクラスターおよびDatabricks SQLウェアハウスに接続できます。
必要条件
- Power BI Desktop 2.85.681.0以降。Unity Catalogで管理されているデータをPower BIで使用するには、Power BI Desktop 2.98.683.0以降(2021年10月リリース)を使用する必要があります。
Power BI DesktopにはWindowsが必要です。他のオペレーティングシステムを使用している場合は、物理ホストまたはWindowsベースの仮想マシン上でPower BI Desktopを実行し、ご利用のオペレーティングシステムからそれに接続することもできます。
2.85.681.0より前のバージョンのPower BI Desktopを使用している場合は、Power BI Desktopと同じ環境にDatabricks ODBCドライバーをインストールする必要もあります。
- Databricks 個人用アクセス トークン。
個人用アクセス トークンを使用して認証する場合のセキュリティのベスト プラクティスとして、 Databricks では、ワークスペース ユーザーではなく 、サービスプリンシパル に属する個人用アクセス トークンを使用することをお勧めします。 サービスプリンシパルのトークンを作成するには、「 サービスプリンシパルのトークンの管理」を参照してください。
Partner Connect を使用して Power BI Desktop を Databricks に接続する
Partner Connectを使用すると、数回クリックするだけでPower BI DesktopからクラスターまたはSQLウェアハウスに接続できます。
-
Databricks アカウント、ワークスペース、サインインしているユーザーが Partner Connect の 要件を満たしている ことを確認します。
-
サイドバーで、
Marketplace をクリックします。
-
Partner Connect 統合で 、[ すべて表示 ] をクリックします。
-
「 Power BI 」タイルをクリックします。
-
[ Connect to パートナー ] ダイアログの [コンピュート ] で、接続する Databricks コンピュート リソースの名前を選択します。
-
「 接続ファイルをダウンロード 」を選択します。
-
ダウンロードした接続ファイルを開くと、Power BI Desktopが起動します。
-
Power BI Desktopで、認証情報を入力します。
- パーソナルアクセストークン :Databricksのパーソナルアクセストークンを入力します。
- Microsoft Entra ID : 適用されません。
-
「 接続 」をクリックします。
-
Power BIの ナビゲーター からクエリーするDatabricksデータを選択します。
Power BI Desktop を Databricks に手動で接続する
SQL選択した認証方法に応じて、次の手順に従って、Power BI Desktop を使用してクラスター ウェアハウスまたは ウェアハウスに接続します。Databricks SQL ウェアハウスは、Power BI を DirectQuery モードで使用する場合に推奨されます。
迅速にPower BI Desktopと接続するには、Partner Connectを使用します。
-
サーバーのホスト名と HTTP パスを取得します。
-
Power BI Desktopを起動します。
-
「 データを取得 」または 「ファイル」>「データを取得」 をクリックします。
-
「 データを取得 」をクリックして開始します。
-
「 Databricks 」と検索し、コネクタをクリックします。
- Azure Databricks
コネクタ名は Azure Databricks ですが、Databricks on Google Cloudで動作します。
-
「 接続 」をクリックします。
-
サーバーのホスト名 と HTTPパス を入力します。
-
データ接続モード を選択します。 インポート と DirectQuery の違いについては、「Power BI DesktopでDirectQueryを使用する」を参照してください。
-
「 OK 」をクリックします。
-
認証方法をクリックします。
- パーソナルアクセストークン :Databricksのパーソナルアクセストークンを入力します。
- Microsoft Entra ID : 適用されません。
-
「 接続 」をクリックします。
-
Power BIの ナビゲーター からクエリーするDatabricksデータを選択します。
カスタム SQL クエリの使用
DatabricksコネクタはDatabricks.Query
データソースを提供しています。これを使用すると、ユーザーがカスタムSQLクエリーを指定できます。
-
「Power BI Desktop との接続」で説明されている手順に従って、データ接続モードとして [インポート ] を使用して接続を作成します。
-
ナビゲーター で、選択したホスト名とHTTPパスを含む一番上のアイテムを右クリックし、「 データを変換 」をクリックしてPower Queryエディタを開きます。
-
関数バーで、関数名
Databricks.Catalogs
をDatabricks.Query
に置き換えて、変更を適用します。これにより、SQLクエリーをパラメーターとして受け取るPower Query関数が作成されます。 -
パラメーターフィールドに SQL クエリを入力し、[ 呼び出し] をクリックします。 これによりクエリが実行され、クエリ結果を内容として新しいテーブルが作成されます。
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."
このエラーに対応するには、以下のステップを実行します。
-
ファイルが存在しない場合は、
C:\Program Files\Microsoft Power BI Desktop\bin\ODBC Drivers\Simba Spark ODBC Driver\microsoft.sparkodbc.ini
を作成します。 -
microsoft.sparkodbc.ini
ファイルに以下の構成を追加します。ini[Driver]
CheckCertRevocation=0
Power BI Delta Sharing コネクタ
Power BI Delta Sharing コネクタを使用すると、ユーザーは Delta Sharing オープン プロトコルを通じて共有されているデータセットを検出、分析、視覚化できます。 このプロトコルは、RESTとクラウドストレージを活用することで、製品やプラットフォーム間でのデータセットの安全な交換を可能にします。
接続手順については、「 Power BI: 共有データの読み取り」を参照してください。
制限
- DatabricksコネクタはWebプロキシをサポートしています。ただし、.pacファイルで定義された自動プロキシ設定はサポートされません。
- Databricksコネクタでは、
Databricks.Query
データソースとDirectQueryモードの組み合わせはサポートされていません。 - Delta Sharingコネクタが読み込むデータは、マシンのメモリに収まるものである必要があります。これを確実にするために、コネクタはインポートされる行の数を、以前に設定された 行制限 に制限します。