मुझे मैप्रिडस नौकरी चलाने की ज़रूरत है जो इस अर्थ में गतिशील है कि मापदंडों को नक्शे पर पारित करने की आवश्यकता होती है और मैप्रिडस नौकरी चलाने पर हर बार कार्यों को कम करने की आवश्यकता होती है (उदाहरण के लिए, उपयोगकर्ता अनुरोध के जवाब में)।GAE मैड्रिड पर फ़ंक्शन को मैप करने के लिए गतिशील रूप से पैरामीटर कैसे पास करें?
मैं इसे कैसे पूरा करूं? मैं प्रलेखन में कहीं भी नहीं देख सकता था कि मानचित्र के लिए रनटाइम पर गतिशील प्रसंस्करण कैसे करें और कम करें।
class MatchProcessing(webapp2.RequestHandler):
def get(self):
requestKeyID=int(self.request.get('riderbeeRequestID'))
userKey=self.request.get('userKey')
pipeline = MatchingPipeline(requestKeyID, userKey)
pipeline.start()
self.redirect(pipeline.base_path + "/status?root=" + pipeline.pipeline_id)
class MatchingPipeline(base_handler.PipelineBase):
def run(self, requestKeyID, userKey):
yield mapreduce_pipeline.MapreducePipeline(
"riderbee_matching",
"tasks.matchingMR.riderbee_map",
"tasks.matchingMR.riderbee_reduce",
"mapreduce.input_readers.DatastoreInputReader",
"mapreduce.output_writers.BlobstoreOutputWriter",
mapper_params={
"entity_kind": "models.rides.RiderbeeRequest",
"requestKeyID": requestKeyID,
"userKey": userKey,
},
reducer_params={
"mime_type": "text/plain",
},
shards=16)
def riderbee_map(riderbeeRequest):
# would like to access the requestKeyID and userKey parameters that were passed in mapper_params
# so that we can do some processing based on that
yield (riderbeeRequest.user.email, riderbeeRequest.key().id())
def riderbee_reduce(key, values):
# would like to access the requestKeyID and userKey parameters that were passed earlier, perhaps through reducer_params
# so that we can do some processing based on that
yield "%s: %s\n" % (key, len(values))
कृपया मदद करें?
FYI करें ... यहाँ जावा में एक नौकरी के लिए डेटा भेजने के लिए कैसे है - http: // www। thecloudavenue.com/2011/11/passing-parameters-to-mappers-and.html –
हमम। लिंक जो आप हडोप सामान को इंगित करते हैं। यह GAE MapReduce के लिए है ... –