العوامل في Apache Pig: الجزء الأول - العوامل العلائقية



يصف هذا المنشور العملاء في Apache Pig. ألق نظرة على هذا المنشور للعملاء في Apache Pig: الجزء 1 - العوامل المرتبطة.

هذا المنشور حول المشغلين في Apache Pig.يمكّنك Apache Pig أيضًا من كتابة تحويلات معقدة للبيانات دون معرفة Java ، مما يجعلها مهمة حقًا لـ .دعونا نلقي نظرة سريعة على ماهية Pig and Pig Latin والأوضاع المختلفة التي يمكن تشغيلها بها ، قبل التوجه إلى العملاء.

ما هو خنزير أباتشي؟

Apache Pig هي لغة إجرائية عالية المستوى للاستعلام عن مجموعات البيانات الكبيرة باستخدام Hadoop و Map Reduce Platform. إنها حزمة Java ، حيث يمكن تنفيذ البرامج النصية من أي تطبيق لغة يعمل على JVM. يستخدم هذا بشكل كبير في العمليات التكرارية.





يعمل Apache Pig على تبسيط استخدام Hadoop من خلال السماح للاستعلامات المشابهة لـ SQL إلى مجموعة بيانات موزعة ويجعل من الممكن إنشاء مهام معقدة لمعالجة كميات كبيرة من البيانات بسرعة وفعالية. أفضل ميزة لـ Pig هي أنه يدعم العديد من الميزات العلائقية مثل Join و Group و Aggregate.

أعلم أن Pig يبدو كثيرًا مثل أداة ETL ولديه العديد من الميزات المشتركة مع أدوات ETL. لكن ميزة أدوات Pig over ETL هي أنه يمكن تشغيلها على العديد من الخوادم في وقت واحد.



ما هو Apache Pig Latin؟

ينشئ Apache Pig تجريدًا أبسط للغة الإجرائية فوق Map Reduce لفضح لغة استعلام أكثر هيكلية (SQL) مثل واجهة لتطبيقات Hadoop تسمى Apache Pig Latin ، لذلك بدلاً من كتابة تطبيق Map Reduce منفصل ، يمكنك كتابة نص واحد في Apache Pig Latin يتم موازنتها تلقائيًا وتوزيعها عبر مجموعة. بكلمات بسيطة ، Pig Latin ، عبارة عن سلسلة من العبارات البسيطة التي تأخذ مدخلات وتنتج مخرجات. تتكون بيانات الإدخال والإخراج من أكياس وخرائط و Tuples و scalar.

أوضاع تنفيذ Apache Pig:

يحتوي Apache Pig على وضعين للتنفيذ:

  • وضع المحلي

في 'الوضع المحلي' ، سيتم اختيار بيانات المصدر من الدليل المحلي في نظام الكمبيوتر الخاص بك. يمكن تحديد وضع MapReduce باستخدام الأمر 'pig –x local'.



المشغلون في Apache Pig - 1

ما هو أكثر من مناسبة في التعلم الآلي
  • وضع MapReduce:

لتشغيل Pig في وضع MapReduce ، تحتاج إلى الوصول إلى مجموعة Hadoop وتثبيت HDFS. يمكن تحديد وضع MapReduce باستخدام الأمر 'خنزير'.

مشغلي خنازير أباتشي:

تعد Apache Pig Operators لغة إجرائية عالية المستوى للاستعلام عن مجموعات البيانات الكبيرة باستخدام Hadoop و Map Reduce Platform. عبارة Pig Latin عبارة عن عامل يأخذ علاقة كمدخل وينتج علاقة أخرى كإخراج. هؤلاء المشغلون هم الأدوات الرئيسية التي يوفرها Pig Latin للعمل على البيانات. إنها تسمح لك بتحويله عن طريق الفرز والتجميع والانضمام والإسقاط والتصفية.

لنقم بإنشاء ملفين لتشغيل الأوامر:

لدينا ملفان باسم 'الأول' و 'الثاني'. يحتوي الملف الأول على ثلاثة حقول: المستخدم وعنوان url والمعرف.

يحتوي الملف الثاني على حقلين: عنوان url والتصنيف. هذان الملفان عبارة عن ملفات CSV.

يمكن تصنيف مشغلي Apache Pig على النحو التالي: العلائقية والتشخيصية.

العوامل العلاقية:

العوامل العلائقية هي الأدوات الرئيسية التي يوفرها Pig Latin للعمل على البيانات. يسمح لك بتحويل البيانات عن طريق الفرز والتجميع والانضمام والإسقاط والتصفية. يغطي هذا القسم العوامل الأساسية العلائقية.

