در دنیای پردازش داده های بزرگ، MapReduce به عنوان یک مدل برنامه نویسی قدرتمند برای محاسبات توزیع شده ظهور کرده است. پردازش مجموعه دادههای بزرگ را در میان خوشههای کامپیوتری امکانپذیر میکند و آن را به سنگ بنای برنامههای کاربردی داده تبدیل میکند. یکی از اجزای مهم در کار MapReduce Combiner است. به عنوان یک تامین کننده Combiner، من به طور مستقیم شاهد تأثیرات مختلف Combiners بر سازگاری داده ها در مشاغل MapReduce بوده ام.
آشنایی با MapReduce و نقش ترکیب کننده ها
قبل از بررسی تأثیر بر ثبات داده ها، ضروری است که بدانیم MapReduce و Combiner چیست. MapReduce از دو فاز اصلی تشکیل شده است: فاز Map و فاز Reduce. در مرحله نقشه، داده های ورودی به تکه های کوچکتر تقسیم می شوند و هر تکه به طور مستقل توسط وظایف نگاشت پردازش می شود. این نگاشتگرها جفت های میانی کلید - مقدار تولید می کنند. سپس فاز Reduce این جفت های میانی را برای تولید خروجی نهایی جمع می کند.
Combiner یک مرحله بهینه سازی اختیاری در چارچوب MapReduce است. این یک تجمیع کننده محلی است که روی گره های نگاشت اجرا می شود. عملکرد اصلی آن انجام تجمیع جزئی بر روی جفتهای میانی کلید - مقدار است که توسط نقشهبرداران قبل از ارسال آنها از طریق شبکه به کاهندهها ایجاد میشود. با انجام این کار، مقدار داده های منتقل شده در سراسر شبکه را کاهش می دهد که می تواند عملکرد MapReduce را به طور قابل توجهی بهبود بخشد.
تأثیرات مثبت بر سازگاری داده ها
کاهش شبکه - ناسازگاری های مرتبط
یکی از راههایی که یک Combiner میتواند ثبات دادهها را افزایش دهد، کاهش مسائل مربوط به شبکه است. هنگامی که داده ها از طریق شبکه منتقل می شوند، خطر از دست دادن بسته، ازدحام شبکه یا خرابی داده ها وجود دارد. با انجام تجمیع جزئی به صورت محلی روی گرههای نقشهبردار، Combiner حجم دادههایی را که باید منتقل شوند کاهش میدهد. این بدان معناست که احتمال از بین رفتن یا خراب شدن داده ها در طول انتقال شبکه کمتر است که منجر به رسیدن داده های سازگارتر به کاهنده ها می شود.
برای مثال، در یک کار MapReduce با شمارش کلمه، نقشهبرداران جفتهای میانی کلید-مقدار را تولید میکنند که در آن کلید یک کلمه است و مقدار، تعداد آن کلمه در یک قطعه ورودی خاص است. بدون Combiner، تمام این جفت های میانی از طریق شبکه به کاهنده ها ارسال می شوند. با این حال، با یک Combiner، میتواند تعداد هر کلمه را به صورت محلی در گرههای نقشهبردار خلاصه کند. این امر تعداد جفتهای کلید-مقدار را که باید منتقل شوند کاهش میدهد و احتمال ناهماهنگی دادههای مرتبط با شبکه را به حداقل میرساند.
منطق تجمیع سازگار
Combiner یک منطق تجمیع منسجم را در تمام گرههای نقشهبردار اعمال میکند. از آنجایی که Combiner از همان تابع تجمعی مانند کاهنده استفاده می کند، اطمینان حاصل می کند که تجمعات جزئی انجام شده بر روی گره های نقشه برداری با تجمعات نهایی که توسط کاهنده ها انجام خواهد شد، مطابقت دارند. این ثبات در منطق تجمیع به حفظ ثبات داده ها در سراسر کار MapReduce کمک می کند.
به عنوان مثال، اگر تابع تجمیع برای محاسبه مجموع مقادیر برای هر کلید باشد، Combiner مقادیر را به صورت محلی در گرههای نقشهبردار جمعبندی میکند، و کاهنده مجموع نهایی را بر روی مقادیر جمعشده دریافتشده از نگاشتکنندهها انجام میدهد. این تضمین می کند که محاسبه کلی مجموع از تجمیع جزئی اولیه تا نتیجه نهایی سازگار است.
تأثیرات منفی بر سازگاری داده ها
تجمیع نادرست در عملیات غیرتداعی یا غیرتبدیلی
همه عملیات تجمیع برای استفاده در Combiner مناسب نیستند. توابع انباشتگی که غیرتداعی یا غیرتبدیلی هستند، هنگام استفاده در یک Combiner می توانند منجر به ناسازگاری داده ها شوند. عملیات انجمنی عملیاتی است که در آن گروه بندی عملوندها بر نتیجه تأثیر نمی گذارد (مثلاً جمع: (a + b)+ c=a+(b + c)) و یک عملیات جابجایی عملیاتی است که ترتیب عملوندها بر نتیجه تأثیر نمی گذارد (مثلاً جمع: a + b=b + a).
به عنوان مثال، یک تابع تجمیع را در نظر بگیرید که میانگین مقادیر را محاسبه می کند. میانگین به صورت مجموع مقادیر تقسیم بر تعداد مقادیر محاسبه می شود. هنگام استفاده از Combiner برای محاسبه میانگین، ممکن است به نتایج نادرستی منجر شود، زیرا میانگین عملیات ارتباطی نیست. اگر Combiner میانگین زیر مجموعه ای از مقادیر را محاسبه کند و سپس کاهنده سعی کند این میانگین های جزئی را ترکیب کند، نتیجه نهایی میانگین صحیح همه مقادیر نخواهد بود.
بیش از حد - تجمع و از دست دادن اطلاعات
یکی دیگر از مشکلات احتمالی Combiners پایان یافتن است - تجمع، که می تواند منجر به از دست رفتن اطلاعات مهم شود. از آنجایی که Combiner تجمیع جزئی را بر روی گرههای نقشهبردار انجام میدهد، ممکن است دادهها را به گونهای جمعبندی کند که برخی زمینهها یا جزئیات لازم برای تحلیل نهایی را از دست بدهد.
برای مثال، در یک کار MapReduce که دادههای سری زمانی را تجزیه و تحلیل میکند، اگر Combiner دادهها را در یک بازه زمانی بزرگ جمعآوری کند، ممکن است اطلاعات مربوط به نقاط دادهای را در آن بازه زمانی از دست بدهد. هنگامی که کاهنده ها سعی می کنند تجزیه و تحلیل دقیق تری را بر اساس داده های جمع آوری شده انجام دهند، می تواند منجر به نتایج متناقضی شود.


