برنامج Apache Pig التعليمي: دليل نهائي للمبتدئين [2022]

نشرت: 2021-01-08

البيانات الضخمة هي مجال يتطور باستمرار. لها تطبيقات في مختلف الصناعات ، بما في ذلك التمويل والتكنولوجيا والرعاية الصحية ، إلخ.

لتصبح محترفًا في مجال البيانات الضخمة ، ستحتاج إلى تعلم التقنيات المختلفة المستخدمة في تحليل البيانات الضخمة. و Hadoop هو جزء مهم من تقنيات البيانات الضخمة.

Apache Pig هو أحد المكونات الأساسية العديدة لـ Hadoop. إذا كنت ترغب في تحليل كميات هائلة من البيانات بسرعة ، فستحتاج إلى استخدام Pig. في هذه المقالة ، سنركز على Apache Pig ، أداة التحليل التي لا تساعدك فقط على الاهتمام بقطع كبيرة من البيانات ولكنها توفر وقتك أيضًا أثناء القيام بذلك.

جدول المحتويات

دروس اباتشي خنزير: ما هذا؟

يعد التعرف على Apache Pig (أو Hadoop Pig) أمرًا بالغ الأهمية إذا كنت تريد تعلم Hadoop. إنها منصة يمكنك استخدامها لتحليل مجموعات كبيرة من البيانات. يمكنك القيام بذلك عن طريق تمثيل مجموعات البيانات كتدفقات البيانات.

نعلم جميعًا مدى شهرة Hadoop في عالم علوم البيانات. وإذا كنت مهتمًا بإتقان هذا الإطار مفتوح المصدر ، فستحتاج إلى التعرف على Apache Pig.

يعتمد على Map-Reduce ، وهو عنصر مهم في Hadoop. نظرًا لأنه يمكّنك من تحليل مجموعات البيانات الكبيرة ، يمكنك العمل بكفاءة أعلى أثناء استخدام هذه الأداة. يمكنك استخدام Apache Pig لمشاريع معالجة البيانات في Hadoop أيضًا.

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

سيتم تحويل البرامج النصية التي تكتبها في Pig Latin تلقائيًا في عمليات Map-Reduce. يساعدك محرك Apache Pig (يسمى Pig Engine) على تحويل البرامج النصية المكتوبة إلى تلك العمليات. سيساعدك تعلم هذه الأداة بشكل كبير في أداء تحليلات البيانات الضخمة.

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

احصل على شهادات في هندسة البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

تاريخ خنزير أباتشي

في عام 2006 في Yahoo ، تم إنشاء Apache Pig لأداء عمليات MapReduce على العديد من مجموعات البيانات. من خلال Apache Incubator ، أصبح Apache Pig مفتوح المصدر في عام 2007. بعد عام من ذلك ، دخل إصداره الأول إلى السوق.

أخيرًا ، في عام 2010 ، أصبح Apache Pig أحد مشاريع Apache عالية المستوى. منذ ذلك الحين ، أصبح أداة أساسية تمامًا لمحترفي البيانات الضخمة. الآن بعد أن تعرفت على أصل Pig ، يمكننا البدء في مناقشة سبب شعبيتها وما هي مزاياها.

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

الخنزير غني بالميزات. مجموعة متنوعة من الوظائف هي ما يجعلها أداة قيمة ولا يمكن الاستغناء عنها للخبراء.

فيما يلي ميزاته:

  • لدى Pig العديد من العوامل التي يمكنك استخدامها لتبسيط عمليات البرمجة الخاصة بك.
  • يتيح لك إنشاء وظائفك وفقًا لمتطلباتك المحددة. تسمى هذه الوظائف UDFs (وظائف محددة من قبل المستخدم) ، ويمكنك كتابتها بأي لغة برمجة ، بما في ذلك Python و JRuby و Jave وما إلى ذلك.
  • Pig قادر على التعامل مع جميع أنواع البيانات. هذا يعني أنه يمكن أن يشعر بأنه منظم ، وشبه منظم ، وكذلك قيم البيانات غير المهيكلة.
  • يقوم تلقائيًا بتحسين عملياتك قبل تنفيذها.
  • فهو يتيح لك العمل على المشروع بأكمله قيد البحث دون القلق بشأن وظائف الخرائط والتقليل المنفصلة.

لماذا يحظى خنزير أباتشي بشعبية كبيرة؟

يأتي Apache Pig مزودًا بالعديد من الميزات والمزايا التي تجعله ضروريًا لأي متخصص في البيانات الضخمة.

قراءة: الفرق بين البيانات الضخمة و Hadoop

علاوة على ذلك ، نظرًا لأنه يلغي الحاجة إلى تعلم Java لتحليلات البيانات ، سرعان ما يصبح الخيار المفضل لهؤلاء المبرمجين الذين ليسوا بارعين في استخدام تلك اللغة.

