-
「チャンキング」はコードに由来します。reduce関数のvaluesパラメーターには、
{time:<timestamp>,value:<value>}
のいずれかを含めることができます。 マップ関数、または{time:[<timestamps>],value:[<values]}
から出力されます 前回のreduce関数の呼び出しから返されました。 -
それが実際に起こるかどうかはわかりませんが、理論的には起こる可能性があります。
-
map関数に、reduce関数が返すのと同じ種類のオブジェクトを出力させるだけです。つまり、
emit(<id>, {time: [ts], value: [P[1]]})
、それに応じてreduce関数を変更します。つまり、Array.push.apply(result.time, V.time)
result.value
についても同様です 。配列のペアではなく、時間と値のペアの配列を使用していない理由を実際には理解していません。つまり、
emit(<id>, { pairs: [ {time: ts, value: P[1] ] })
またはemit(<id>, { pairs: [ [ts, P[1]] ] })
map関数で、Array.push.apply(result.pairs, V.pairs)
削減機能で。そうすれば、finalize関数も必要ありません(ペアから配列を「アンラップ」する場合を除きます)。 プロパティ:reduce関数は配列を返すことができないため、オブジェクトでそのようにラップする必要があります)