適用於:✅Microsoft Fabric 中的資料工程和資料科學
Microsoft網狀架構 資料工程師 和 資料科學 體驗可在完全受控的 Apache Spark 計算平台上運作。 此平台的設計目的是提供無與倫比的速度和效率。 使用入門集區時,您可以預期快速進行 Apache Spark 工作階段初始化,通常是在 5 到 10 秒內,而不需要手動設定。 您也可以根據特定的資料工程和資料科學需求,彈性地自定義 Apache Spark 集區。 此平臺可啟用最佳化且量身打造的分析體驗。 簡言之,入門集區是使用預先設定的Spark的快速方式,而Spark集區則提供自定義和彈性。
初學者集區
入門集區是一種快速且簡單的方法,可在數秒內在 Microsoft Fabric 平臺上使用 Spark。 您可以立即使用 Spark 工作階段,而不需等待 Spark 為您設定節點,這可以協助您使用資料進行更多作業,並更有效率地取得深入見解。
基本集區擁有 Apache Spark 叢集,這些叢集的會話始終保持活躍,隨時準備接收您的要求。 他們會使用根據 Spark 作業需求動態擴展的中型節點。
當您使用入門集區 時,沒有任何額外的連結庫相依性或自定義 Spark 屬性,您的會話通常會在 5 到 10 秒開始。 這個快速啟動是可能的,因為叢集已經執行,而且不需要布建時間。
注意
只有中型節點大小才支援入門集區,並選取任何其他節點大小,或自定義計算組態會導致隨選會話啟動體驗,可能需要 2 - 5 分鐘的時間
不過,有幾種情況可能導致您的工作階段需要較長的時間才能啟動:
您有自訂函式庫或 Spark 屬性
如果您已在環境中設定函式庫或自定義設定,Spark 必須在建立工作階段後進行個人化設置。 視連結庫相依性的數目和大小而定,此程式可以在啟動時間 30 秒到 5 分鐘左右新增至啟動時間。您所在區域的初始資源池已完全使用
在極少數情況下,區域入門集區可能會因為高流量而暫時耗盡。 發生這種情況時,Fabric 會創建一個新的叢集 以配合您的要求,大約需要 2 到 5 分鐘。 一旦新的叢集可供使用,您的會話就會啟動。 如果您也有自定義庫要安裝,則必須增加額外的 30 秒到 5 分鐘 所需的個人化時間。進階網路功能或安全性功能(私人連結或受控 VNet)
如果您的工作區具有網路功能,例如 租使用者私人連結 或 受控虛擬網路,則不支援入門資源池。 在此情況下,Fabric 必須根據需求建立叢集,這會將 2 到 5 分鐘 的時間加到您的會話開始時間。 如果您也有連結庫相依性,該個人化步驟可以再次將另一個 30 秒新增至 5 分鐘,。
以下是幾個範例案例,說明潛在的開始時間:
| 情境 | 一般啟動時間 |
|---|---|
| 預設設定,沒有連結庫 | 5 – 10 秒 |
| 預設設定 + 連結庫相依性 | 5 – 10 秒 + 30 秒 – 5 分鐘(用於庫設置) |
| 當地流量很高,沒有圖書館 | 2 – 5 分鐘 |
| 高流量 + 連結庫相依性 | 2 – 5 分鐘 + 30 秒 – 5 分鐘(適用於圖書館) |
| 網路安全性(專用連結/VNet),沒有程式庫 | 2 – 5 分鐘 |
| 網路安全性 + 連結庫相依性 | 2 – 5 分鐘 + 30 秒 – 5 分鐘(適用於圖書館) |
在計費和容量耗用量方面,當您開始執行筆記本或 Apache Spark 作業定義時,系統會向您收取容量耗用量的費用。 在叢集在集區中閒置的時間,您不需支付費用。
例如,如果您將筆記本作業提交至入門集區,則只會針對使用中筆記本工作階段的時間週期計費。 計費時間不包含閒置時間或使用 Spark 上下文自訂工作階段所花費的時間。 若要了解更多資訊,請參閱如何在 Fabric 中設定初始資源池。
Spark 集區
Spark 集區是一種告訴 Spark 您需要何種資源來進行資料分析工作的方式。 您可以為您的 Spark 集區指定名稱,並選擇節點數目和大小(執行工作的機器) 數目。 您也可以告知 Spark 如何根據您擁有多少工作來調整節點數目。 建立 Spark 集區是免費的;只有在您在集區上執行 Spark 作業時,才會支付費用,然後 Spark 會為您設定節點。
如果您的工作階段到期後 2 分鐘未使用 Spark 集區,您的 Spark 集區將會解除配置。 此預設工作階段到期時間週期設定為 20 分鐘,而且您可以視需要加以變更。 如果您是工作區管理員,您也可以為工作區建立自定義 Spark 集區,並將它們設為其他使用者的預設選項。 如此一來,您就可以節省時間,並避免每次執行筆記本或 Spark 作業時都需設定新的 Spark 集區。 自定義Spark集區需要大約三分鐘的時間才能啟動,因為Spark必須從 Azure 取得節點。
您甚至可以建立單一節點 Spark 集區,方法是將節點數目下限設定為一個,因此驅動程式和執行程式會在可還原 HA 隨附的單一節點中執行,而且適合小型工作負載。
您可以在自訂 Spark 集區中擁有的節點大小和數目取決於您的 Microsoft Fabric 容量。 容量是一項量值,可測量您可以在 Azure 中使用的運算能力。 若要理解其中的一種方法是,兩個 Apache Spark VCores(Spark 運算能力單位)相當於一個容量單位。
注意
在 Apache Spark 中,使用者每保留一個容量單位,就會獲得兩個 Apache Spark VCore,作為其 SKU 的一部分。 一個容量單位 = 兩個 Spark 虛擬核心,因此 F64 => 表示 128 個 Spark 虛擬核心,並且套用 3 倍高載倍增器,最終總共提供 384 個 Spark 虛擬核心。
例如,Fabric 容量 SKU F64 具有 64 個容量單位,相當於 384 個 Spark 虛擬核心(64 * 2 * 三倍突發倍增器)。 您可以使用這些 Spark 虛擬核心來為自訂 Spark 集區建立不同大小的節點,只要 Spark VCore 總數不超過 384。
Spark 集區會像入門集區一樣計費;除非您已建立用於執行筆記本或運行 Spark 工作定義的活躍 Spark 工作階段,否則您不需支付您所建立的自訂 Spark 集區費用。 您只需支付作業執行期間的費用。 作業完成後,您不會被收取包括叢集建立和解除配置等階段的費用。
例如,如果您將筆記本作業提交至自定義 Spark 集區,則只會支付工作階段使用中期間的費用。 當 Spark 工作階段停止或過期時,筆記本工作階段的計費會隨之停止。 您不需要支付從雲端取得叢集執行個體所花費的時間,或初始化 Spark 內容所花費的時間。
根據上一個範例,F64 的可能自定義集區組態。 較小的節點大小具有分散於更多節點的容量,因此節點數目上限較高。 而較大的節點則資源豐富,因此需要較少的節點:
| 布料容量 SKU | 容量單位 | 具有突發因數的最大 Spark 核心數 | 節點大小 | 節點數目上限 |
|---|---|---|---|---|
| F64 | 64 | 384 | 小 | 96 |
| F64 | 64 | 384 | 中等 | 48 |
| F64 | 64 | 384 | 大型 | 24 |
| F64 | 64 | 384 | X-Large | 12 |
| F64 | 64 | 384 | XX-Large | 6 |
注意
若要建立自定義集區,您需要 工作區的系統管理員 許可權。 而且Microsoft Fabric 容量管理員必須授與許可權,才能讓工作區管理員調整其自定義Spark集區的大小。 若要深入瞭解,請參閱 開始使用 Fabric 中的自定義 Spark 集區。
節點
一個 Apache Spark 集區執行個體包括一個主節點和多個計算節點,在 Spark 執行個體中至少可以啟動一個節點。 前端節點會執行額外的管理服務,例如 Livy、Yarn 資源管理員、Zookeeper 和 Apache Spark 驅動程式。 所有節點都會執行節點代理程式和 Yarn 節點管理員之類的服務。 所有背景工作節點都會執行 Apache Spark 執行程式服務。
注意
在 Fabric 中,節點與執行程式的比例一律為 1:1。 當您設定集區時,一個節點專用於驅動程式,其餘節點用於執行程式。 唯一的例外是在單一節點配置中,其中驅動程式和執行器的資源都會減半。
節點大小
Spark 集區可以定義節點大小,範圍從小型計算節點(具有 4 個虛擬核心和 32 GB 的記憶體)到兩個額外的大型計算節點(每個節點有 64 個虛擬核心和 512 GB 的記憶體)。 建立集區後可以改變節點大小,但需要重新啟動作用中的工作階段。
| 大小 | vCore | 記憶體 |
|---|---|---|
| 小 | 4 | 32 GB |
| 中等 | 8 | 64 GB |
| 大型 | 16 | 128 GB |
| X-Large | 32 | 256 GB |
| XX-Large | 64 | 512 GB |
注意
節點大小 X-Large 和 XX-Large 僅適用於非試用版 Fabric SKU。
自動擴展
針對 Apache Spark 集區的自動調整可讓您根據活動量,自動擴大和縮小計算資源。 啟用自動縮放功能時,您可以設定要縮放的最小和最大節點數。 當您停用自動縮放功能時,設定的節點數將保持固定。 您可以在建立集區後變更此設置,但可能需要重新啟動執行個體。
注意
根據預設,spark.yarn.executor.decommission.enabled 會設定為 true,讓使用量過低的節點自動關閉,以將計算效率最佳化。 如果您希望較不積極的缩小,你可以將此設定為“false”
動態配置
動態配置可讓 Apache Spark 應用程式在工作超過目前執行程式可承受的負載時要求更多執行程式。 它也會在作業完成時釋放執行程式,以及 Spark 應用程式是否移至閒置狀態。 企業使用者通常會發現很難調整執行程式組態,因為它們在Spark作業執行程式的不同階段大不相同。 這些設定也取決於處理的資料量,而這些資料會不時變更。 您可以在集區組態中啟用執行程式選項的動態配置,以根據Spark集區中可用的節點,自動將執行程式配置至Spark應用程式。
當您為每個提交的 Spark 應用程式啟用動態設定選項時,系統會根據最小節點在作業提交步驟期間保留執行程式。 您可以指定節點的最大數量,以確保自動調整方案取得成功。