私は 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 ドキュメントにあります。
ありがとう!