2016-03-28 3 views
1

Google Cloudデータフローが初めてです。私はWindowsマシン上のすべてをセットアップし、以下のコマンドを使用してwordcountの例を実行しようとしたとき:ワードカウントの実行中に不正なリクエストが発生しました

mvnコンパイルexec:java -Dexec.mainClass = com.nyt.dataflowPoc.WordCount -Dexec.args = " - project = cdfpoc-1264 --stagingLocation = gs:// poc-location/staging --runner = BlockingDataflowPipelineRunner --output = gs://poc-location "

これは私に以下のエラーを与えました。 com.google.api.client.googleapis.json.GoogleJsonResponseException:400不正な要求 { "コード":400、 "エラー":[{ "ドメイン": "グローバル"、 に起因

「メッセージ」:「無効な値」、 「理由」:「無効」 }]、 「メッセージ」:「無効な値」 }

私は他の記事を見て、それは私がPROJECTIDを与える必要があると述べました私はすでにそれを与えていますが、それと同じエラーです。

誰でもお手伝いできますか?

ありがとうございます。

-kapil

答えて

0

問題が解決しました。私はステージングと出力場所の両方を与えていました。私がコードをもっと掘り下げたとき、私はそれらのうちの1つだけが必要であることを発見しました。だから--outputパラメータを削除すると、実際の出力が得られ、指定された保存場所に結果が表示されます。

おかげで、 カピル

+0

を一般的に言えば、 'stagingLocation'と' output'パイプラインオプションの両方を指定するには、問題ないはずです。出力が指定されていない場合、デフォルトは 'gs:// your-staging-location/counts.txt'になります。つまり、他のGoogle Cloud Storageの場所を指定できる必要があります。問題はありません。 –

2

問題がから来ている:あなたが唯一のバケットを指定している。このよう

--output=gs://poc-location 

。 WordCountは実際にこれを出力の接頭辞として解釈し、ファイルgs:// poc-location-00000-of-00001を書き込もうとします。このバケットは存在しないため、エラーが発生します。あなたのパイプラインがで正常に動作します :

--output=gs://poc-location/ 
+0

ありがとうございました!それは魅力のように働いた! – user2846616

関連する問題