فيما يلي بعض الأسباب التي تجعل Apache Pig مهمًا وشعبيًا للغاية:

  • يمكنك استخدام MapReduce وأداء مهامه دون الحاجة إلى تعلم Java.
  • يمكنك إجراء عمليات أولية بأسطر أقل من التعليمات البرمجية باستخدام Pig. عندما تستخدم Pig لإجراء عمليات MapReduce ، فإنك تكتب سطورًا من التعليمات البرمجية أقل بمقدار 20 مرة مما كنت ستكتبه إذا لم تكن تستخدم Pig.
  • يوفر لك Pig الكثير من الوقت أثناء العمل في مشاريع MapReduce.
  • لديها مجموعة واسعة من العمليات مثل الانضمام ، والاستخراج ، والفلاتر ، وما إلى ذلك.
  • تحتوي Pig على الكثير من أنواع البيانات في نموذجها والتي لا توجد في Mapreduce. وتشمل هذه الحقائب ، والصفوف ، والبعض الآخر.

الآن بعد أن عرفت سبب رواجها ، يجب أن نركز الآن على بعض الأسباب الشائعة للارتباك فيما يتعلق بالخنزير والأدوات واللغات الأخرى.

الفرق بين MapReduce و Apache Pig

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

فيما يلي الاختلافات الرئيسية بين Pig و MapReduce:

  • Apache Pig هي لغة تدفق بيانات عالية المستوى. من ناحية أخرى ، يعد MapReduce ببساطة نموذجًا منخفض المستوى لمعالجة البيانات.
  • يمكنك تنفيذ مهمة الانضمام في Pig بسلاسة وكفاءة مقارنة بـ MapReduce. لا يحتوي الأخير على العديد من الخيارات لتبسيط عملية الانضمام لمجموعات البيانات المتعددة.
  • لا تحتاج إلى تجميع أي شيء عند استخدام Apache Pig. تتطلب جميع عمليات MapReduce عملية تجميع كبيرة.
  • يجب أن يكون لديك بعض المعرفة (على الأقل على مستوى المبتدئين) بـ SQL إذا كنت تريد العمل مع Pig. من ناحية أخرى ، يجب أن تكون معتادًا على Java لاستخدام MapReduce.
  • يتيح Pig وظائف استعلامات متعددة ، مما يجعل عمليتك أكثر كفاءة عندما تكتب سطورًا قليلة جدًا من التعليمات البرمجية. لا يمتلك MapReduce هذه القدرة. ستحتاج إلى كتابة 20 مرة أكثر من سطور التعليمات البرمجية لإجراء نفس العملية في MapReduce مقارنةً بـ Pig.

الفرق بين SQL و Apache Pig

هناك ارتباك كبير بين محترفي البيانات الضخمة المبتدئين هو SQL و Apache Pig. إنهم لا يعرفون الفروق المهمة بين الاثنين.

فيما يلي الاختلافات بين Apache Pig و SQL:

  • نموذج بيانات Apache Pig هو نموذج علاقي متداخل بينما يكون نموذج بيانات SQL علاقيًا مسطحًا. يحتوي النموذج العلائقي المتداخل على مجالات ذرية وعلائقية. يحتوي النموذج العلائقي المسطح على جدول واحد فقط لتخزين القيم.
  • المخطط اختياري في Apache Pig ، لكنه إلزامي في SQL. هذا يعني أنه يمكنك تخزين بياناتك في Apache Pig دون استخدام المخطط بينما لا يمكنك القيام بذلك باستخدام SQL.
  • لا يحتوي Pig على العديد من الميزات والخيارات لتحسين الاستعلام. SQL لديها الكثير من الخيارات في هذا الصدد.
  • يستخدم Apache Pig Pig Latin ، وهي لغة إجرائية. من ناحية أخرى ، فإن SQL هي لغة تعريفية. لذلك ، بينما ينفذ Pig Latin المهام المطلوبة ، تركز SQL على وصف ما يجب أن يقوم به النظام.
  • يمكنك أداء وظائف ETL ، وهي استخراج وتحويل وتحميل في Apache Pig. لا يمكنك فعل ذلك مع SQL.
  • يتيح لك Pig تخزين البيانات في أي مكان في خط الأنابيب ، لكن SQL لا تملك هذه الإمكانية.

الفرق بين الخلية والخنازير

"Hive vs Pig" هو موضوع شائع للنقاش بين المحترفين. بمجرد أن تعرف الفرق بين الاثنين ، لن تكون جزءًا منهم. كلاهما جزء من نظام Hadoop البيئي. كلاهما ضروري للعمل في مشاريع البيانات الضخمة ، كما أنهما يسهلان وظائف مكونات Hadoop الأخرى أيضًا.

لتجنب الخلط بين الاثنين ، يجب قراءة الاختلافات التالية:

  • يستخدم Apache Pig Pig Latin ، وهي لغة برمجة إجرائية. يستخدم Hive لغة تعريفية تسمى HiveQL ، والتي تشبه لغة SQL.
  • يمكن أن يعمل الخنزير مع البيانات شبه المنظمة والمنظمة وغير المنظمة. تعمل الخلية مع البيانات المنظمة في معظم الحالات.
  • يمكنك استخدام Pig للبرمجة بينما تستخدم Hive لإنشاء التقارير.
  • يدعم Pig تنسيق ملف Avro ، والذي لا يدعمه Hive.
  • يعمل Pig على جانب العميل من المجموعة بينما يعمل Hive على جانب الخادم نفسه.
  • يجد Pig تطبيقات بشكل رئيسي بين المبرمجين والباحثين. من ناحية أخرى ، يجد Hive تطبيقات بين محللي البيانات.

