共用方式為


將 Power BI 連接至 Azure Databricks

Microsoft Power BI 是一項商務分析服務,可提供具有自助商業智慧功能的互動式視覺效果,讓使用者不需要依賴資訊技術人員或資料庫管理員,自行建立報表和儀錶板。

將 Azure Databricks 作為資料來源與 Power BI 搭配使用時,你可以將 Azure Databricks 效能和技術的優勢帶給所有商務使用者 (而不是僅帶給資料科學家和資料工程師)。

從 Azure Databricks 發佈至 Power BI 線上

使用 Azure Databricks 作為 Power BI Online 的數據源時,您可以直接從 Databricks UI 從數據表或架構建立 Power BI 數據集。

需求

  • 您的數據必須位於 Unity 目錄,且計算(叢集)必須啟用 Unity 目錄。 目前不支援 Hive 中繼存放區。

  • 你必須具有 Premium (Premium 容量或 Premium Per User 授權) Power BI 授權。

  • 您必須將下列許可權授與已註冊的 Entra ID 應用程式 Databricks 資料集發佈整合,該應用程式用於從 Databricks 發佈至 Power BI:

    • Content.Create

    • Dataset.ReadWrite.All

    • Workspace.Read.All

      EntraID 應用程式

    如需更多資訊,請參閱 Microsoft Entra 權限

    注意

    這些權限通常需要 Entra 管理員同意,尤其是 Power BI 中工作區和資料集層級的存取。 如需指示,請參閱檢閱管理員同意要求

  • 您必須為 Power BI 容量中的 XMLA 端點 啟用 讀取寫入。 遵循此連結以取得相關指示。

  • 如果使用者想要在發佈后編輯 Power BI 服務中的語意模型,您必須啟用 用戶可以在工作區設定中編輯 Power BI 服務中的數據模型 (預覽)。 你也可以使用 Tabular Editor 編輯語意模型,方法是使用 XMLA 端點建立連線。

  • 如果您的 Power BI 工作區使用私人連結,您必須在 Power BI 中手動更新數據集的數據源認證。

