このドキュメントでは、Dataflow ジョブのワーカー VM を構成する方法について説明します。
デフォルトでは、Dataflow は、ジョブを実行するワーカー VM のマシンタイプ、および Persistent Disk のサイズとタイプを選択します。ワーカー VM を構成するには、ジョブを作成するときに次のパイプライン オプションを設定します。
マシンタイプ
ワーカー VM の起動時に Dataflow によって使用される Compute Engine マシンタイプ。x86 マシンタイプまたは Arm マシンタイプ(カスタム マシンタイプを含む)を使用できます。
Java
workerMachineType
パイプライン オプションを設定する。
Python
machine_type
パイプライン オプションを設定する。
Go
worker_machine_type
パイプライン オプションを設定する。
Arm の場合、Tau T2A マシンシリーズがサポートされています。Arm VM の使用の詳細については、Dataflow で Arm VM を使用するをご覧ください。
f1
やg1
シリーズのワーカーなどの共有コア マシンタイプは、Dataflow のサービスレベル契約ではサポートされません。請求はマシンタイプ ファミリーとは独立しています。詳しくは、Dataflow の料金をご覧ください。
カスタム マシンタイプ
カスタム マシンタイプを指定するには、FAMILY-vCPU-MEMORY
の形式を使用します。次のように置き換えます。
- FAMILY: 次のいずれかの値を使用できます。
マシンシリーズ 値 N1 custom
N2 n2-custom
N2D n2d-custom
N4 n4-custom
E2 e2-custom
- vCPU: vCPU の数。
- MEMORY: メモリ(MB)。
拡張メモリを有効にするには、マシンタイプに -ext
を追加します。例: n2-custom-6-3072
、n2-custom-2-32768-ext
有効なカスタム マシンタイプの詳細については、Compute Engine ドキュメントのカスタム マシンタイプをご覧ください。
ディスクタイプ
使用する Persistent Disk のタイプ。
Streaming Engine を使用する場合は、Persistent Disk を指定しないでください。
Java
workerDiskType
パイプライン オプションを設定する。
Python
worker_disk_type
パイプライン オプションを設定する。
Go
disk_type
パイプライン オプションを設定する。
ディスクタイプを指定するには、compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE
の形式を使用します。
次のように置き換えます。
- PROJECT_ID: プロジェクト ID
- ZONE: Persistent Disk のゾーン(例:
us-central1-b
)。 - DISK_TYPE: ディスクタイプ(
pd-ssd
またはpd-standard
)
詳細については、diskTypes に関する Compute Engine API リファレンス ページをご覧ください。
ディスクサイズ
Persistent Disk のサイズ。
Java
diskSizeGb
パイプライン オプションを設定する。
Python
disk_size_gb
パイプライン オプションを設定する。
Go
disk_size_gb
パイプライン オプションを設定する。
このオプションを設定する場合は、ワーカー ブートイメージとローカルログを考慮して、少なくとも 30 GB を指定します。
ディスクサイズを小さくすると、使用可能なシャッフル I/O が減少します。Dataflow Shuffle や Streaming Engine を使用しないシャッフル バインドされているジョブは、ランタイムとジョブコストが増加する可能性があります。
バッチジョブ
Dataflow Shuffle を使用するバッチジョブの場合、このオプションではワーカー VM ブートディスクのサイズを設定します。Dataflow Shuffle を使用しないバッチジョブの場合、このオプションでは、シャッフルされたデータの保存に使用するディスクのサイズを設定します。ブートディスクのサイズには影響しません。
バッチジョブが Dataflow Shuffle を使用する場合、デフォルトのディスクサイズは 25 GB です。それ以外の場合、デフォルトは 250 GB です。
ストリーミング ジョブ
Streaming Engine を使用するストリーミング ジョブの場合、このオプションでブートディスクのサイズが設定されます。Streaming Engine を使用しないストリーミング ジョブの場合、Dataflow サービスによって作成される追加の Persistent Disk のサイズを設定します。ブートディスクには影響しません。
ストリーミング ジョブが Streaming Engine を使用しない場合は、ブートディスクのサイズをテストフラグ streaming_boot_disk_size_gb
で設定できます。たとえば、80 GB のブートディスクを作成するには --experiments=streaming_boot_disk_size_gb=80
を指定します。
ストリーミング ジョブが Streaming Engine を使用する場合、デフォルトのディスクサイズは 30 GB です。それ以外の場合、デフォルトは 400 GB です。