Apache Hadoop یک پلتفرم متنباز است که برای ذخیرهسازی و پردازش بهتر دادههای کلان، از گیگابایت تا پتابایت، استفاده میشود. بهجای استفاده از یک کامپیوتر بزرگ برای ذخیرهسازی و پردازش دادهها، هدوپ امکان گروهبندی چندین کامپیوتر را فراهم میکند تا بتوانند دادههای کلان را سریعتر تحلیل کنند.
چهار واحد اصلی هدوپ
• سیستم فایل توزیعشده هدوپ (HDFS) – یک سیستم فایل توزیعشده که بر روی سختافزار استاندارد یا ضعیف اجرا میشود. HDFS نسبت به سیستمهای فایل قدیمی برای جریان داده بهتر است، تحمل خطا را بالا میبرد و امکان پشتیبانی بومی از دادههای کلان را نیز فراهم میکند.
• هدف YARN نظارت بر خوشهبندی گره و استفاده از منابع است و در واقع وظیفه زمانبندی را دارد.
• MapReduce پلتفرمی است که به برنامهها کمک میکند تا محاسبات موازی روی دادهها انجام دهند، به این شکل که دادههای ورودی را دریافت کرده و آن را به یک مجموعه داده تبدیل میکند که میتواند بهصورت جفت کلیدها و مقادیر محاسبه شود.
• Hadoop Common – شامل کتابخانههای مشترک و قابل استفاده در تمامی واحدها است.
طرز کار هدوپ
هدوپ استفاده از تمام ظرفیت ذخیرهسازی و پردازش در سرورهای خوشهای را آسانتر میکند و امکان اجرای فرایندهای توزیعشده را روی مقادیر زیادی از دادهها فراهم میآورد. هدوپ بلوکهای ساختاری فراهم میکند که سایر خدمات و برنامهها میتوانند بر اساس آنها ساخته شوند.
برنامههایی که دادهها را در فرمتهای مختلف جمعآوری میکنند، میتوانند با استفاده از عملیات API به گره نام (NameNode) متصل شوند و دادهها را به خوشه هدوپ منتقل کنند. گره نام ساختار دایرکتوری فایل و مکان “قطعات” هر فایل را که در گرههای داده (DataNode) کپی شدهاند، بررسی میکند.
پیشرفت اکوسیستم هدوپ
سال هاست که اکوسیستم هدوپ به دلیل قابلیت آن به طور قابل توجهی رشد کرده است. امروزه، اکوسیستم هدوپ شامل ابزارها و برنامههای زیادی است که به جمعآوری، ذخیرهسازی، پردازش، تحلیل و مدیریت دادههای کلان کمک میکنند. برخی از محبوبترین این برنامهها عبارتند از:
• Spark – یک سیستم پردازش توزیعشده متنباز که معمولاً برای دادههای کلان استفاده میشود. Apache Spark از کشکردن در حافظه و اجرای بهینه برای عملکرد سریع استفاده میکند و از پردازش دستهای عمومی، تحلیل جریانی، یادگیری ماشین، پایگاههای داده گرافی و پرسشهای موردی پشتیبانی میکند.
• Presto – یک موتور جستجو SQL توزیع شده است که برای تحلیلهای موردی با تأخیر کم ساخته شده است. این موتور از استاندارد ANSI SQL پشتیبانی میکند و شامل پرسشهای پیچیده، خلاصهها، جوینها و توابع پنجرهای است .Presto میتواند دادهها را از منابع مختلف پردازش کند.
• Hive به کاربران این امکان را میدهد که از MapReduce با استفاده از یک رابط SQL استفاده کنند و در مقیاس وسیع تحلیل کند. علاوه بر این، انباری از دادههای توزیعشده و مقاوم در برابر خطا را نیز تهیه میکند.
• HBase یک پایگاه داده غیررابطهای و نسخهبندی شده متنباز است که با سیستم فایل توزیعشده هدوپ اجرا میشود. HBase فروشگاه دادههای کلان توزیعشده و مقیاسپذیر است که برای دسترسی تصادفی، کاملاً سازگار و بی درنگ برای جداولی با میلیاردها ردیف و میلیونها ستون طراحی شده است.
• Zeppelin یک دفترچه یادداشت تعاملی است که امکان کاوش دادههای تعاملی را فراهم میکند.