ما Apache Hadoop في Azure HDInsight؟

إن تقنية Apache Hadoop هي إطار العمل الأصلي مفتوح المصدر للمعالجة الموزعة لمجموعات البيانات الضخمة وتحليلها على أنظمة المجموعات. يتضمن نظام Hadoop البيئي البرامج والأدوات المساعدة ذات الصلة، بما في ذلك Apache Hive وApache HBase، وSpark، وKafka، وغيرها الكثير.

إن Azure HDInsight هي خدمة تحليلات مُدارة بالكامل ومفتوحة المصدر ومُدارة بالكامل في السحابة للمؤسسات. يسمح لك نوع نظام مجموعة Apache Hadoop في Azure HDInsight باستخدام نظام الملفات الموزعة في Apache Hadoop (HDFS) وإدارة موارد Apache Hadoop YARN ونموذج البرمجة البسيط MapReduce لمعالجة وتحليل بيانات الدُفعات بالتوازي. تتوافق نُظم المجموعة Hadoop في HDInsight مع Azure Blob storage أو Azure Data Lake Storage Gen1 أو Azure Data Lake Storage Gen2.

للاطلاع على مكونات بنية تقنية Hadoop المتوفرة في HDInsight، راجع المكونات والإصدارات المتوفرة مع HDInsight. لقراءة المزيد حول Hadoop في HDInsight، راجع صفحة ميزات Azure لـ HDInsight.

ما هوMapReduce

إن تقنية Apache Hadoop MapReduce هي إطار عمل برمجي لكتابة المهام التي تعالج كميات هائلة من البيانات. يتم تقسيم بيانات الإدخال إلى أجزاء مستقلة. تتم معالجة كل جزء بالتوازي عبر العقد في نظام المجموعة الخاصة بك. تتكون مهمة MapReduce من وظيفتين:

  • مخطط: يستهلك بيانات الإدخال ويحللها (عادةً مع تصفية وعمليات الفرز)، وتنبعث منه مجموعات (أزواج قيمة المفتاح)

  • المخفض: يستهلك المجموعات المنبعثة من قبل المخط وينفذ عملية تلخيص التي تنشئ نتيجة أصغر ومجمعة من بيانات المخطط

يتم توضيح مثال مهمة MapReduce عدد الكلمات الأساسية في الرسم التخطيطي التالي:

HDI.WordCountDiagram.

تكون نتائج هذه المهمة هي عدد مرات حدوث كل كلمة في النص.

  • يأخذ المخطط كل سطر من نص الإدخال كمدخل ويقسمه إلى كلمات. يصدر زوج مفتاح / قيمة في كل مرة تحدث فيها كلمة من الكلمة متبوعة بـ 1. يتم فرز النتائج قبل إرسالها إلى المخفض.
  • يقوم المخفض بجمع هذه الأعداد الفردية لكل كلمة ويصدر زوج مفتاح / قيمة واحد يحتوي على الكلمة متبوعة بمجموع مرات حدوثها.

يمكن تطبيق MapReduce بلغات مختلفة. إن Java هي التطبيق الأكثر شيوعاً، ويتم استخدامه لأغراض العرض التوضيحي في هذا المستند.

تطوير اللغات

يمكن تشغيل اللغات أو أطر العمل التي تستند إلى Java وJava Virtual Machine مباشرةً كـ مهمة MapReduce . إن المثال المستخدم في هذا المستند هو تطبيق Java MapReduce. يجب أن تستخدم اللغات غير التابعة لـ Java، مثل C# أو Python أو الملفات التنفيذية المستقلة، بث Hadoop.

يتواصل بث Hadoop مع المخطط والمخفض عبر STDIN وSTDOUT. يقرأ المخطط والمخفض البيانات سطراً بسطر في وقت واحد من STDIN، ويكتبان النتائج في STDOUT. يجب أن يكون كل سطر تتم قراءته أو إصداره بواسطة المخطط والمخفض بتنسيق زوج مفتاح / قيمة، محدداً بحرف جدولة:

[key]\t[value]

لمزيد من المعلومات، راجع بث Hadoop.

للحصول على أمثلة لاستخدام بث Hadoop مع HDInsight، راجع المستند التالي:

من أين أبدأ

الخطوات التالية