-
"चंकिंग" आपके कोड से आता है:आपके कम फ़ंक्शन के मान पैरामीटर में
{time:<timestamp>,value:<value>}
या तो हो सकता है आपके मानचित्र फ़ंक्शन से उत्सर्जित, या{time:[<timestamps>],value:[<values]}
पिछली कॉल से आपके कम करने के कार्य में वापस आ गया। -
मुझे नहीं पता कि यह व्यवहार में होगा या नहीं, लेकिन यह सैद्धांतिक रूप से हो सकता है।
-
बस आपका नक्शा फ़ंक्शन उसी तरह की वस्तुओं का उत्सर्जन करता है जो आपका कम फ़ंक्शन देता है, यानी
emit(<id>, {time: [ts], value: [P[1]]})
, और तदनुसार अपना कम करें फ़ंक्शन बदलें, यानीArray.push.apply(result.time, V.time)
और इसी तरहresult.value
. के लिए ।खैर, मैं वास्तव में समझ नहीं पा रहा हूं कि आप सरणी की एक जोड़ी के बजाय समय/मूल्य जोड़े की सरणी का उपयोग क्यों नहीं कर रहे हैं, यानी
emit(<id>, { pairs: [ {time: ts, value: P[1] ] })
याemit(<id>, { pairs: [ [ts, P[1]] ] })
मैप फ़ंक्शन में, औरArray.push.apply(result.pairs, V.pairs)
कम करने के कार्य में। इस तरह, आपको अंतिम रूप देने के कार्य की भी आवश्यकता नहीं होगी (सिवाय इसके कि जोड़े से सरणी को "खोलें" संपत्ति:क्योंकि कम फ़ंक्शन एक सरणी वापस नहीं कर सकता है, आपको इसे किसी ऑब्जेक्ट में इस तरह लपेटना होगा)