1

私は GAE mapreduce をいじっていますが、1 つの質問があります。

mapreduce で特定のジョブだけ変数を変更することはできますか?

私が尋ねている理由は次のとおりです。

私の mapreduce ジョブの入力 csv と出力 csv には同じヘッダー行があるはずですが、ヘッダー行は出力 csv のどこかにありますが、決して先頭にはありません。適切なヘッダー行を取得するために、reduce ジョブの現在の反復をチェックするカウンターを reduce 関数に挿入し、それが 0 の場合、ハードコードされたヘッダー行をパイプラインに渡します。出力 csv がブロブストアに格納されると、カウンターはリセットされます。

問題: 多くの場合、カウンターはランダムにリセットされます。おそらく、関数の外部でグローバル変数 "reduce_counter = 0" として定義する必要があったためです。

変数/パラメーターをジョブにチェーンする方法はありますか、または header_row を取得するためのより良い方法はありますか?

出力は blobstore に保存され、blobstore オブジェクトは私の知る限り変更できないため、DictReader または csv モジュールを使用できるとは思いません。

私のコードは、www.github.com/jvdheyden/ steの main.py ドキュメントにあります。

ありがとう!

4

1 に答える 1