將 Azure Databricks 數據表發佈至 Power BI 數據集

  1. 登入您的 Databricks 工作區,然後點擊側邊欄中的 目錄圖示[目錄] 以開啟 [目錄總管]。

  2. 從右上方的下拉式清單中選取計算資源。

  3. 開啟目錄,然後選取要發佈的架構或數據表。 請勿從Hive Meta存儲或樣本目錄中選取。

  4. 在右上方,按一下 [與 BI 工具搭配使用] 以取得架構,或在儀錶板 中開啟資料表

  5. 選取 發佈至 Power BI 工作區

  6. 在 [連線至合作夥伴] 對話方塊中,按一下 [連線至 Microsoft Entra ID] 進行驗證。

  7. Power BI 工作區中,選取 Power BI 工作區。

  8. 在 [數據集模式]中,選取 [DirectQuery] 或 [匯入]。

  9. 在 Power BI的 [驗證方法] 中,選取 [OAuthPAT [個人存取令牌]

    Databricks 建議使用 OAuth,因為它允許更細緻的存取控制和使用者層級稽核。 在 [數據源認證] 底下的 [Power BI 數據集設定] 頁面上,可能需要設定 OAuth 認證,。 如果您選取 [個人存取令牌],則會代表您建立 PAT,以允許 Power BI 存取語意模型。

  10. 在 [數據集名稱]中,選擇 發佈為新的數據集使用現有的數據集

    當你選擇 [使用現有的資料集] 時,將符合下列條件:

    • 如果資料集已存在,則不會覆寫上去。 更新只會在指定的架構中附加新記錄。
      • 如果選取的數據表不是現有數據集的一部分,則會新增它。
      • 如果數據表已在數據集中,且上次更新之後新增了新的數據行,則會自動新增這些數據行。
      • 您可以選擇新資料表的不同儲存模型,以建立 複合語意模型

    如果您有現有的語意模型並希望在保留現有資料連線的情況下進行更新,請選擇 使用現有的數據集。 如果您要使用新的語意模型建立新的資料集,請選擇 [發佈為新的資料集

  11. 按一下 [發佈至 Power BI]

  12. 在資料集發佈後的 10 至 20 秒內,按一下 [開啟 Power BI] 以在新索引標籤中開啟 Power BI 資料集。

功能和附註

  • 發行包含多個數據表的架構時,會發佈具有數據行的所有數據表。 沒有數據行的數據表不會發佈。
  • Azure Databricks 中數據表數據行的批注會複製到 Power BI 中對應數據行的描述。
  • 已發佈的資料集中將保留外部索引鍵關聯性。 不過,Power BI 只支援任兩個數據表之間的一個作用中關聯性路徑。 當 Azure Databricks 中的架構中有多個路徑時,Power BI 中的一些對應關聯性會設定為非使用中。 你稍後可以在 Power BI 的資料模型檢視中變更哪些關聯性是作用中或非作用中狀態。
  • 使用 OAuth 或內部部署數據閘道時,可能需要在 Power BI 數據集設定頁面上的 [數據源認證] 底下設定認證。
  • 目前,使用者只能直接發佈至其主租使用者中的Power BI工作區。 不支援在做為來賓使用者的租用戶中進行發佈。

疑難排解

錯誤 備註
第一次啟動 [發佈至 Power BI] 時顯示 [需要核准] 如果您看到此訊息,您必須先取得 Entra Admin 核准,才能將許可權授與此整合功能。 請連絡 Entra 系統管理員來核准要求。 遵循此連結以取得相關指示。
PowerBINotLicensedException 確保你具有 Power BI Premium 授權。
我們無法部署此資料集。 請連絡容量系統管理員,以確保在 Power BI Premium 容量上的容量設定中啟用了 XMLA 讀寫支援,然後再試一次。 如需其他資訊,請參閱產品文件中的「XMLA 讀寫支援」。 請連絡 Power BI 容量系統管理員,以在容量設定中的 [XMLA 端點] 下啟用 [讀取和寫入] 功能。 遵循此連結以取得相關指示。
XMLA 端點功能已停用。 在 PowerBI.com 中開啟 [在 Excel 中進行分析] 功能,以啟用此功能。 請連絡 Power BI 容量系統管理員,以在容量設定中的 [XMLA 端點] 下啟用 [讀取和寫入] 功能。 遵循此連結以取得相關指示。
CapacityNotActive 你的容量可能會暫停。 請連絡你的容量系統管理員以檢查容量狀態。
名稱為 ‘<ccon>***</ccon>’ 的資料庫已存在於 ‘<ccon>workspace </ccon>’ *** 中。 確保你有權建立語意模型。 然後,重試 [發佈至 Power BI] 以使用遞增版本號碼發佈語意模型。
你無法在相同的模型中將 Direct Lake 模式與其他儲存模式一起使用。 複合模型不支援 Direct Lake 模式。 拿掉不支持的數據表,或將它們切換至 Direct Lake 模式。 由於 [發佈至 Power BI] 會建立具有 [匯入] 或 DirectQuery 模式的語意模型,因此無法用來發佈至使用 Direct Lake 模式的現有資料集。 請遵循此連結以深入了解
'<euii> *</euii>' 使用者沒有呼叫探索方法的權限。 請確定你發行至具有進階版授權模式的 Power BI 工作區。 你無法發佈至具有 Pro 授權模式的工作區。
<euii> </euii>’ 使用者無權在 ‘**’ 中建立新物件,或者該物件不存在。 你可能在 Power BI 工作區中具有檢視者角色。 檢查你是否有權建立語意模型。 如需詳細資訊,請遵循此連結
「無法在 HTTP 連線期間更新數據源認證:[Microsoft][ThriftExtension] (14) 伺服器未預期的回應:傳回未經授權的/禁止錯誤回應,但未收到令牌過期的訊息。 在 Power BI 上編輯數據源認證時 檢查你的 Databricks 工作區是否可公開存取。 如果工作區正在使用私人連結或 IP 存取清單,你可能需要設定 Power BI 內部部署閘道。

將 Power BI Desktop 連線至 Azure Databricks

你可以將 Power BI Desktop 連線至 Azure Databricks 叢集和 Databricks SQL 倉儲。 您也可以將 Power BI 報表發佈至 Power BI 服務,並讓使用者使用單一登錄來存取基礎 Azure Databricks 數據,並傳遞用來存取報表的相同Microsoft Entra ID 認證。

需求

  • Power BI Desktop 2.85.681.0 或更新版本。 若要搭配 Power BI 使用 Unity 目錄所管理的數據,您必須使用 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 驅動程式

  • Azure Databricks 個人存取令牌 或您的 Microsoft Entra ID 帳戶憑證。

    注意

    作為安全性最佳做法,當你使用個人存取權杖進行驗證時,Databricks 建議你使用屬於服務主體的個人存取權杖,而不是工作區使用者。 如果要建立服務主體的權杖,請參閱管理服務主體的權杖

  • Azure Databricks 叢集或 Databricks SQL 倉儲

使用 Partner Connect 將 Power BI Desktop 連線至 Azure Databricks

只要按幾下滑鼠,你就可以使用 Partner Connect 從 Power BI Desktop 連線至叢集或 SQL 倉儲。

  1. 確定你的 Azure Databricks 帳戶、工作區和已登入的使用者符合 Partner Connect 的需求

  2. 在側邊欄中,點選 Marketplace 圖示 Marketplace

  3. Partner Connect 集成中,點選 檢視所有

  4. 按一下 [Power BI] 磚。

  5. 在 [連線至合作夥伴] 對話方塊中,針對 [計算] 選擇你要連線的 Azure Databricks 計算資源名稱。

  6. 選擇 [下載連線檔案]

  7. 開啟下載的連線檔案,這將啟動 Power BI Desktop。

  8. 在 Power BI Desktop 中,輸入您的驗證認證:

    • 個人存取權杖:輸入你的 Azure Databricks 個人存取權杖。
    • Microsoft Entra ID:按一下 [登入],然後遵循畫面上的指示。
  9. 按一下 [連線]

  10. 從 Power BI Navigator選取要查詢的 Azure Databricks 數據。

    Power BI 導覽器

手動將 Power BI Desktop 連線至 Azure Databricks

根據你選擇的驗證方法,遵循這些指示,來使用 Power BI Desktop 連線至叢集或 SQL 倉儲。 在 [DirectQuery] 模式中使用 Power BI 時,建議使用 Databricks SQL 倉儲。

注意

如果要使用 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. 按一下 [確定]

  10. 按一下你的驗證方法:

    • 個人存取權杖:輸入你的 Azure Databricks 個人存取權杖。
    • Microsoft Entra ID:按一下 [登入],然後遵循畫面上的指示。
  11. 按一下 [連線]

  12. 從 Power BI Navigator選取要查詢的 Azure Databricks 數據。 如果已啟用工作區的 Unity 目錄,請先選取目錄,再選取架構和數據表。

    Power BI 導覽器

使用自訂 SQL 查詢

Databricks 連接器提供 Databricks.Query 資料來源,可讓使用者提供自訂 SQL 查詢。

  1. 遵循使用 Power BI Desktop 進行連線中所述的步驟建立連線,並使用 [匯入] 作為資料連線模式。

  2. 在 [導覽] 中,以滑鼠右鍵按一下包含所選主機名稱和 HTTP 路徑的最上面的項目,然後按一下 [轉換資料] 以開啟 Power Query 編輯器。

    按一上 [導覽] 中的 [轉換資料]

  3. 在函式列中,將函式名稱 Databricks.Catalogs 取代為 Databricks.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 報表從 Power BI Desktop 發佈至 Power BI 服務。

  2. 啟用對報表和基礎資料來源的單一登入 (SSO) 存取。

    1. 移至 Power BI 服務中報表的基礎 Azure Databricks 數據集,展開 [資料源認證],然後按下 [編輯認證]
    2. 在 [組態] 對話框中,選取 [報表檢視者只能使用他們自己的 Power BI 身份直接查詢 存取此資料來源],然後按 [登入]

    為 Databricks 資料存取啟用 SSO

    選取此選項後,將使用 DirectQuery 處理對資料來源的存取,並使用存取報表的使用者的 Microsoft Entra ID 身分識別進行管理。 如果您未選取此選項,只有身為發佈報表的使用者,才能存取 Azure Databricks 數據源。

自動化 HTTP Proxy 偵測

Power BI Desktop 2.104.941.0 版和更新版本 (2022 年 5 月版本) 內建支援偵測 Windows 系統範圍的 HTTP Proxy 組態。

Power BI Desktop 可以自動偵測和使用 Windows 系統範圍的 HTTP Proxy 組態。

如果 Proxy 伺服器未提供 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 Proxy。 不過,不支援 .pac 檔案中定義的自動 Proxy 設定。
  • 在 Azure Databricks 連接器中,不支援結合 DirectQuery 模式使用 Databricks.Query 資料來源。
  • Delta Sharing 連接器載入的資料必須裝入電腦的記憶體。 為了確保這一點,連接器會將匯入的數據列數目限制為先前設定 數據列限制

其他資源

支援