-
"Chunking" kommer fra din kode:din reduktionsfunktions værdiparameter kan indeholde enten
{time:<timestamp>,value:<value>}
udsendes fra din kortfunktion, eller{time:[<timestamps>],value:[<values]}
returneret fra et tidligere opkald til din reduktionsfunktion. -
Jeg ved ikke, om det vil ske i praksis, men det kan ske i teorien.
-
Du skal blot få din kortfunktion til at udsende den samme slags objekter, som din reduceringsfunktion returnerer, dvs.
emit(<id>, {time: [ts], value: [P[1]]})
, og ændre din reduktionsfunktion i overensstemmelse hermed, dvs.Array.push.apply(result.time, V.time)
og tilsvarende forresult.value
.Nå, jeg forstår faktisk ikke, hvorfor du ikke bruger et array af tid/værdi-par, i stedet for et par arrays, dvs.
emit(<id>, { pairs: [ {time: ts, value: P[1] ] })
elleremit(<id>, { pairs: [ [ts, P[1]] ] })
i kortfunktionen ogArray.push.apply(result.pairs, V.pairs)
i reducere funktionen. På den måde behøver du ikke engang færdiggørelsesfunktionen (undtagen måske for at "pakke ud" arrayet fra parrene egenskab:fordi reduktionsfunktionen ikke kan returnere et array, skal du indpakke det på den måde i et objekt)