Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

مدل MapReduce

448 views

Published on

قسمت دوم از مجموعه اسلاید های آموزش Hadoop و تکنیک های وابسته که به آموزش تکنیک MapReduce اختصاص پیدا کرده است.

Published in: Data & Analytics
  • Be the first to comment

مدل MapReduce

  1. 1. ‫مدل‬MapReduce ‫رضایی‬‫ناصر‬ nasser.rezaei.novin@gmail.com
  2. 2. ‫مقدمه‬ •MapReduce‫است‬ ‫ها‬ ‫داده‬ ‫پردازش‬ ‫ای‬‫ر‬‫ب‬ ‫نویسی‬ ‫نامه‬‫ر‬‫ب‬ ‫مدل‬. •Hadoop‫های‬ ‫نامه‬‫ر‬‫ب‬ ‫تواند‬ ‫می‬MapReduce‫کند‬ ‫ا‬‫ر‬‫اج‬ ‫را‬ ‫مختلف‬ ‫های‬ ‫زبان‬ ‫در‬ ‫شده‬ ‫نوشته‬. •‫های‬ ‫نامه‬‫ر‬‫ب‬MapReduce‫شوند‬ ‫می‬ ‫ا‬‫ر‬‫اج‬ ‫موازی‬ ‫صورت‬ ‫به‬.
  3. 3. Map‫و‬Reduce •MapReduce‫شود‬ ‫می‬ ‫تقسیم‬ ‫قسمت‬ ‫دو‬ ‫به‬.Map‫و‬Reduce. •‫کلید‬ ِ‫جفت‬ ‫دارای‬ ‫فاز‬‫هر‬-‫است‬ ‫خروجی‬ ‫ای‬‫ر‬‫ب‬ ‫مقدار‬ ‫کلید‬ ِ‫جفت‬ ‫و‬ ‫ورودی‬ ‫ای‬‫ر‬‫ب‬ ‫مقدار‬. •‫ورودی‬Map‫از‬HDFS‫به‬ ‫آن‬ ‫خروجی‬ ‫و‬ ‫شود‬ ‫می‬ ‫گرفته‬Reduce‫شود‬ ‫می‬ ‫ارسال‬. •‫سازی‬ ‫پیاده‬ ‫ای‬‫ر‬‫ب‬ ‫نویس‬ ‫نامه‬‫ر‬‫ب‬MapReduce‫حداقل‬ ‫باید‬2‫تابع‬Map‫و‬Reduce‫ای‬‫ر‬‫ب‬ ‫تابعی‬ ‫و‬ ‫کند‬ ‫سازی‬ ‫پیاده‬ ‫را‬ ‫دو‬ ‫این‬ ‫اخوانی‬‫ر‬‫ف‬.
  4. 4. ‫سازی‬ ‫پیاده‬MapReduce •MapReduce‫مساله‬ ‫یک‬ ‫قالب‬ ‫در‬: •‫آوریم‬ ‫بدست‬ ‫را‬ ‫سال‬‫هر‬ ‫در‬ ‫هواشناسی‬ ‫های‬ ‫ایستگاه‬ ‫توسط‬ ‫شده‬ ‫ثبت‬ ‫دمای‬ ‫ترین‬ ‫بیش‬ ‫میخواهیم‬. •‫داد‬ ‫انجام‬ ‫موازی‬ ‫صورت‬ ‫به‬ ‫را‬ ‫ها‬ ‫پردازش‬ ‫توان‬ ‫می‬ ‫سرعت‬ ‫ایش‬‫ز‬‫اف‬ ‫ای‬‫ر‬‫ب‬. ‫است‬ ‫پردازش‬ ‫یک‬ ‫توسط‬ ‫سال‬‫هر‬ ‫دمای‬ ‫بیشترین‬ ‫آوردن‬ ‫بدست‬ ،‫موازی‬ ‫سازی‬ ‫پیاده‬ ‫ترین‬ ‫ساده‬. ‫اوال‬:‫است‬ ‫متفاوت‬ ‫سال‬‫هر‬ ‫در‬ ‫شده‬ ‫ثبت‬ ‫داده‬ ‫ان‬‫ز‬‫می‬ ‫که‬ ‫آنجایی‬ ‫از‬(‫اض‬ ‫ا‬‫ر‬‫اخی‬ ‫ها‬ ‫ایستگاه‬ ‫از‬ ‫بعضی‬‫شده‬ ‫افه‬ ‫اند‬)‫سایر‬ ‫از‬‫زودتر‬ ‫خیلی‬ ‫ها‬ ‫پردازش‬ ‫بعضی‬‫یابند‬ ‫می‬ ‫خاتمه‬ ‫ها‬ ‫پردازش‬.‫کنید‬ ‫فرض‬ ‫مثال‬30%‫های‬ ‫رکورد‬ ‫از‬ ‫باشند‬ ‫سال‬ ‫یک‬ ‫به‬ ‫مربوط‬ ‫شده‬ ‫ثبت‬. ‫ثانیا‬:‫دارد‬ ‫احتیاج‬ ‫دیگری‬ ‫پردازش‬ ‫به‬ ‫ها‬ ‫آن‬ ‫سازی‬ ‫مرتب‬ ‫و‬ ‫سال‬‫هر‬ ‫های‬ ‫جواب‬ ‫کیب‬‫تر‬. ‫کنیم‬ ‫تقسیم‬ ‫سال‬‫هر‬ ‫ای‬‫ر‬‫ب‬ ‫مختلفی‬ ‫های‬ ‫دسته‬ ‫به‬ ‫را‬ ‫مساله‬ ‫است‬‫بهتر‬.‫ثب‬ ‫دمای‬‫حداکثر‬ ‫دسته‬‫هر‬‫آن‬ ‫در‬ ‫شده‬ ‫ت‬ ‫رسی‬ ‫می‬ ‫نهایی‬ ‫جواب‬ ‫به‬ ‫سال‬‫هر‬ ‫های‬ ‫دسته‬ ‫مقدار‬ ‫ترین‬ ‫بزرگ‬ ‫کردن‬ ‫پیدا‬ ‫با‬ ‫و‬ ،‫گرداند‬ ‫برمی‬ ‫را‬ ‫دسته‬‫م‬.
  5. 5. ‫سازی‬ ‫پیاده‬MapReduce •‫آزمایشی‬ ‫دیتاست‬ •‫دیتاست‬ ‫های‬ ‫داده‬ ‫از‬ ‫سازی‬ ‫پیاده‬ ‫ای‬‫ر‬‫ب‬NCDC 1 ‫هواشناسی‬ ‫های‬ ‫ایستگاه‬ ‫از‬ ‫هوا‬ ‫و‬ ‫آب‬ ‫وضعیت‬ ‫ارش‬‫ز‬‫گ‬ ‫که‬ ‫ایم‬ ‫کرده‬ ‫استفاده‬ ‫کند‬ ‫می‬ ‫داری‬ ‫نگه‬ ‫را‬ ‫آمریکا‬. •‫سازی‬ ‫ذخیره‬ ‫فرمت‬ASCII. •‫خط‬ ‫یک‬ ‫در‬ ‫ارش‬‫ز‬‫گ‬‫هر‬. •‫ا‬ ،‫افیایی‬‫ر‬‫جغ‬ ‫عرض‬ ،‫افیایی‬‫ر‬‫جغ‬ ‫طول‬ ،‫مشاهده‬ ‫زمان‬ ،‫مشاهده‬ ‫تاریخ‬ ‫شامل‬ ‫نمونه‬ ‫های‬ ‫فیلد‬ ‫از‬ ‫بعضی‬،‫رتفاع‬ ‫و‬ ‫هوا‬ ‫فشار‬ ،‫نمونه‬ ‫کیفیت‬ ‫کد‬ ،‫هوا‬ ‫درجه‬... •‫که‬ ‫جایی‬ ‫آن‬ ‫از‬Hadoop‫ب‬ ‫شده‬ ‫ثبت‬ ‫رکوردهای‬ ‫تمام‬ ‫کند‬ ‫می‬ ‫کار‬‫بهتر‬ ‫بزرگ‬ ‫های‬ ‫فایل‬ ‫با‬‫یک‬ ‫ای‬‫ر‬ ‫ایم‬ ‫کرده‬ ‫ذخیره‬ ‫فایل‬ ‫یک‬ ‫در‬ ‫را‬ ‫سال‬. 1 National Climatic Data Center
  6. 6. ‫سازی‬ ‫پیاده‬MapReduce •‫کنید‬ ‫فرض‬5‫باشد‬‫زیر‬ ‫مانند‬ ‫دیتاست‬ ‫در‬ ‫شده‬ ‫ذخیره‬ ‫رکورد‬: • 0067011990999991950051507004...9999999N9+00001+99999999999... • 0043011990999991950051512004...9999999N9+00221+99999999999... • 0043011990999991950051518004...9999999N9-00111+99999999999... • 0043012650999991949032412004...0500001N9+01111+99999999999... • 0043012650999991949032418004...0500001N9+00781+99999999999... •‫اج‬‫ر‬‫استخ‬ ‫باال‬ ‫های‬ ‫رکورد‬ ‫از‬‫زیر‬ ‫اطالعات‬ ،‫دارد‬ ‫اهمیت‬ ‫ما‬ ‫ای‬‫ر‬‫ب‬ ‫سال‬ ‫و‬ ‫هوا‬ ‫درجه‬ ‫اطالعات‬ ‫فقط‬ ‫که‬ ‫آنجایی‬ ‫از‬‫می‬ ‫شود‬(‫تابع‬ ‫در‬Map:) • (1950, 0) • (1950, 22) • (1950, −11) • (1949, 111) • (1949, 78)
  7. 7. ‫خروجی‬ ‫و‬ ‫ورودی‬Map‫و‬Reduce •‫توابع‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫گفتیم‬ ‫قبال‬ ‫که‬ ‫طور‬ ‫همان‬Map‫و‬Reduce‫کلید‬ ‫صورت‬ ‫به‬-‫است‬ ‫مقدار‬. •‫تابع‬map‫س‬ ‫و‬ ‫گیرد‬ ‫می‬ ‫ورودی‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫شده‬ ‫ذخیره‬ ‫رکورد‬ ‫و‬ ‫فایل‬ ‫ابتدای‬ ‫از‬ ‫رکورد‬‫هر‬ ‫شروع‬ ‫آفست‬‫و‬ ‫ال‬ ‫گرداند‬ ‫برمی‬ ‫خروجی‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫شده‬ ‫ثبت‬ ‫دمای‬. •‫تابع‬ ‫خروجی‬map‫توسط‬Shuffle‫اطالعات‬‫کند‬ ‫می‬ ‫بندی‬ ‫دسته‬ ‫سال‬ ‫مبنای‬‫بر‬ ‫را‬. •‫تابع‬reduce‫ورودی‬ ‫عنوان‬ ‫به‬ ‫شده‬ ‫ثبت‬ ‫دماهای‬‫گرد‬ ‫برمی‬ ‫را‬ ‫سال‬‫هر‬ ‫ازای‬ ‫به‬ ‫را‬ ‫آن‬‫حداکثر‬ ‫و‬ ‫گرفته‬ ‫را‬‫اند‬.
  8. 8. ‫کالس‬ 1 Mapper 1 Sources at: https://github.com/tomwhite/hadoop-book
  9. 9. ‫کالس‬Mapper •‫تابع‬Map‫کالس‬ ‫با‬Mapper‫شود‬ ‫می‬ ‫مشخص‬. •Hadoop‫کند‬ ‫می‬ ‫استفاده‬ ‫جاوا‬ ‫ای‬ ‫داده‬ ‫انواع‬ ‫جای‬ ‫به‬ ‫خود‬ ‫ای‬ ‫داده‬ ‫انواع‬ ‫از‬.LongWritable ‫شبیه‬Long،Text‫جای‬ ‫به‬String‫و‬IntWritable‫جای‬ ‫به‬Integer‫شده‬ ‫استفاده‬ ‫مثال‬ ‫این‬ ‫در‬ ‫پکیج‬ ‫در‬ ‫که‬ ‫اند‬org.apache.hadoop.io‫دارند‬ ‫ار‬‫ر‬‫ق‬. •‫که‬ ‫شود‬ ‫می‬ ‫ثبت‬ ‫صورتی‬ ‫در‬ ‫شده‬ ‫گیری‬ ‫اندازه‬ ‫دمای‬Quality‫شده‬ ‫ثبت‬(substring(92,93)) ‫اعداد‬ ‫از‬ ‫یکی‬[01459]‫خطا‬ ‫شده‬ ‫ثبت‬ ‫ان‬‫ز‬‫می‬ ‫و‬ ‫باشد‬(9999)‫نباشد‬. •‫از‬Context‫ورودی‬ ‫به‬ ‫که‬ ‫شود‬ ‫می‬ ‫استفاده‬ ‫خروجی‬ ‫در‬ ‫نتایج‬ ‫نوشتن‬ ‫ای‬‫ر‬‫ب‬Reducer‫فرستاده‬ ‫شود‬ ‫می‬.
  10. 10. ‫کالس‬Reducer
  11. 11. ‫کالس‬Reducer •‫ورودی‬ ‫ای‬ ‫داده‬ ‫انواع‬Reducer‫خروجی‬ ‫ای‬ ‫داده‬ ‫انواع‬ ‫با‬ ‫مطابق‬ ‫بایستی‬Mapper‫باشد‬. •‫بدس‬ ‫ها‬ ‫آن‬ ‫ماکزیمم‬ ‫انتخاب‬ ‫و‬ ‫سال‬‫هر‬ ‫ای‬‫ر‬‫ب‬ ‫شده‬ ‫ثبت‬ ‫دماهای‬ ‫پیمایش‬ ‫با‬ ‫خروجی‬ ‫مقدار‬‫می‬ ‫ت‬ ‫آید‬.
  12. 12. ‫اصلی‬ ‫کالس‬
  13. 13. ‫اصلی‬ ‫کالس‬ •‫یک‬ ‫کالس‬ ‫این‬Job‫فایل‬ ‫قالب‬ ‫در‬ ‫را‬Jar‫کند‬ ‫توزیع‬‫کالستر‬ ‫در‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫ار‬‫ر‬‫ق‬. •‫روی‬ ‫خروجی‬ ‫و‬ ‫ورودی‬‫مسیر‬ ‫کردن‬ ‫تعیین‬ ‫ای‬‫ر‬‫ب‬HDFS‫تابع‬ ‫از‬)(addInputPath‫کالس‬ FileInputFormat‫ایم‬ ‫کرده‬ ‫استفاده‬. •‫توابع‬ ‫با‬setMapperClass()‫و‬setReducerClass()‫های‬ ‫کالس‬Mapper‫و‬Reducer‫کرده‬ ‫تعریف‬ ‫را‬ ‫ایم‬. •‫توابع‬ ‫با‬setOutputKeyClass()‫و‬setOutputValueClass()‫کلید‬-‫کرده‬ ‫مشخص‬ ‫را‬ ‫خروجی‬ ‫مقدار‬ ‫ایم‬. •‫متد‬waitForCompletion()،Job‫کند‬ ‫می‬‫صبر‬ ‫آن‬ ‫پایان‬ ‫زمان‬ ‫تا‬ ‫و‬ ‫کند‬ ‫می‬ ‫ثبت‬ ‫را‬. •‫کرد‬ ‫وارد‬ ‫ترمینال‬ ‫در‬ ‫را‬‫زیر‬ ‫های‬ ‫دستور‬ ‫بایستی‬ ‫برنامه‬ ‫ای‬‫ر‬‫اج‬ ‫ای‬‫ر‬‫ب‬ 1 . • export HADOOP_CLASSPATH=hadoop-examples.jar hadoop MaxTemperature input/ncdc/sample.txt output 1 Full Instruction at: https://github.com/tomwhite/hadoop-book
  14. 14. ‫ای‬ ‫داده‬ ‫جریان‬ •MapReduce‫که‬ ‫است‬ ‫کاری‬ ‫از‬ ‫واحد‬ ‫یک‬client‫شامل‬ ‫که‬ ‫دهد‬ ‫انجام‬ ‫میخواهد‬‫ورودی‬ ‫های‬ ‫داده‬، ‫برنامه‬MapReduce‫و‬‫پیکربندی‬ ‫اطالعات‬‫است‬. •‫کار‬‫هر‬(Job)‫وظیفه‬ ‫دو‬ ‫به‬(Task)‫شود‬ ‫می‬ ‫شکسته‬:Map‫و‬Reduce. •‫توسط‬ ‫ها‬ ‫وظیفه‬YARN‫روی‬ ‫و‬ ‫شوند‬ ‫می‬ ‫زمانبندی‬node‫ها‬(‫کالستر‬ ‫مستقل‬ ‫های‬‫کامپیوتر‬)‫می‬ ‫ا‬‫ر‬‫اج‬ ‫شوند‬. •‫وظیفه‬‫هر‬Map‫ای‬ ‫تکه‬(split)‫کند‬ ‫می‬ ‫پردازش‬ ‫را‬ ‫ورودی‬ ‫های‬ ‫داده‬ ‫از‬. •‫غیر‬ ‫پردازش‬ ‫به‬ ‫نسبت‬ ‫پردازش‬ ‫زمان‬ ‫مدت‬ ‫همزمانی‬ ‫دلیل‬ ‫به‬ ‫باشیم‬ ‫داشته‬ ‫ورودی‬ ‫تکه‬ ‫زیادی‬ ‫تعداد‬‫اگر‬‫همان‬ ‫همروند‬ ‫و‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫گیری‬ ‫چشم‬ ‫کاهش‬ ‫ها‬ ‫داده‬Load Balancing‫و‬ ‫افتد‬ ‫می‬ ‫اتفاق‬‫بهتر‬node‫های‬ ‫تکه‬‫تر‬ ‫سریع‬ ‫های‬ ‫کنند‬ ‫می‬ ‫پردازش‬ ‫را‬ ‫بیشتری‬. •‫زم‬ ‫شدن‬ ‫افزوده‬ ‫باعث‬ ‫ورودی‬ ‫های‬ ‫تکه‬ ‫مدیریت‬ ‫از‬ ‫ناشی‬ ‫اضافی‬ ‫بار‬ ‫باشد‬ ‫کوچک‬ ‫خیلی‬ ‫ورودی‬ ‫های‬ ‫تکه‬‫اگر‬‫کلی‬ ‫ان‬ ‫شود‬ ‫می‬ ‫پردازش‬. •HDFS‫های‬ ‫تکه‬ ‫یا‬ ‫بلوک‬ ‫اندازه‬ ‫از‬128‫است‬ ‫مناسب‬ ‫ها‬ ‫کاربرد‬ ‫اغلب‬ ‫ای‬‫ر‬‫ب‬ ‫که‬ ‫کند‬ ‫می‬ ‫استفاده‬ ‫مگابایتی‬.
  15. 15. ‫ای‬ ‫داده‬ ‫جریان‬ •Hadoop‫های‬ ‫وظیفه‬ ‫حالت‬ ‫بهترین‬ ‫در‬Map‫روی‬ ‫را‬ ‫ها‬node‫اند‬ ‫گرفته‬ ‫ار‬‫ر‬‫ق‬ ‫آن‬ ‫روی‬ ‫ورودی‬ ‫های‬ ‫داده‬ ‫که‬ ‫هایی‬ ‫کند‬ ‫می‬ ‫پردازش‬. •‫حالت‬ ‫این‬ ‫در‬Locality‫ورودی‬ ‫انتقال‬ ‫صرف‬‫کالستر‬ ‫ارزشمند‬ ‫باند‬ ‫پهنای‬ ‫و‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫افزایش‬ ‫ها‬ ‫داده‬Map ‫شود‬ ‫نمی‬. •‫از‬ ‫ها‬ ‫داده‬ ‫است‬ ‫ممکن‬ ‫مواقعی‬ ‫در‬node‫از‬ ‫حتی‬ ‫یا‬ ‫و‬‫دیگر‬Rack‫شوند‬ ‫خوانده‬ ‫دیگری‬( .‫بعد‬ ‫صفحه‬ ‫شکل‬)
  16. 16. ‫ای‬ ‫داده‬ ‫جریان‬ •‫خروجی‬Map‫همان‬ ‫دیسک‬ ‫روی‬node‫توسط‬ ‫باید‬ ‫تنها‬ ‫اش‬ ‫نتایج‬ ‫چون‬ ‫شود‬ ‫می‬ ‫نوشته‬Reduce ‫شود‬ ‫می‬ ‫حذف‬ ‫آن‬ ‫از‬ ‫پس‬ ‫و‬ ‫شود‬ ‫پردازش‬. •‫اگر‬node‫که‬ ‫ی‬Map‫بیفتد‬ ‫کار‬ ‫از‬ ‫دهد‬ ‫می‬ ‫انجام‬ ‫را‬Hadoop‫اتوماتیک‬ ‫صورت‬ ‫به‬node ‫کند‬ ‫می‬ ‫جایگزین‬ ‫را‬ ‫دیگری‬. •‫خالف‬‫بر‬Map‫هر‬ ‫در‬ ‫و‬ ‫آمد‬ ‫می‬ ‫وجود‬ ‫به‬ ‫ای‬ ‫داده‬ ‫تکه‬‫هر‬ ‫ای‬‫ر‬‫ب‬ ‫که‬node‫جداگانه‬ ‫صورت‬ ‫به‬ ‫تمام‬ ‫خروجی‬ ،‫شد‬ ‫می‬ ‫پردازش‬Map‫وظیفه‬ ‫یک‬ ‫به‬ ‫ها‬Reduce‫شود‬ ‫می‬ ‫فرستاده‬. •‫شده‬ ‫مرتب‬ ‫خروجی‬Map‫داخل‬ ‫ها‬node‫که‬ ‫ی‬Reduce‫تابع‬ ‫به‬ ‫سپس‬ ‫و‬ ‫شود‬ ‫می‬ ‫ادغام‬ ‫کند‬ ‫می‬ ‫ا‬‫ر‬‫اج‬ ‫را‬ Reduce‫شود‬ ‫می‬ ‫ارسال‬‫کاربر‬ ‫توسط‬ ‫شده‬ ‫تعریف‬.
  17. 17. ‫ای‬ ‫داده‬ ‫جریان‬ •‫چند‬ ‫که‬ ‫وقتی‬Reducer‫های‬ ‫وظیفه‬ ،‫داریم‬Map‫را‬ ‫شان‬ ‫خروجی‬‫بندی‬ ‫بخش‬‫به‬ ‫را‬ ‫بخش‬‫هر‬ ‫و‬ ‫کنند‬ ‫می‬ ‫یک‬Reducer‫فرستند‬ ‫می‬. •‫وظیفه‬ ‫هیچ‬ ‫توان‬ ‫می‬Reduce‫نداشت‬ ‫ی‬.‫خروجی‬ ‫حالت‬ ‫این‬ ‫در‬Map‫دهد‬ ‫می‬ ‫را‬ ‫نهایی‬ ‫جواب‬ ‫ها‬.
  18. 18. ‫توابع‬Combiner •‫کار‬ ‫زیادی‬ ‫تعداد‬ ‫وجود‬Map‫شود‬ ‫مواجه‬ ‫محدودیت‬ ‫با‬ ‫ها‬‫کالستر‬ ‫روی‬ ‫باند‬ ‫پهنای‬ ‫که‬ ‫شود‬ ‫می‬ ‫باعث‬. •Hadoop‫تابع‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫امکان‬ ‫این‬‫کاربر‬ ‫به‬Combiner‫تعریف‬ ‫ها‬ ‫آن‬ ‫کیب‬‫تر‬ ‫و‬ ‫خروجی‬ ‫چند‬ ‫گرفتن‬ ‫ای‬‫ر‬‫ب‬ ‫کند‬.‫خروجی‬Combiner‫به‬Reduce‫شود‬ ‫می‬ ‫فرستاده‬. •‫چون‬Combiner‫تعداد‬‫هر‬ ‫به‬ ‫آن‬ ‫اخوانی‬‫ر‬‫ف‬ ‫است‬ ‫سازی‬ ‫بهینه‬ ‫تابع‬ ‫یک‬(‫بیشتر‬ ‫یا‬‫صفر‬)‫روی‬ ‫تاثیری‬‫خروجی‬ Reduce‫ندارد‬. •‫تابع‬Combiner‫بین‬ ‫که‬ ‫ای‬ ‫داده‬ ‫ان‬‫ز‬‫می‬ ‫تواند‬ ‫می‬Mapper‫و‬Reducer‫دهد‬ ‫کاهش‬ ‫را‬ ‫شود‬ ‫می‬ ‫بدل‬ ‫و‬ ‫رد‬ ‫ها‬.
  19. 19. ‫تابع‬ ‫تعریف‬Combiner •‫با‬ ‫درجه‬ ‫باالترین‬ ‫کردن‬ ‫پیدا‬ ‫اصلی‬ ‫کالس‬ ‫شده‬ ‫بازنویسی‬ ‫نمونه‬ ‫بعدی‬ ‫اسالید‬ ‫مثال‬ ‫در‬Combiner‫شده‬ ‫آورده‬ ‫است‬. •‫که‬ ‫جایی‬ ‫آن‬ ‫از‬ ‫کنید‬ ‫دقت‬Combiner‫به‬ ‫شبیه‬ ‫مثال‬ ‫این‬ ‫در‬Reducer‫کند‬ ‫می‬ ‫عمل‬(‫ماکزیمم‬ ‫آوردن‬ ‫بدست‬ ‫مقدار‬ ‫چند‬)‫از‬ ‫نمونه‬ ‫یک‬Reducer‫عنوان‬ ‫به‬ ‫را‬Combiner‫ایم‬ ‫کرده‬ ‫معرفی‬.
  20. 20. ‫تابع‬ ‫تعریف‬Combiner
  21. 21. Streaming‫در‬Hadoop •Hadoop‫یک‬API‫ای‬‫ر‬‫ب‬MapReduce‫توابع‬ ‫که‬ ‫دهد‬ ‫می‬ ‫را‬ ‫اجازه‬ ‫این‬ ‫شما‬ ‫به‬ ‫که‬ ‫است‬ ‫کرده‬ ‫اهم‬‫ر‬‫ف‬Map‫و‬ Reduce‫بنویسید‬ ‫جاوا‬ ‫از‬‫غیر‬ ‫های‬ ‫زبان‬ ‫در‬ ‫را‬. •Hadoop Streaming‫استاندارد‬ ‫استریم‬ ‫از‬UNIX‫بین‬ ‫ارتباط‬ ‫ای‬‫ر‬‫ب‬Hadoop‫کند‬ ‫می‬ ‫استفاده‬ ‫شما‬ ‫نامه‬‫ر‬‫ب‬ ‫و‬. ‫کدهای‬ ‫نوشتن‬ ‫ای‬‫ر‬‫ب‬ ‫توان‬ ‫می‬ ‫کند‬ ‫پشتیبانی‬ ‫را‬ ‫استریم‬ ‫این‬ ‫که‬ ‫زبانی‬‫هر‬ ‫از‬ ‫این‬‫ر‬‫بناب‬MapReduce‫کرد‬ ‫استفاده‬. •Streaming‫است‬ ‫مناسب‬ ‫متن‬ ‫پردازش‬ ‫های‬ ‫کاربرد‬ ‫ای‬‫ر‬‫ب‬.
  22. 22. ‫منابع‬ • White, Tom. Hadoop: The definitive guide, 4th edition. " O'Reilly Media, Inc.", 2015.

×