حمل:

يتم استخدام مشغل LOAD لتحميل البيانات من نظام الملفات أو تخزين HDFS في علاقة Pig.

في هذا المثال، يقوم عامل التحميل بتحميل البيانات من الملف 'الأول' لتشكيل العلاقة 'تحميل 1'. أسماء الحقول هي مستخدم ، عنوان url ، معرف.

FOREACH:

يقوم هذا المشغل بإنشاء تحويلات البيانات بناءً على أعمدة البيانات. يتم استخدامه لإضافة أو إزالة الحقول من العلاقة. استخدم عملية FOREACH-GENERATE للعمل مع أعمدة البيانات.

نتيجة FOREACH:

منقي:

يحدد هذا العامل المجموعات من علاقة قائمة على شرط.

في هذا المثال، نقوم بتصفية السجل من 'تحميل 1' عندما يكون الشرط 'معرف' أكبر من 8.

نتيجة التصفية:

انضم:

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

في هذا المثال، انضم إلى العلاقات على أساس العمود 'url' من 'تحميل 1' و 'تحميل 2'.

نتيجة الانضمام:

ترتيب حسب:

يتم استخدام Order By لفرز العلاقة بناءً على حقل واحد أو أكثر. يمكنك إجراء الفرز بترتيب تصاعدي أو تنازلي باستخدام الكلمات الأساسية ASC و DESC.

في المثال أدناه ، نقوم بفرز البيانات في التحميل 2 بترتيب تصاعدي في حقل التصنيف.

ترتيب حسب النتيجة :

خامد:

يزيل Distinct عدة مجموعات مكررة في العلاقة ، فلنأخذ ملف الإدخال على النحو التالي ، والذي يحتوي على عمرو ، حماقة ، 8 و amr، myblog، 10 مرتين في الملف. عندما نطبق متميزًا على البيانات الموجودة في هذا الملف ، تتم إزالة الإدخالات المكررة.

نتيجة مميزة:

متجر:

يتم استخدام المتجر لحفظ النتائج في نظام الملفات.

نحن هنا نوفر تحميل 3 البيانات في ملف اسمه التخزين على HDFS.

نتيجة المتجر:

مجموعة:

يقوم عامل التشغيل GROUP بتجميع المجموعات التي لها نفس مفتاح المجموعة (حقل المفتاح). سيكون حقل المفتاح عبارة عن tuple إذا كان مفتاح المجموعة يحتوي على أكثر من حقل واحد ، وإلا فسيكون نفس نوع مفتاح المجموعة. نتيجة عملية GROUP هي علاقة تتضمن مجموعة واحدة لكل مجموعة.

في هذا المثال، المجموعة ال

ه علاقة 'تحميل 1' عن طريق عنوان URL للعمود.

نتيجة المجموعة:

COGROUP:

COGROUP هو نفس عامل GROUP. لسهولة القراءة ، يستخدم المبرمجون عادةً GROUP عندما يتم تضمين علاقة واحدة فقط و COGROUP عند مشاركة علاقات متعددة.

في هذا المثال ، قم بتجميع الحقل 'loading1' و 'loading2' حسب عنوان url في كلا العلاقات.

نتيجة COGROUP:

تعبر:

يتم استخدام عامل التشغيل CROSS لحساب المنتج التقاطع (المنتج الديكارتي) لعلقتين أو أكثر.

تطبيق منتج متقاطع عند التحميل 1 والتحميل 2.

نتيجة CROSS:

الحد:

يتم استخدام عامل التشغيل LIMIT للحد من عدد مجموعات الإخراج. إذا كان العدد المحدد من مجموعات المخرجات يساوي أو يتجاوز عدد المجموعات في العلاقة ، فسيتضمن الناتج جميع المجموعات في العلاقة.

نتيجة الحد:

الانقسام:

يتم استخدام عامل SPLIT لتقسيم محتويات العلاقة إلى علاقتين أو أكثر بناءً على بعض التعبير. حسب الشروط الواردة في التعبير.

قسّم التحميل 2 إلى علاقتين x و y. تحتوي العلاقة التي تم إنشاؤها عن طريق التحميل 2 على الحقول التي يكون التصنيف فيها أكبر من 8 وتحتوي العلاقة y على الحقول التي يكون التصنيف فيها أقل من أو يساوي 8.

جافا انتظر واخطر المثال

لديك سؤال لنا؟ يرجى ذكرها في قسم التعليقات وسنعاود الاتصال بك.

المنشورات ذات الصلة:

المشغلون في Apache Pig - عوامل التشخيص

خطوات إنشاء UDF في Apache Pig