使用 Livy API 提交和執行 Spark 作業
注意
適用於網狀架構的 Livy API 資料工程師 處於預覽狀態。
適用於:✅Microsoft Fabric 中的 資料工程師 和 資料科學
透過建立 Lakehouse、使用 Microsoft Entra 應用程式令牌進行驗證、將批次或會話作業從遠端用戶端提交至 Fabric Spark 計算,開始使用 Livy API for Fabric 資料工程師。 您將探索 Livy API 端點;送出作業;並監視結果。
必要條件
使用 LakeHouse 的 Fabric Premium 或試用版容量
啟用 Livy API 的 租使用者管理員設定 (預覽)
適用於 Python 的 Visual Studio Code 與 Jupyter Notebook 支援、PySpark 和 Microsoft 驗證連結庫 (MSAL) 等遠端用戶端
需要Microsoft Entra 應用程式令牌才能存取網狀架構 Rest API。 使用 Microsoft 身分識別平台來註冊應用程式
選擇 REST API 用戶端
您可以使用各種程式設計語言或 GUI 用戶端來與 REST API 端點互動。 在本文中,我們會使用 Visual Studio Code。 Visual Studio Code 必須使用 適用於 Python 的 Jupyter Notebook、 PySpark 和 Microsoft 驗證連結庫 (MSAL) 進行設定
如何授權 Livy API 要求
若要使用包含 Livy API 的網狀架構 API,您必須先建立Microsoft Entra 應用程式並取得令牌。 您的應用程式必須經過適當註冊和設定,才能針對 Fabric 執行 API 呼叫。 如需詳細資訊,請參閱使用 Microsoft 身分識別平台註冊應用程式。
執行 Livy 作業所需的許多Microsoft Entra 範圍許可權。 此範例使用簡單的 Spark 程式代碼 + 記憶體存取 + SQL:
- Code.AccessAzureDataExplorer.All
- Code.AccessAzureDataLake.All
- Code.AccessAzureKeyvault.All
- Code.AccessFabric.All
- Code.AccessStorage.All
- Item.ReadWrite.All
- Lakehouse.Execute.All
- Lakehouse.Read.All
- Workspace.ReadWrite.All
注意
在公開預覽期間,我們將新增一些額外的細微範圍,如果您使用此方法,當我們新增這些額外的範圍時,您的 Livy 應用程式將會中斷。 請檢查此清單,因為它會隨著其他範圍更新。
某些客戶想要比先前清單更細微的許可權。 您可以移除 Item.ReadWrite.All,並以這些更細微的範圍權限取代 :
- Code.AccessAzureDataExplorer.All
- Code.AccessAzureDataLake.All
- Code.AccessAzureKeyvault.All
- Code.AccessFabric.All
- Code.AccessStorage.All
- Lakehouse.Execute.All
- Lakehouse.ReadWrite.All
- Workspace.ReadWrite.All
- Notebook.ReadWrite.All
- SparkJobDefinition.ReadWrite.All
- MLModel.ReadWrite.All
- MLExperiment.ReadWrite.All
- Dataset.ReadWrite.All
註冊應用程式時,您需要應用程式(用戶端)標識碼和目錄(租用戶)標識碼。
呼叫 Livy API 的已驗證用戶必須是具有參與者角色的 API 和數據源專案所在的工作區成員。 如需詳細資訊,請參閱讓使用者存取工作區。
如何探索網狀架構 Livy API 端點
需要 Lakehouse 成品才能存取 Livy 端點。 建立 Lakehouse 之後,Livy API 端點就可以位於設定面板中。
Livy API 的端點會遵循下列模式:
https://api.fabric.microsoft.com/v1/workspaces/ < >ws_id/lakehouses/<lakehouse_id>/livyapi/versions/2023-12-01/
根據您選擇的專案,URL 會附加會話<>或<批次>。
與網狀架構環境整合
針對每個 Fabric 工作區,會布建預設的入門集區,依預設,所有 Spark 程式代碼的執行都會使用此入門集區。 您可以使用網狀架構環境來自定義 Livy API Spark 作業。
下載 Livy API Swagger 檔案
您可以在這裡取得 Livy API 的完整 Swagger 檔案。
提交 Livy API 作業
現在 Livy API 的設定已完成,您可以選擇提交批次或會話作業。
如何監視要求歷程記錄
您可以使用監視中樞來查看先前的 Livy API 提交,並偵錯任何提交錯誤。