محصولات واقعی - جهانی و ارتباط آنها
در زمینه زیرساخت پردازش داده، محصولاتی مانندXPON UN 4GE VoIP WiFi6 AX3000،تقویت کننده MOCA 4 طرفه، وسوئیچ اترنت 14 پورت گیگابیتینقش های مهمی ایفا کند. این محصولات می توانند بخشی از زیرساخت شبکه ای باشند که از کارهای MapReduce پشتیبانی می کند.
XPON ONU 4GE VoIP WiFi6 AX3000 اتصال با سرعت بالا را فراهم می کند که برای انتقال داده ها بین گره ها در یک خوشه MapReduce بسیار مهم است. یک اتصال شبکه پایدار و پرسرعت به به حداقل رساندن مسائل مرتبط با شبکه کمک می کند که می تواند بر ثبات داده ها تأثیر بگذارد. تقویت کننده 4 راه MOCA می تواند قدرت سیگنال را در یک شبکه کواکسیال افزایش دهد و از انتقال داده قابل اطمینان اطمینان حاصل کند. و سوئیچ اترنت 14 پورت گیگابیتی امکان مسیریابی کارآمد داده در کلاستر را فراهم می کند و ارتباط صاف بین گره های نقشه برداری و کاهش دهنده را ممکن می سازد.
اطمینان از سازگاری داده ها با ترکیب کننده ها
برای اطمینان از سازگاری داده ها هنگام استفاده از Combiners، انتخاب دقیق توابع تجمع ضروری است. در Combiner فقط از توابع تجمعی و جابجایی استفاده کنید. علاوه بر این، مهم است که Combiner را به طور کامل در یک محیط آزمایشی آزمایش کنید تا مطمئن شوید که باعث تجمع بیش از حد یا از دست دادن اطلاعات مهم نمی شود.
نتیجه گیری و فراخوان برای اقدام
در نتیجه، Combiners می تواند تأثیرات مثبت و منفی بر روی ثبات داده ها در مشاغل MapReduce داشته باشد. هنگامی که به درستی استفاده می شوند، می توانند به طور قابل توجهی سازگاری داده ها را با کاهش مسائل مربوط به شبکه و اعمال منطق تجمیع سازگار افزایش دهند. با این حال، استفاده نادرست از Combiners می تواند منجر به ناهماهنگی داده ها به دلیل عملیات تجمع نادرست یا تجمع بیش از حد شود.
به عنوان یک تامین کننده Combiner، ما متعهد به ارائه Combiner هایی با کیفیت بالا هستیم که برای کار یکپارچه با مشاغل MapReduce شما طراحی شده اند و از ثبات داده ها اطمینان حاصل می کنند. اگر به دنبال بهینهسازی مشاغل MapReduce خود و بهبود ثبات دادهها هستید، از شما دعوت میکنیم برای یک بحث مفصل با ما تماس بگیرید. ما میتوانیم به شما در انتخاب توابع Combiner و Aggregation مناسب برای مورد خاص خود کمک کنیم.
مراجع
- دین، جی، و غماوات، اس. (2008). MapReduce: پردازش داده های ساده در خوشه های بزرگ. ارتباطات ACM، 51 (1)، 107 - 113.
- White, T. (2015). هادوپ: راهنمای قطعی. رسانه اوریلی
