このページでは、Dataflow のバッチジョブとストリーミング ジョブのワーカーとして Arm VM を使用する方法について説明します。
Arm プロセッサの Tau T2A マシンシリーズと C4A マシンシリーズ(プレビュー)を使用して、Dataflow ジョブを実行できます。Arm アーキテクチャは電力効率を重視して最適化されているため、一部のワークロードでは、これらの VM を使用するとコストを抑えることができます。Arm VM の詳細については、コンピューティングでの Arm VM をご覧ください。
要件
- Arm VM は、次の Apache Beam SDK でサポートされています。
- Apache Beam Java SDK バージョン 2.50.0 以降
- Apache Beam Python SDK バージョン 2.50.0 以降
- Apache Beam Go SDK バージョン 2.50.0 以降
- Tau T2A マシンまたは C4A マシンを利用できるリージョンを選択します。詳細については、使用可能なリージョンとゾーンをご覧ください。
- Runner v2 を使用してジョブを実行します。
- ストリーミング ジョブでは Streaming Engine を使用する必要があります。
制限事項
- Tau T2A のすべての制限と C4A の制限が適用されます。
- GPU はサポートされていません。
- Cloud Profiler はサポートされていません。
- Dataflow Prime はサポートされていません。
- Cloud Monitoring からワーカー VM の指標を受信することはできません。
- コンテナ イメージの事前ビルドはサポートされていません。
Arm VM を使用してジョブを実行する
Arm VM を使用するには、次のパイプライン オプションを設定します。
Java
workerMachineType
パイプライン オプションを設定して、ARM マシンタイプを指定します。
パイプライン オプションの設定の詳細については、Dataflow パイプライン オプションを設定するをご覧ください。
Python
machine_type
パイプライン オプションを設定して、ARM マシンタイプを指定します。
パイプライン オプションの設定の詳細については、Dataflow パイプライン オプションを設定するをご覧ください。
Go
worker_machine_type
パイプライン オプションを設定して、ARM マシンタイプを指定します。
パイプライン オプションの設定の詳細については、Dataflow パイプライン オプションを設定するをご覧ください。
マルチアーキテクチャ コンテナ イメージを使用する
Dataflow でカスタム コンテナを使用する場合、コンテナがワーカー VM のアーキテクチャと一致している必要があります。ARM VM でカスタム コンテナを使用する場合は、マルチアーキテクチャ イメージをビルドすることをおすすめします。詳細については、マルチアーキテクチャ コンテナ イメージをビルドするをご覧ください。
料金
Dataflow のコンピューティング リソースは課金対象です。Dataflow の料金はマシンタイプ ファミリーとは独立しています。詳しくは、Dataflow の料金をご覧ください。