カスタム コンテナ イメージを使用すると、Dataflow パイプラインのユーザーコードのランタイム環境をカスタマイズできます。カスタム コンテナは、Dataflow Runner v2 を使用するパイプラインでサポートされています。
Dataflow がワーカー VM を起動すると、Docker コンテナ イメージを使用してワーカー上でコンテナ化された SDK プロセスを起動します。デフォルトでは、パイプラインはビルド済みの Apache Beam イメージを使用します。ただし、Dataflow ジョブにカスタム コンテナ イメージを使用することもできます。カスタム コンテナ イメージを指定すると、Dataflow は指定されたイメージを pull するワーカーを起動します。
カスタム コンテナを使用する理由には、次のようなものがあります。
- ワーカーの起動時間を短縮するために、パイプラインの依存関係をプリインストールする。
- 公開リポジトリでは使用できないパイプラインの依存関係をプリインストールする。
- 公開リポジトリへのアクセスがオフになっているときに、パイプラインの依存関係をプリインストールします。セキュリティ上の理由から、アクセスが無効になっている可能性があります。
- ワーカーの起動時間を短縮するために、大きなファイルを事前ステージングする。
- サードパーティ ソフトウェアをバックグラウンドで起動する。
- 実行環境をカスタマイズする。
Apache Beam のカスタム コンテナの詳細については、Apache Beam カスタム コンテナ ガイドをご覧ください。カスタム コンテナを使用する Python パイプラインの例については、Dataflow カスタム コンテナをご覧ください。