هل Hadoop ميت؟ الجزء 1

تم إعداد ترجمة لهذه المقالة خصيصًا لطلاب دورة مهندس البيانات .




بعد أن أعلن كل من Cloudera و MapR منذ أسابيع أن نشاطهما التجاري كان في وقت صعب ، رأيت مجموعة من مشاركات وسائل التواصل الاجتماعي تحت شعار "Hadoop is Dead". هذه المشاركات ليست جديدة ، ولكن في قطاع نادرًا ما ينتج فيه الخبراء الفنيون مواد عالية الجودة للشبكات الاجتماعية ، فإن هذه التعجبات تزداد صوتًا وأعلى صوتًا. أود أن أفكر في بعض الحجج المتعلقة بحالة Hadoop.

المنافسة مع مجانا


لدى Cloudera اقتراحات تساعد Hadoop في أن تكون حلاً أكثر اكتمالا. ظهرت هذه الأدوات قبل أن يصبح مطورو البرامج منتشرين على نطاق واسع ، وكان النشر الآلي نادرًا.

توفر أدواتهم صفقات رائعة لأكثر من 2600 عميل ، ولكن معظم البرامج التي يقدمونها مفتوحة المصدر ومجانية. تتنافس كلوديا في النهاية مع البرمجيات الحرة. لأهم ما في الأمر ، عمل الكثير من مطوري الأنظمة البيئية Hadoop في وقت واحد أو آخر في Cloudera ، أي في النهاية ، دعموا بطريقة ما العروض المجانية التي ينافسونها.

نظرًا لأنهم ينافسون مجانًا ، فلن تقدم Cloudera أبدًا 100٪ من قاعدة مستخدمي Hadoop. لا أجرؤ على استخدامها كمؤشر على صحة Hadoop لهذا السبب بالذات.

تحاول الشركات الأخرى التي تقدم حلولًا جاهزة للاستخدام في Spark و Presto أن تنأى بنفسها عن علامة Hadoop. قد تتضمن عروضهم مئات من ملفات .jar من مشاريع Hadoop المختلفة ، ولكن مع ذلك ، فإن هذه الشركات تريد أن تفعل كل ما هو ممكن لتجنب المنافسة مع العروض المجانية ، مع خفض تكاليف التطوير من خلال استخدام برامج مفتوحة المصدر. المبيعات ليست بهذه السهولة عندما يستطيع عميلك تنزيل 80٪ من عرضك بشكل قانوني دون دفع ثمنها.

المنافسة مع AWS


في عام 2012 ، عملت على تنفيذ Hadoop مع 25 مقاولًا آخر. جاء بعض زملائي من Google ، بينما استمر آخرون في العمل لدى Cloudera. أنتجت ميزانية كبيرة ، أنتج الفريق العديد من الساعات المدفوعة ، ولكن جزء صغير جدًا من نظام Hadoop البيئي كان جاهزًا.

في غضون بضع سنوات ، ظهرت AWS EMR وبدأت في استيعاب حصتها في السوق. تتيح لك EMR تشغيل مجموعات Hadoop مع مجموعة واسعة من البرامج المثبتة ببضع نقرات. يمكن أن تعمل في نسخ نقطية ، مما يقلل من تكاليف المعدات بنسبة 80 ٪ ~ ، ويمكن تخزين البيانات على S3 ، والتي كانت ولا تزال رخيصة وموثوقة في 99.9999999999 ٪.

فجأة ، اختفت الحاجة إلى 25 مقاولًا في المشروع. في بعض المشاريع ، أنا فقط ، عامل بدوام كامل ، والعديد من المشاريع الأخرى بدوام جزئي ، التي تعد البنية التحتية بالإضافة إلى مسؤولياتنا الأخرى ، يمكن أن تشارك. لا تزال هناك حاجة لمستشاري المشاريع الذين يستخدمون AWS EMR ، لكن إمكانات إعداد الفواتير الإجمالية لهذا النوع من العمل أقل بكثير من بضع سنوات مضت.
ما هي حصة من الأعمال المحتملة Cloudera فقدت لصالح EMR؟ قامت Cloudera بعمل جيد في إنشاء وإدارة مجموعات معدنية عارية ، ولكن اليوم معظم عالم البيانات في السحابة. تجدر الإشارة إلى مدى جاذبية Hadoop لعملك ، فقط لأن AWS لديها عرض مُدار مع نسخ نقطية.

ما هو Hadoop؟


إذا سألتني تعريف Hadoop ، أود أن أقول إنها مجموعة كبيرة من البرمجيات مفتوحة المصدر تتكامل إلى حد ما ولديها عدة مكتبات مشتركة. أرى Hadoop كقاعدة بيانات مقسمة ، مثل توزيع نظام التشغيل للبيانات تقريبًا.
ليست كل مشاريع البرامج التي ترعاها Hadoop هي مشاريع Apache. المعزوفة هي واحدة من هذه الاستثناءات. الآخرين ، مثل ClickHouse ، مع دعم قادم لـ HDFS و Parquet ، لن ينظر إليه الكثيرون على أنه مشروع Hadoop ، على الرغم من أنهم سيضعون علامة الرسم البياني للتوافق قريبًا.

