SDKハーネスの設定
Beamでは、さまざまなクラスタ設定に対応するために、SDKハーネスの設定が可能です。(以下のオプションはPython用ですが、この情報の多くはJavaおよびGo SDKにも適用されます。)
environment_typeは、ユーザーコードがどこで実行されるかを決定します。environment_configは、environment_typeの値に応じて環境を設定します。DOCKER(デフォルト):ユーザーコードは、各ワーカーノードで起動されたコンテナ内で実行されます。そのためには、ワーカーノードにDockerがインストールされている必要があります。PROCESS:ユーザーコードは、ランナーによって各ワーカーノードで自動的に起動されるプロセスによって実行されます。environment_config:{"os": "<OS>", "arch": "<アーキテクチャ>", "command": "<実行するプロセス>", "env":{"<環境変数1>": "<ENV_VAL>"} }形式のJSON。JSONのすべてのフィールドは、commandを除いてオプションです。commandには、ブートローダー実行ファイルを使用することをお勧めします。これは、ソースから./gradlew :sdks:python:container:buildでビルドし、sdks/python/container/build/target/launcher/linux_amd64/bootからワーカーマシンにコピーできます。Pythonブートローダーは、Pythonとapache_beamモジュールが各ワーカーマシンにインストールされていることを前提としていることに注意してください。
EXTERNAL:ユーザーコードは外部サービスにディスパッチされます。たとえば、docker run -p=50000:50000 apache/beam_python3.6_sdk --worker_poolを実行することで、Pythonワーカーの外部サービスを起動できます。environment_config:外部サービスのアドレス。例:localhost:50000。- MacまたはWindowsクライアントからDocker化されたワーカープールサービスにアクセスするには、クライアントで
BEAM_WORKER_POOL_IN_DOCKER_VM環境変数を設定します。export BEAM_WORKER_POOL_IN_DOCKER_VM=1。
LOOPBACK:ユーザーコードは、パイプラインを送信したのと同じプロセス内で実行されます。このオプションは、ローカルテストに役立ちます。ただし、ジョブが開始されたマシンで作業を実行するため、本番環境には適していません。environment_configは、LOOPBACK環境では使用されません。
sdk_worker_parallelismは、各ワーカーノードで実行される SDK ワーカーの数を設定します。デフォルトは 1 です。0 の場合、ワーカーマシンの CPU コア数など、さまざまなパラメータを調べてランナーによって値が自動的に設定されます。Flink および Spark ランナーの Python パイプラインにのみ使用されます。
最終更新日:2024/10/31
お探しのものはすべて見つかりましたか?
すべて役に立ち、明確でしたか?変更したいことはありますか?お知らせください!

