0

複数のマッピングを行うデータセットがあります。

reduce 関数に 3 つのキーと値のペアがあると仮定すると、キーと値のペアごとに 1 つずつ、3 つの BLOB ファイルがあるように出力を変更するにはどうすればよいですか?

さらに明確にすることができるかどうか教えてください。

4

1 に答える 1

2

そのような機能は GAE Mapreduce ライブラリには (まだ?) 存在しないと思います。

データセットのサイズと必要な出力の種類に応じて、リデューサーを別の出力ライターとして採用することで、短時間の投資でそれを回避できます。たとえば、レデューサーの出力の 1 つがデータストアに直接返され、別の出力がファイルに送られる場合、自分でファイルを開いて出力を書き込むことができます。あるいは、 を使用して中間マップの結果をシリアライズし、一時データストアに明示的に保存し、operation.db.Putそのデータストアで個別の Map ジョブまたは Reduce ジョブを実行することもできます。もちろん、それは最初の回避策よりもコストが高くなります。

特定のキー値の例では、Google Cloud Storage ファイルに書き込み、後処理して必要に応じて 3 つのファイルに分割することをお勧めします。これにより、最終的なファイル名をより細かく制御できます。

于 2013-12-19T18:12:39.630 に答える