حتى عام 2012 ، لم تكن هناك ملفات ORC أو Parquet. ساهمت هذه الأشكال في تنفيذ تحليلات سريعة في Hadoop. قبل هذه الأشكال ، كانت أعباء العمل موجهة في الغالب. إذا كنت بحاجة إلى تحويل تيرابايت من البيانات ويمكنك القيام بذلك بشكل متوازٍ ، فسوف تقوم Hadoop بالمهمة على أكمل وجه. كان MapReduce إطارًا غالبًا ما يستخدم لهذا الغرض.

ما تم عرضه تخزين الأعمدة هو تحليل تيرابايت من البيانات في بضع ثوان. التي تحولت إلى أن تكون اقتراحا أكثر قيمة لعدد أكبر من الشركات. قد يحتاج علماء البيانات إلى كمية صغيرة فقط من البيانات للحصول على فكرة ، لكن أولاً سيحتاجون إلى النظر في عدد البيانات التي يمكن أن تحتوي على بايتات صغيرة لاختيار البيانات المناسبة. تحليلات الأعمدة أمر بالغ الأهمية بالنسبة لهم في إجادتهم في معالجة البيانات اللازمة لفهم ما يجب تحديده.

يحتوي MapReduce على اثنين من مشغلي معالجة البيانات الوظيفية ، يعين البيانات ويقللها ويعاملها كسلسلة. يتبعها Spark فورًا ولديها المزيد من المشغلات الوظيفية ، مثل المرشح والاتحاد ، وتدرك البيانات المركبة في رسم بياني موجه (Direct Acyclic Graph - DAG). مكنت هذه العناصر Spark من تشغيل أحمال عمل أكثر تعقيدًا مثل التعلم الآلي والتحليلات الرسومية. لا يزال بإمكان Spark استخدام YARN كمجدولة للقدرات ، تمامًا مثل المهام في MapReduce. لكن فريق Spark بدأ أيضًا في إنشاء برنامج جدولة خاص به ، ثم أضاف دعمًا لاحقًا لـ Kubernetes.

في مرحلة ما ، حاول مجتمع Spark أن ينأى بنفسه عن نظام Hadoop البيئي. لم يرغبوا في أن يُنظر إليهم كإضافة على برنامج Legacy أو كنوع من "الإضافة" لـ Hadoop. بالنظر إلى مستوى التكامل الذي لدى Spark مع باقي نظام Hadoop البيئي ، ونظرا لمئات المكتبات من مشاريع Hadoop الأخرى التي تستخدمها Spark ، لا أوافق على الرأي القائل بأن Spark منتج مستقل.

قد لا يكون MapReduce هو الخيار الأول لمعظم أعباء العمل هذه الأيام ، ولكن لا تزال البيئة الأساسية عند استخدام hadoop distcp - حزمة برامج يمكنها نقل البيانات بين AWS S3 و HDFS بشكل أسرع من أي عرض آخر I اختبارها.

هل كل أداة Hadoop ناجحة؟


لا ، هناك بعض المشاريع التي طغت بالفعل على العناصر الجديدة.

على سبيل المثال ، أصبحت الآن العديد من أعباء العمل التي كانت مؤتمتة مسبقًا باستخدام Oozie تتم تلقائيًا باستخدام Airflow. قدم روبرت كانتر ، المطور الرئيسي ل Oozie ، جزءًا كبيرًا من قاعدة الكود الموجودة اليوم. لسوء الحظ ، لم يعد روبرت يقوم بدور نشط في المشروع منذ مغادرته كلودرا في عام 2018. وفي الوقت نفسه ، يضم Airflow أكثر من 800 مشارك ، تضاعف عددهم تقريبًا خلال العام الماضي. استخدم كل عميل تقريبًا معه منذ عام 2015 Airflow في قسم واحد على الأقل في مؤسساتهم.

يوفر Hadoop العديد من عناصر البناء والعناصر التي تشكل منصة البيانات. في كثير من الأحيان ، تتنافس العديد من المشاريع لتوفير نفس الوظيفة. في النهاية ، تتلاشى بعض هذه المشروعات بينما يتولى البعض الآخر زمام المبادرة.

في عام 2010 ، كان هناك العديد من المشاريع التي تم وضعها كخيار أول لأعباء العمل المختلفة ، والتي لم يكن فيها سوى عدد قليل من المشاركين ، أو في بعض الحالات ، العديد من عمليات النشر المهمة. حقيقة أن هذه المشاريع تأتي وتذهب استخدمت كدليل على أن النظام البيئي Hadoop بأكمله يموت ، لكنني لا أستخلص هذه الاستنتاجات من هذا.

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

