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 は現在サポートされていません。
プレミアム (プレミアム容量またはプレミアム ユーザーごとのライセンス) Power BI ライセンスが必要です。
から への公開に使用している登録済みのEntra IDアプリ、Databricks データセット Publishing Integration DatabricksPower BIに次の権限を付与する必要があります。
Content.Create
Dataset.ReadWrite.All
ワークスペース.Read.All
詳細については、「Microsoft Entra のアクセス許可」を参照してください。
注
Entra 管理者の同意は、通常、これらのアクセス許可 (特に Power BI のワークスペースとデータセット レベルのアクセス) に必要です。手順については、「 管理者の同意要求を確認する 」を参照してください。
Power BI ワークスペースの設定で、公開後にセマンティック モデルを編集するには、 [ ユーザーは Power BI サービスでデータ モデルを編集できる (プレビュー)] を有効にする必要があります。 また、XMLA エンドポイントを使用して接続を作成することで、表形式エディターを使用してセマンティック モデルを編集することもできます。
Power BI ワークスペースで XML 書き込みを有効にする必要がある場合は、この リンク で手順を確認してください。
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(Personal アクセストークン)を選択します。
Databricks では、きめ細かなアクセス制御とユーザー レベルの監査を可能にするため、OAuth の使用をお勧めします。 OAuth 資格情報は、 Power BI データセット設定ページの データソース資格情報で構成する必要がある場合があります。 [Personal アクセストークン (PAT)] を選択すると、ユーザーに代わって PAT が作成され、 Power BI セマンティック モデルにアクセスできるようになります。
[データセット名] で、[新しいデータ セットとして発行] または [既存のデータ セットを使用する] を選択します。
[ 既存のデータセットを使用する] を選択すると、次の条件が当てはまります。
データセットが存在する場合、上書きされません。 更新では、特定のスキーマに新しいレコードのみが追加されます。
選択したテーブルが既存のデータセットの一部でない場合は、追加されます。
テーブルが既にデータセットに含まれていて、前回の更新後に新しい列が追加された場合、それらの列は自動的に追加されます。
新しいテーブルに別のストレージモデルを選択して、 複合セマンティックモデルを作成できます。
既存のセマンティックモデルがあり、既存のデータ接続を維持しながら更新する場合は、[ 既存のデータセットを使用する] を選択します。 新しいセマンティックモデルを使用して新しいデータセットを作成する場合は、[ 新しいデータセットとして発行] を選択します。
[Power BI に公開] をクリックします。
データセットが発行されたら 10 秒から 20 秒後に、 [ Power BI を開く ] をクリックして、新しいタブで Power BI データセットを開きます。
機能と注意事項
複数のテーブルを含むスキーマをパブリッシュすると、カラムを持つすべてのテーブルがパブリッシュされます。 列のないテーブルは公開されません。
Databricks のテーブルの列のコメントは、Power BI の対応する列の説明にコピーされます。
外部キーの関係は、公開されたデータセットに保持されます。 ただし、Power BI では、任意の 2 つのテーブル間のアクティブなリレーションシップ パスが 1 つだけサポートされます。 Databricks のスキーマに複数のパスが存在する場合、Power BI の対応するリレーションシップの一部が非アクティブに設定されます。 後で Power BI のデータ モデル ビューで、アクティブまたは非アクティブなリレーションシップを変更できます。
OAuth またはオンプレミスのデータ ゲートウェイを使用する場合は、Power BI データセット設定ページの [データソース credentials] で資格情報を構成する必要がある場合があります。
トラブルシューティング
エラー |
注 |
---|---|
Power BI への公開を初めて起動するときに "承認が必要" |
このメッセージが表示された場合、この統合機能に権限を付与する前に、Entra管理者の承認が必要です。 Entra管理者に連絡して、リクエストを承認してください。 手順については、この リンク をたどってください。 |
PowerBINotLicensedException (英語) |
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 ワークスペースで閲覧者ロールを持っている場合があります。 セマンティック モデルを作成するアクセス許可があるかどうかを確認します。 詳細については、この リンク をたどってください。 |
"Failed to update Source, credentials: [Microsoft][ThriftExtension] (14) Unexpected response from server during a HTTP connection: Unauthorized/Forbidden error response returned but no token, expired message received."(データソースの資格情報を更新できませんでした: [ ][ThriftExtension] (14) HTTP 接続中にサーバーからの予期しない応答: Unauthorized/Forbidden error response returned but no token expired message received." (データソースの資格情報の更新に失敗しました: [ ][ThriftExtension] (14) Unexpected response from server during a HTTP connection: Unauthorized/Forbidden error response returned but no token expired message received." (データソースの資格情報の更新に失敗しました: [ 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の 要件を満たし ていることを確認します。
サイドバーで、「 Partner Connect 」をクリックします 。
「Power BI」タイルをクリックします。
[ パートナーへの接続 ] ダイアログの [コンピュート] で、接続する Databricks コンピュート リソースの名前を選択します。
「接続ファイルをダウンロード」を選択します。
ダウンロードした接続ファイルを開くと、Power BI Desktopが起動します。
Power BI Desktopで、認証情報を入力します。
パーソナルアクセストークン:Databricksのパーソナルアクセストークンを入力します。
ユーザー名/パスワード:該当なし。
Microsoft エントラID:適用されません。
「接続」をクリックします。
Power BIのナビゲーターからクエリーするDatabricksデータを選択します。
Power BI DesktopとDatabricksを手動で接続する
選択した認証方法に応じて、Power BI Desktop でクラスターまたは SQLウェアハウスに接続するには、次の手順に従ってください。 Databricks SQL ウェアハウスは、 DirectQuery モードで Power BI を使用する場合に推奨されます。
注
迅速に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 エントラ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
ファイルに以下の構成を追加します。[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コネクタが読み込むデータは、マシンのメモリに収まるものである必要があります。これを確実にするために、コネクタはインポートされる行の数を、以前に設定された行制限に制限します。