本文說明如何設定 Dataflow 工作的背景工作 VM。
根據預設,Dataflow 會為執行作業的工作站 VM 選取機器類型,以及永久磁碟的大小和類型。如要設定工作站 VM,請在建立工作時設定下列管道選項。
機型
Dataflow 啟動工作站 VM 時使用的 Compute Engine 機器類型。您可以使用 x86 或 Arm 機器類型,包括自訂機器類型。
Java
設定 workerMachineType
管道選項。
Python
設定 machine_type
管道選項。
Go
設定 worker_machine_type
管道選項。
Arm 支援 Tau T2A 機器系列。如要進一步瞭解如何使用 Arm VM,請參閱「在 Dataflow 中使用 Arm VM」。
根據 Dataflow 服務水準協議,
f1
和g1
系列工作站等共用核心機器類型都不在支援範圍內。帳單與機器類型系列無關。詳情請參閱「Dataflow 定價」。
自訂機器類型
如要指定自訂機器類型,請使用下列格式:FAMILY-vCPU-MEMORY
。取代下列項目:
- FAMILY. 請使用下列其中一個值:
機器系列 值 N1 custom
N2 n2-custom
N2D n2d-custom
N4
如要執行串流工作,必須啟用 Streaming Engine。
對於批次工作,必須啟用 Dataflow Shuffle (預設)。n4-custom
E2 e2-custom
- vCPU。vCPU 數量。
- MEMORY。記憶體大小 (以 MB 為單位)。
如要啟用擴充記憶體,請在機器類型後方附加 -ext
。例如:n2-custom-6-3072
、n2-custom-2-32768-ext
。
如要進一步瞭解有效的自訂機器類型,請參閱 Compute Engine 說明文件中的「自訂機器類型」。
磁碟類型
要使用的永久磁碟類型。
Java
設定 workerDiskType
管道選項。
Python
設定 worker_disk_type
管道選項。
Go
設定 disk_type
管道選項。
如要指定磁碟類型,請使用下列格式:compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE
。
更改下列內容:
- PROJECT_ID:您的專案 ID
- :永久磁碟的可用區,例如
us-central1-b
ZONE - DISK_TYPE:磁碟類型,可能是
pd-ssd
或pd-standard
詳情請參閱 Compute Engine API 參考資料頁面的 diskTypes 說明。
磁碟大小
永久磁碟大小。
Java
設定 diskSizeGb
管道選項。
Python
設定 disk_size_gb
管道選項。
Go
設定 disk_size_gb
管道選項。
如果設定這個選項,請指定至少 30 GB,以存放工作站開機映像檔和本機記錄檔。
調降磁碟大小會減少可用的隨機處理 I/O。如果受重組作業限制的工作未使用 Dataflow Shuffle 或 Streaming Engine,可能會導致執行時間和工作費用增加。
Batch 工作
如為使用 Dataflow Shuffle 的批次作業,這個選項會設定工作站 VM 開機磁碟的大小。如果批次工作未使用 Dataflow Shuffle,這個選項會設定用於儲存 Shuffle 資料的磁碟大小,開機磁碟大小則不受影響。
如果批次工作使用 Dataflow Shuffle,預設磁碟大小為 25 GB。否則預設為 250 GB。
串流工作
如果是使用 Streaming Engine 的串流工作,這個選項會設定啟動磁碟的大小。對於未使用 Streaming Engine 的串流工作,這個選項會設定 Dataflow 服務建立的每個額外永久磁碟大小,開機磁碟則不受影響。
如果串流工作未使用 Streaming Engine,您可以使用實驗旗標 streaming_boot_disk_size_gb
設定開機磁碟大小。舉例來說,指定 --experiments=streaming_boot_disk_size_gb=80
即可建立 80 GB 的開機磁碟。
如果串流工作使用 Streaming Engine,預設磁碟大小為 30 GB。否則預設為 400 GB。
使用 Cloud Storage FUSE 將 Cloud Storage 值區掛接到 Dataflow VM
Cloud Storage FUSE 可讓您直接透過 Dataflow VM 掛接 Cloud Storage 值區,讓軟體存取檔案,就像存取本機檔案一樣。這項整合功能可免除預先下載資料的需要,簡化工作負載的資料存取程序。詳情請參閱使用 Dataflow 和 Cloud Storage FUSE 處理 ML 資料。