سؤال

آمل أن أسأل هذا بالطريقة الصحيحة. أتعلم طريقي حول MapReduce المرن ورأيت العديد من الإشارات إلى المخفض "الكلي" الذي يمكن استخدامه مع تدفقات الوظائف "البث".

في Amazon "مقدمة إلى Amazon Flastic MapReduce" PDF ، تنص على أن "Amazon Flext MapReduce لديه مخفض افتراضي يسمى Aggregrate"

ما أود معرفته هو: هل هناك مخفضات افتراضية أخرى متاحة؟

أتفهم أنه يمكنني كتابة المخفض الخاص بي ، لكنني لا أريد أن ينتهي بكتابة شيء موجود بالفعل و "إعادة اختراع العجلة" لأنني متأكد من أن العجلة لن تكون جيدة مثل الأصل.

هل كانت مفيدة؟

المحلول

أنا في وضع مماثل. استنتج من نتائج Google وما إلى ذلك أن الإجابة الآن هي "لا ، لا توجد مخفضات افتراضية أخرى في Hadoop" ، والتي تمتص نوعًا ما ، لأنه سيكون من المفيد أن يكون لديك مخفضات افتراضية مثل ، "متوسط" أو "متوسط" "لذلك ليس عليك أن تكتب بنفسك.

http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/mapred/lib/aggregate/package-summary.html يعرض عدد من استخدامات المجمع المفيدة ولكن لا يمكنني العثور على وثائق لكيفية الوصول إلى وظائف أخرى من مجموع المفتاح/القيمة الأساسي للغاية الموضح في الوثائق وفي إجابة Erik Forsberg. ربما يتم كشف هذه الوظيفة فقط في Java API ، والتي لا أريد استخدامها.

بالمناسبة ، أخشى أن إجابة إريك فورسبيرج ليست إجابة جيدة على هذا السؤال بالذات. يمكن بناء سؤال آخر يمكن أن يكون إجابة مفيدة من أجله ، ولكن ليس ما يطرحه البروتوكول الاختياري.

نصائح أخرى

تم توثيق المخفض الذي يشيرون إليه هنا:

http://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/lib/aggregate/package-summary.html

هذا مخفض مدمج في أداة التدفق. يوفر طريقة بسيطة للقيام بحساب مشترك عن طريق كتابة مفاتيح الإخراج التي يتم تنسيقها بطريقة خاصة.

على سبيل المثال ، إذا خرجت الخريطة الخاصة بك:

LongValueSum:id1\t12
LongValueSum:id1\t13
LongValueSum:id2\t1
UniqValueCount:id3\tval1
UniqValueCount:id3\tval2

سيحسب المخفض مجموع كل قيم طويلة ، ويحسب القيم المميزة لـ uniqvaluecount. لذلك سيكون إخراج المخفض:

id1\t25
id2\t12
id3\t2

تكون المخفضات والمجتمعات في هذه الحزمة سريعة جدًا مقارنةً بمجمعات التدفق والمخفضات ، لذا فإن استخدام الحزمة الإجمالية مريحة وسريعة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top