2017-11-30 4 views
0

私はDataflow Shuffle serviceをPython環境で使用しようとしていますが、シャッフルサービスが機能していないようです。Dataflow Shuffleサービスを有効にするには?

console output

Iは2.1より上SDKのバージョンを設定し、領域がus-central1あります。 実験オプションを追加するだけでデータフローシャッフルサービスを有効にできると思ったのですが、何か不足していますか?

後、あなたが現象を再現することができ、私がテストしたコードです。

ジョブはエラーなく正常終了します。どんなコメントも参考になります!

編集
セルゲイの答えのおかげで、私は間違いを見つけました。私が間違っていたのは、実験オプションです。実験オプションを次のように設定します。

また、私はシャッフルサービスを使って簡単なパイプラインを実行するよう要望を出しました。ノートブックはDatalabで実行可能です。 https://gist.github.com/hayatoy/f6664f965a2519ec406e11235faf75b6

答えて

1

@HayatoY、実験フラグを指定するだけで十分です(--experiments shuffle_mode = service)。

データフローシャッフルサービスは、us-central1およびeurope-west1地域の2.1バージョンからPython SDKで使用できます。

UIの[ジョブの詳細]ページの[パイプラインオプション]ペインに実験の行が表示されているかどうかを確認できますか? (私のスクリーンショットを参照)

コマンドラインから単純なワードカウントパイプラインを起動し、シャッフルが使用されたことを検証しました(メトリックは0ですが、ワードカウントパイプラインはシャッフルをほとんど使用しないため正常です)。メトリックが「 - 」でない限り、シャッフルサービスが使用されていることが証明されています。

のpython -m apache_beam.examples.wordcount \ --project $ PROJECT_ID \ --runner DataflowRunner --staging_locationます$ BUCKET /ステージング --temp_locationます$ BUCKET/TEMP \ \ \ --output $ BUCKET /出力\ --experiments shuffle_mode =サービス

screenshot of a python pipeline with shuffle

+0

はあなたにセルゲイをありがとう、私は、文字列の代わりに、[「shuffle_mode =サービス」]リストとしてオプションの実験を設定する必要がありました。それは完全に機能し、リソースの使用量を減らすことができます! – HayatoY

+1

非常にいいです。最終的なコードを(リストと)共有して、他のユーザーが将来使用するコードサンプルを持つようにしてください。 – Sergei

+1

私は修正部分を追加し、要点としてもフルコード、私はこれが誰かを助けることを願っ:) – HayatoY

関連する問題