適用於:✅ Fabric 資料工程與資料科學
Fabric Data Engineering 中的資源配置檔能幫助你在不手動調整的情況下,獲得最佳化的 Spark 運算配置。 你透過選擇主要使用情境、資料量和其他幾個高層次輸入來描述你的工作負載。 Fabric 接著根據經驗證的最佳實務與內部效能資料,產生推薦配置,包括節點大小、自動縮放設定及執行時版本。
為什麼要使用資源設定檔
資源概要提供:
- 從一開始就優化:你的第一個 Spark 會話運行於針對你工作負載調整的運算上——不需要反覆的基準測試。
- 一致性:工作區中所有 Spark 工作都共享相同的效能調整設定。
- 更佳的性價比:適當規模的資源減少浪費並提升產能。
- 較低的營運開銷:調校週期較少,支援升級也減少。
先決條件
要設定資源設定檔,你必須擁有工作區的 管理員 角色。
設定資源配置檔
要為你的工作區設定資源設定檔:
進入你的工作區,選擇 工作區設定。
在左側窗格展開 「資料工程/科學 」,然後選擇 Spark 設定。
要取得推薦的運算配置以優化資源使用,請在 「針對你的使用情境優化」中選擇「 開始使用」。
在 「為你的使用案例優化 」頁面,請提供以下輸入:
- 主要使用情境:選擇 Medallion 圖層 或 任務導向,然後從下拉選單中選擇特定選項。 徽章層級有 青銅、 銀或 金三種。 基於任務的選項分為 讀取最佳化 或 寫入優化。 關於選擇使用案例的指引,請參閱 主要使用案例參考。
- 典型資料量:從下拉選單選擇一個磁碟區: 最多 1 GB、 10 GB、 100 GB、 1 TB 或 超過 1 TB。
- 最大容量單位(CU):使用滑桿設定火花池的最大容量上限。
選擇 「取得推薦」。
Fabric 會根據你的輸入產生優化的配置。
請檢視建議。 建議中包含兩類的值:
- 火花池:池型別、節點族、節點大小、自動縮放及動態執行器配置。
- 環境:執行版本、Spark 驅動核心與記憶體、Spark 執行核心、記憶體及實例。
如果你想調整輸入,請選擇返回箭頭回到上一頁,更新你的選擇,然後再次選擇 「取得推薦 」。
輸入 Spark 池名稱 和 環境以進行設定,然後選擇 套用將其儲存到工作區。
當您套用資源設定檔時,Fabric 會建立一個自訂的 Spark 池並使用建議的設定。
備註
如果你的工作區還沒有自訂池,新的池會自動設為 該工作區的預設池。 如果你的工作區已經有預設池,你需要在 Spark 工作區設定中手動切換到新的池。 正在進行的會話在重新啟動前不會受到影響。
主要使用案例參考
在設定資源配置檔時,請依照以下指引選擇正確的主要使用情境輸入:
徽章層
如果你的資料管線遵循 medallion 架構模式,資料會經過青銅(原始)、銀(清理)和金(精選)階段,請選擇 Medallion 層 。 每個選項都會針對該階段典型的讀寫特性進行計算調整。
| 應用案例 | 使用時機 |
|---|---|
| 青銅 | 原始資料擷取、高寫入吞吐量、多樣格式 |
| 銀 | 淨化與豐富,讀寫平衡,連接適度 |
| 金 | 彙整與報告,為分析與 Power BI 進行讀取優化 |
任務型
如果你的工作量不符合獎章模式,或是被單一存取模式佔據,就選擇 任務型 。 例如,將此選項用於獨立的 ETL 工作、互動式分析筆記本或串流管線。
| 應用案例 | 使用時機 |
|---|---|
| 閱讀優化 | 經常閱讀和查詢,互動筆記本 |
| 最佳化寫入 | 高流量的資料擷取、ETL 管道流程、串流 |
自動更新資源設定檔
資源設定檔支援自動更新功能,確保您的 Spark 運算設定與 Fabric 最新的優化保持一致。 啟用自動更新時,Fabric 會根據你的資源配置檔類型套用工作負載專屬的 Spark 屬性,無需手動調整。
自動更新設定
Fabric 提供三種自動更新設定檔,分別針對特定工作負載模式進行調整:
以讀取為主的 Spark 工作負載
透過 spark.fabric.resourceProfile.readHeavyForSparkAutoUpdate 設定:
{
"spark.databricks.delta.optimizeWrite.enabled": "true",
"spark.databricks.delta.optimizeWrite.partitioned.enabled": "true",
"spark.databricks.delta.optimizeWrite.binSize": "128"
}
當您的工作負載以 Spark 讀取為主,且有中度的寫入最佳化需求時,請使用此配置檔。
對 Power BI 工作負載來說,讀取量很大
透過 spark.fabric.resourceProfile.readHeavyForPBIAutoUpdate 設定:
{
"spark.sql.parquet.vorder.default": "true",
"spark.databricks.delta.optimizeWrite.enabled": "true",
"spark.databricks.delta.optimizeWrite.binSize": "1g"
}
如果您的資料主要供 Power BI 使用,請使用此設定檔。 啟用 V 順序以達到最佳 Direct Lake 效能,較大的 bin 大小會產生較少且較大的檔案,適合分析讀取。
大量寫入工作負載
透過 spark.fabric.resourceProfile.writeHeavyAutoUpdate 設定:
{
"spark.sql.parquet.vorder.default": "false",
"spark.databricks.delta.optimizeWrite.binSize": "128",
"spark.databricks.delta.optimizeWrite.partitioned.enabled": "true"
}
當您的工作負載以寫入為主時(例如大量資料擷取或 ETL),請使用此設定檔。 為了減少寫入開銷,V-order(V-order)被關閉,並啟用了最佳化的分割寫入以提升檔案配置效率。
自動更新的運作方式
當套用帶有自動更新的資源設定檔時:
- Fabric 會根據你的主要使用情境和工作負載類型,選擇適當的自動更新設定。
- Spark 屬性會自動套用至工作區中的新工作階段。
- 正在進行的會話在重新啟動前不會受到影響。
備註
自動更新設定會在原始設定檔輸入範圍內優化 Delta Lake 的寫入行為與檔案配置。 它們不會改變你的池大小、節點設定或自動縮放設定。
設定參考
| Setting | 應用性質 | 使用時機 |
|---|---|---|
spark.fabric.resourceProfile.readHeavyForSparkAutoUpdate |
已啟用寫入最佳化、分區寫入、128 MB 分箱大小 | 讀取密集型 Spark 分析 |
spark.fabric.resourceProfile.readHeavyForPBIAutoUpdate |
啟用 V-order,優化寫入,1 GB bin 大小 | 讀取密集型的 Power BI/DirectLake |
spark.fabric.resourceProfile.writeHeavyAutoUpdate |
V-order 被停用,優化寫入,bin 大小 128 MB,分割 | 以寫入為主的資料擷取與 ETL |