استكمال: ذكرت في البداية أن Oozie كان لديه 17 عضوًا بناءً على ما ورد في GitHub. في الواقع ، كان لدى Oozie كل من الالتزامات المباشرة والتصحيحات المقدمة من 152 مطورًا ، وليس فقط 17 التي تظهر في حساب GitHub. اتصل بي روبرت كانتر بعد النشر الأولي لهذا المنشور مع دليل على هؤلاء المؤلفين الـ 135 الإضافية ، وأشكره على هذا التوضيح.


بحث حركة المرور لا يعمل


إحدى الحجج المؤيدة لـ "موت" Hadoop هي أن حركة بحث Google عن تقنيات Hadoop المختلفة لا تعمل. قام كلودرا وعدد من الاستشاريين الآخرين بعمل جيد لجمع التبرعات في السنوات الأخيرة وبذلوا جهودًا كبيرة للتقدم بمقترحاتهم. وأثار هذا بدوره اهتمامًا كبيرًا ، وفي وقت ما ظهرت موجة من الأشخاص الذين يدرسون هذه التقنيات في المجتمع التقني. هذا المجتمع متنوع ، وفي مرحلة ما ، انتقل معظم الناس ، كما هو الحال دائمًا ، إلى أشياء أخرى.

في تاريخ Hadoop بأكمله ، لم يكن هناك مجموعة متنوعة غنية من الوظائف كما هو معروض اليوم ، ولم تكن مستقرة ومختبرة في المعركة من قبل.

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

لماذا Hadoop خاصة؟


أولاً ، هناك مجموعات HDFS بسعة تزيد عن 600 PB. طبيعة بيانات التعريف HDFS في ذاكرة الوصول العشوائي تعني أنه يمكنك بسهولة معالجة 60k عمليات في الثانية الواحدة.
كسر AWS S3 الكثير مما يمكن العثور عليه على أنظمة ملفات POSIX لتحقيق قابلية التوسع. لا يمكن إجراء تغييرات سريعة على الملفات ، مثل تلك المطلوبة عند تحويل ملفات CSV إلى ملفات Parquet ، في S3 وتتطلب شيئًا مثل HDFS إذا كنت ترغب في توزيع عبء العمل. إذا تم تعديل برنامج التحويل لجعل عبء العمل المذكور أعلاه S3 فقط ، فمن المرجح أن تكون المقايضات مع موقع البيانات مهمة.

ثانياً ، يهدف مشروع Hadoop Ozone إلى إنشاء نظام متوافق مع S3 API يمكنه تخزين تريليونات الكائنات في كتلة دون الحاجة إلى استخدام الخدمة السحابية الخاصة به. يهدف المشروع إلى الحصول على دعم مدمج لـ Spark and Hive ، مما يمنحه تكاملًا جيدًا مع بقية نظام Hadoop البيئي. بمجرد إصداره ، سيكون هذا البرنامج أحد أول العروض المفتوحة المصدر التي يمكنها تخزين العديد من الملفات في مجموعة واحدة.

ثالثًا ، حتى إذا كنت لا تعمل مع عدد كبير من بايتات البيانات ، فإن واجهات برمجة التطبيقات المتاحة لك في نظام Hadoop البيئي توفر واجهة متسقة لمعالجة غيغابايت من البيانات. Spark هو الحل النهائي للتعلم الآلي الموزع. بمجرد أن تشعر بالارتياح تجاه واجهة برمجة التطبيقات ، لا يهم إذا تم قياس عبء العمل الخاص بك في GB أو PB ، ولا يلزم إعادة كتابة التعليمات البرمجية التي تنشئها ، بل تحتاج فقط إلى المزيد من الأجهزة لتشغيلها. أود أولاً أن أعلم شخص ما كيفية كتابة كود SQL و PySpark ، ثم أعلمهم كيفية توزيع أوامر AWK على أجهزة متعددة.

رابعًا ، العديد من ميزات نظام Hadoop البيئي هم قادة الموردين التجاريين. تؤدي كل خطوة تسويقية غير ناجحة لقاعدة بيانات خاصة إلى قيام قسم المبيعات باكتشاف عدد الميزات المفقودة والمفاضلات والاختناقات الموجودة في عرضهم. يؤدي كل عطل في POC إلى قيام فريق المبيعات بمعرفة مدى موثوقية اختبار البرامج الداخلية لديهم.

بهذا يختتم الجزء الأول من الترجمة. استمرار يمكن قراءتها هنا . ونحن الآن في انتظار تعليقاتكم وندعو الجميع إلى ندوة مجانية على الإنترنت حول هذا الموضوع: "مبادئ بناء أنظمة تحليل التدفق" .

Source: https://habr.com/ru/post/ar475568/


All Articles