Microsoft Fabric 中的 Apache Spark 計算為何?

適用於:✅Microsoft Fabric 中的 資料工程師 和 資料科學

Microsoft網狀架構 資料工程師 和 資料科學 體驗可在完全受控的 Apache Spark 計算平台上運作。 此平台的設計目的是提供無與倫比的速度和效率。 使用入門集區時,您可以預期快速進行 Apache Spark 工作階段初始化,通常是在 5 到 10 秒內,而不需要手動設定。 您也可以根據特定的資料工程和資料科學需求,彈性地自定義 Apache Spark 集區。 此平臺可啟用最佳化且量身打造的分析體驗。

Spark 計算平臺的影像,其中包含入門集區和自定義 Spark 集區。

入門集區

入門集區是一種快速且簡單的方法,可在數秒內在 Microsoft Fabric 平臺上使用 Spark。 您可以立即使用 Spark 工作階段,而不是等待 Spark 為您設定節點,這可以協助您使用資料進行更多作業,並更快速地取得深入解析。

顯示入門集區組態之資料表的影像。

入門集區具有 Apache Spark 叢集,其一律已開啟且可供您的要求使用。 他們會使用根據 Spark 作業需求動態相應增加的中型節點。

此圖顯示入門集區的高階設計。

入門集區也有預設設定,可讓您快速安裝程式庫,而不會讓工作階段開始時間變慢。 不過,如果您想要從工作區或容量設定使用額外的自定義 Apache Spark 屬性或連結庫,Spark 需要較長的時間才能為您取得節點。 在計費和容量耗用量方面,當您開始執行筆記本或 Apache Spark 作業定義時,系統會向您收取容量耗用量的費用。 在集區中閒置叢集的時間,您不需支付費用。

此圖顯示入門集區計費的高階階段。

例如,如果您將筆記本作業提交至入門集區,則只會針對使用中筆記本工作階段的時間週期計費。 計費時間不包含閒置時間或使用 Spark 內容個人化工作階段所花費的時間。

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 VCore(Spark 運算能力單位)等於一個容量單位。 例如,網狀架構容量 SKU F64 具有 64 個容量單位,相當於 128 個 Spark VCore。 您可以使用這些 Spark 虛擬核心來為自訂 Spark 集區建立不同大小的節點,只要 Spark 虛擬核心總數不超過 128 個。

Spark 集區會像入門集區一樣計費;除非您已建立用於執行筆記本或 Spark 工作定義的作用中 Spark 工作階段,否則您不需支付您所建立的自訂 Spark 集區費用。 您只需支付作業執行期間的費用。 作業完成之後,您不會支付叢集建立和解除分配等階段的費用。

顯示自定義集區計費中高階階段的圖表。

例如,如果您將筆記本作業提交至自定義 Spark 集區,則只會支付工作階段使用中期間的費用。 一旦 Spark 工作階段停止或過期,該筆記本工作階段的計費就會停止。 您不需要支付從雲端取得叢集執行個體所花費的時間,或初始化 Spark 內容所花費的時間。

根據上一個範例,F64 的可能自定義集區組態:

Fabric 容量 SKU 容量單位 Spark VCore 節點大小 節點數目上限
F64 64 384 Small 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 執行程式服務。

節點大小

您可以使用節點大小來定義 Spark 集區,這個節點大小的範圍從具有 4 vCore 和 28 GB 儲存體的小型計算節點,直到每個節點具有 64 vCore 和 400 GB 儲存體的 XXLarge 計算節點。 雖然作用中的工作階段可能需要重新啟動,但可以在建立集區之後改變節點大小。

大小 虛擬核心 儲存體
Small 4 28 GB
8 56 GB
大型 16 112 GB
X-Large 32 224 GB
XX-Large 64 400 GB

Autoscale

針對 Apache Spark 集區的自動調整可讓您根據活動量,自動擴大和縮小計算資源。 啟用自動縮放功能時,您可以設定要縮放的最小和最大節點數。 當您停用自動縮放功能時,設定的節點數將保持固定。 您可以在建立集區後變更此設置,但可能需要重新啟動執行個體。

注意

根據預設,spark.yarn.executor.decommission.enabled 會設定為 true,讓使用量過低的節點自動關閉,以將計算效率最佳化。 如果偏好較不積極的相應減少,此設定可以設定為 false

動態配置

動態配置可讓 Apache Spark 應用程式在工作超過目前執行程式可承受的負載時要求更多執行程式。 它也會在作業完成時釋放執行程式,以及 Spark 應用程式是否移至閒置狀態。 企業使用者通常會發現很難調整執行程式組態,因為它們在Spark作業執行程式的不同階段大不相同。 這些設定也取決於處理的資料量,而這些資料會不時變更。 您可以在集區組態中啟用執行程式選項的動態配置,以根據Spark集區中可用的節點,自動將執行程式配置至Spark應用程式。

當您為每個提交的 Spark 應用程式啟用動態設定選項時,系統會根據最小節點在作業提交步驟期間保留執行程式。 您可以指定最大節點以支援成功的自動調整案例。