ماذا يفعل خنزير اباتشي

يستخدم Apache Pig Pig Latin كلغة لتحليل البيانات. إنها لغة عالية المستوى تستخدمها لمعالجة البيانات ، لذا فهي تتطلب القليل من الجهد الإضافي للتعلم.

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

بعد ذلك ، ستحتاج إلى استخدام أحد أنظمة التنفيذ المختلفة لتنفيذ المهمة. تتضمن خيارات التنفيذ المختلفة في Pig Embedded و Grunt Shell و UDFs.

بعد ذلك ، يقوم إطار عمل Pig بتحويل البرامج النصية وفقًا لمتطلبات توليد الإخراج.

يقوم Apache Pig بتحويل Pig Latin Scripts إلى مهام MapReduce. بهذه الطريقة ، تصبح وظيفتك كمبرمج أسهل كثيرًا.

اباتشي خنزير العمارة

الآن بعد أن عرفت ما يفعله Apache Pig وكيف يفعل ذلك ، دعنا نركز على مكوناته المختلفة. كما ذكرنا سابقًا ، تخضع البرامج النصية لـ Pig لتحولات مختلفة لتوليد الإخراج المطلوب. للقيام بذلك ، يحتوي Apache Pig على مكونات مختلفة تؤدي هذه العمليات على مراحل.

سنناقش كل مرحلة على حدة.

المرحلة الأولى: محلل

المحلل اللغوي يتعامل مع المرحلة المبكرة من تحليل البيانات. يقوم بإجراء مجموعة متنوعة من الفحوصات بما في ذلك فحوصات النوع وفحوصات بناء الجملة على البرنامج النصي. يولد المحلل اللغوي الناتج يسمى DAG (الرسم البياني غير الدوري الموجه).

تُظهر DAG العوامل المنطقية وبيانات Pig Latin. يُظهر العوامل المنطقية كعقد وتدفق البيانات كحواف.

المرحلة الثانية: المحسن والمجمع

يرسل Parser DAG إلى Optimizer. يقوم المُحسِّن بإجراء تحسين منطقي لـ DAG ، والذي يتضمن أنشطة مثل التحويل والتقسيم وما إلى ذلك.

يؤدي وظائف متعددة لتقليل كمية البيانات في خط الأنابيب عندما يعالج البيانات التي تم إنشاؤها. يقوم بالتحسين التلقائي للبيانات ويستخدم وظائف مثل PushUpFilter و MapKeyPruner و Group By ، إلخ.

لديك خيار إيقاف تشغيل ميزة التحسين التلقائي كمستخدم. بعد المحسن ، يأتي المترجم ، الذي يجمع الكود الناتج في مهام MapReduce. يعالج المترجم تحويل Pig Script إلى مهام MapReduce.

المرحلة الثالثة: محرك التنفيذ

أخيرًا يأتي محرك التنفيذ حيث يتم نقل وظائف MapReduce إلى Hadoop. بمجرد نقلهم إلى هناك ، يعطي Hadoop النتائج المطلوبة.

يمكنك مشاهدة نتيجة البيانات باستخدام عبارة "DUMP". وبالمثل ، إذا كنت تريد تخزين الإخراج في HDFS (مكون أساسي في Hadoop) ، فسيتعين عليك استخدام عبارة "STORE".

تطبيقات Apache Pig

الاستخدامات الأساسية للخنزير هي كما يلي:

  • لمعالجة مجموعات البيانات الضخمة مثل تدفق البيانات عبر الإنترنت ومدونات الويب.
  • لمعالجة بيانات منصات البحث. يمكن لـ Pig التعامل مع جميع أنواع البيانات ، مما يجعلها مفيدة جدًا في تحليل منصات البحث.
  • لتحليل البيانات الحساسة للوقت. يتضمن ذلك البيانات التي يتم تحديثها باستمرار ، مثل التغريدات على Twitter.

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

دروس الخنازير: إلى أين نذهب من هنا؟

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

هناك العديد من المناطق في Hadoop و Big Data ، بصرف النظر عن Pig.

إذا كنت مهتمًا بالتعرف على خنزير أباتشي ، وعلوم البيانات ، فراجع IIIT-B & upGrad's دبلوم PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، وجهاً لوجه مع موجهين في الصناعة ، وأكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.

تقدم upGrad درجة ماجستير فريدة في العلوم في دورة علوم الكمبيوتر لصقل مهاراتك وتعزيز النمو في رحلتك المهنية في تطوير البرمجيات.

خطط لوظيفتك في تطوير البرمجيات الآن.

تقدم الآن للحصول على درجة الماجستير في هندسة البرمجيات