本文說明如何設定 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」。
建議不要使用共用核心機器類型 (例如
f1-micro、g1-small、e2-micro、e2-small和e2-medium) 執行 Dataflow 工作,且《Dataflow 服務水準協議》也不支援這類機器類型。帳單與機器類型系列無關。詳情請參閱 Dataflow 定價。
對於
f1-micro和g1-small機器類型,Dataflow 會以 1 個 vCPU 計費;對於e2-micro、e2-small和e2-medium機器類型,Dataflow 則會以 2 個 vCPU 計費。即使共用核心機器類型提供的持續 CPU 時間少於計費的 vCPU,仍會按照這些費率計費。
自訂機器類型
如要指定自訂機器類型,請使用下列格式:
FAMILY-vCPU-MEMORY。請替換下列項目:
- FAMILY. 請使用下列其中一個值:
機器系列 值 N1 customN2 n2-customN2D n2d-customN4
如果是串流工作,則必須啟用 Streaming Engine。
對於批次工作,必須啟用Dataflow Shuffle (預設)。n4-customE2 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-bZONE - DISK_TYPE:磁碟類型,可能是
pd-ssd或pd-standard
詳情請參閱 Compute Engine API 參考資料頁面的 diskTypes 說明。
磁碟大小
永久磁碟大小。
Java
設定 diskSizeGb 管道選項。
Python
設定 disk_size_gb 管道選項。
Go
設定 disk_size_gb 管道選項。
如果設定這個選項,請指定至少 30 GB,以存放工作站開機映像檔和本機記錄檔。
調降磁碟大小會減少可用的隨機處理 I/O。如果工作受 Shuffle 限制,但未使用 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。
最低 CPU 平台
如果您有對效能要求嚴苛的工作負載,且這些工作負載需要特定 CPU 功能,可以為工作站 VM 指定最低 CPU 平台。這個選項可確保 Dataflow worker 使用的處理器符合或超過指定的 CPU 代別。
如要指定最低 CPU 平台,請設定 min_cpu_platform
實驗性管道選項。這個值必須是所選 CPU 平台的確切名稱,例如 AMD Milan 或 Intel Ice Lake。舉例來說,指定 --experiments=min_cpu_platform='AMD Milan' 可將最低 CPU 平台設為 AMD Milan。如需支援的最低 CPU 平台清單,請參閱「CPU 平台可用性」。如要瞭解限制,請參閱「指定最低 CPU 平台時的限制」。
如要確認 Dataflow 工作人員 VM 是以指定的最低 CPU 平台建立,請按照下列步驟檢查工作的 Cloud Logging 項目:
- 前往 Google Cloud 控制台的 Cloud Logging 控制台。
使用下列篩選器,並將範例 CPU 平台和 Dataflow 工作 ID 替換為您工作適用的資訊。
resource.type="gce_instance" protoPayload.request.minCpuPlatform="AMD Milan" "dataflow_job_id"查看產生的記錄,確認 Dataflow 在 VM 建立程序期間,已成功指定最低 CPU 平台。
使用 Cloud Storage FUSE 將 Cloud Storage bucket 掛接到 Dataflow VM
透過 Cloud Storage FUSE,您可以直接使用 Dataflow VM 掛接 Cloud Storage bucket,讓軟體存取檔案,就像存取本機檔案一樣。這項整合功能可免除預先下載資料的需求,簡化工作負載的資料存取程序。詳情請參閱「使用 Dataflow 和 Cloud Storage FUSE 處理機器學習資料」。