2017-12-05 6 views
0

Google Cloud Dataflow Java SDK 2.1.0を使用しています。Google Dataflowテンプレート - NumWorkers、MaxNumWorkers、WorkerMachineType、AutoscalingAlgorithmを渡します。

実行時に渡したい他のValueProviderパイプラインオプションと共に--templateLocationパイプラインオプションを使用してテンプレートを作成できます。クラウド機能内からGoogleのデータフローAPIを使用してテンプレートを呼び出しています。

テンプレートはstagingLocation、tempLocation、およびカスタムパラメータのパラメータで正常に機能しましたが、numWorkers、maxNumWorkers、workerMachineType、autoscalingAlgorithmのパラメータをAPI呼び出しで渡すと、「予期しないパラメータが見つかりました」というエラーが表示されます。私は以下のようなログステートメントで参照される別のstackoverflow postを読んで、これらのDataflowPipelineOptionsで別のテンプレートを作成しました:

LOG.info("Number of workers => " + String.valueOf(options.getNumWorkers())); 

新しいテンプレートは、上記のデフォルトのパイプラインのオプションを受け入れました。したがって、テンプレートにはパイプラインコードでは参照されていないパイプラインオプションが含まれていないように見えますが、これはカスタムオプションでは問題ありませんが、すべてのデフォルトパイプラインオプションは常にテンプレートに存在する必要があります。

これが予想される動作であるかどうかを誰かが確認できますか、それとも正しく行っていないかどうか教えてください。

答えて

1

修正するために、試した方法で環境パラメータを指定することはできません。

'maxWorkers'、 'zone'、 'tempLocation'、 'machineType'、 'network'、 'subnetwork'はの一部としての一部として指定できます。リクエストでそれらを指定する方法については、Cloud DataflowのドキュメントのExample 1を参照してください。

関連する問題