برنامج Apache Flume التعليمي: دفق بيانات Twitter



تشرح مدونة Apache Flume التعليمية هذه أساسيات Apache Flume وميزاتها. سيعرض أيضًا تدفق Twitter باستخدام Apache Flume.

في مدونة Apache Flume التعليمية هذه ، سوف نفهم كيف يساعد Flume في تدفق البيانات من مصادر مختلفة. لكن قبل ذلك دعونا نفهم أهمية استيعاب البيانات. يمثل استيعاب البيانات الخطوة الأولية والمهمة من أجل معالجة البيانات وتحليلها ، ثم استنباط قيم الأعمال منها. هناك العديد من المصادر التي يتم جمع البيانات منها في المؤسسة.

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





في مدونة Apache Flume التعليمية هذه ، سنغطي:



سنبدأ هذا البرنامج التعليمي Flume من خلال مناقشة ما هو Apache Flume. ثم المضي قدمًا ، سوف نفهم مزايا استخدام Flume.

برنامج Apache Flume التعليمي: مقدمة إلى Apache Flume

شعار Apache Flume - دروس Apache Flume - EdurekaApache Flume هي أداة لعرض البيانات في HDFS. يقوم بجمع وتجميع ونقل كمية كبيرة من البيانات المتدفقة مثل ملفات السجل والأحداث من مصادر مختلفة مثل حركة مرور الشبكة والوسائط الاجتماعية ورسائل البريد الإلكتروني وما إلى ذلك إلى HDFS.Flume هو موثوق للغاية وموزع.

الفكرة الرئيسية وراء تصميم Flume هي التقاط البيانات المتدفقة من خوادم الويب المختلفة إلى HDFS. لديها بنية بسيطة ومرنة تعتمد على تدفق تدفق البيانات. إنه متسامح مع الأخطاء ويوفر آلية موثوقية لتحمل الأعطال واسترداد الفشل.



بعد فهم ما هو Flume ، دعنا الآن نتقدم في مدونة Flume Tutorial هذه ونفهم فوائد Apache Flume. ثم المضي قدمًا ، سننظر في بنية Flume ونحاول فهم كيفية عملها بشكل أساسي.

كود فيبوناتشي سي ++

برنامج Apache Flume التعليمي: مزايا Apache Flume

هناك العديد من المزايا لـ Apache Flume مما يجعلها خيارًا أفضل على الآخرين. الإيجابيات:

  • Flume قابل للتطوير وموثوق به ويتحمل الخطأ وقابل للتخصيص لمختلف المصادر والمصارف.
  • يمكن لـ Apache Flume تخزين البيانات في مخازن مركزية (أي يتم توفير البيانات من متجر واحد) مثل HBase و HDFS.
  • Flume قابل للتحجيم أفقيًا.
  • إذا تجاوز معدل القراءة معدل الكتابة ، يوفر Flume تدفقًا ثابتًا للبيانات بين عمليات القراءة والكتابة.
  • يوفر Flume تسليم رسائل موثوق. تعتمد المعاملات في Flume على القناة حيث يتم الاحتفاظ بمعاملتين (مرسل واحد ومستقبل واحد) لكل رسالة.
  • باستخدام Flume ، يمكننا إدخال البيانات من خوادم متعددة إلى Hadoop.
  • إنه يعطينا حلاً موثوقًا وموزعًا ويساعدنا في جمع وتجميع ونقل كمية كبيرة من مجموعات البيانات مثل Facebook و Twitter ومواقع التجارة الإلكترونية.
  • يساعدنا على استيعاب بيانات التدفق عبر الإنترنت من مصادر مختلفة مثل حركة مرور الشبكة والوسائط الاجتماعية ورسائل البريد الإلكتروني وملفات السجل وما إلى ذلك في HDFS.
  • يدعم مجموعة كبيرة من أنواع المصادر والوجهات.

الهندسة هي التي تمكّن Apache Flume بهذه الفوائد. الآن ، كما نعلم مزايا Apache Flume ، دعنا نمضي قدمًا ونفهم بنية Apache Flume.

برنامج Apache Flume التعليمي: Flume Architecture

الآن ، دعونا نفهم بنية Flume من الرسم البياني أدناه:

هناك وكيل Flume يستوعب البيانات المتدفقة من مصادر البيانات المختلفة إلى HDFS. من الرسم التخطيطي ، يمكنك بسهولة فهم أن خادم الويب يشير إلى مصدر البيانات. Twitter هو أحد المصادر الشهيرة لتدفق البيانات.

يتكون عامل التدفق من 3 مكونات: المصدر والمغسلة والقناة.

    1. مصدر : يقبل البيانات من التبسيط الوارد ويخزن البيانات في القناة.
    2. قناة : بشكل عام ، تكون سرعة القراءة أسرع من سرعة الكتابة. وبالتالي ، نحن بحاجة إلى بعض المخزن المؤقت لمطابقة فرق سرعة القراءة والكتابة. بشكل أساسي ، يعمل المخزن المؤقت كمخزن وسيط يخزن البيانات التي يتم نقلها مؤقتًا وبالتالي يمنع فقدان البيانات. وبالمثل ، تعمل القناة كمخزن محلي أو تخزين مؤقت بين مصدر البيانات والبيانات الثابتة في HDFS.
    3. مكتب المدير : بعد ذلك ، يجمع مكوننا الأخير ، أي Sink ، البيانات من القناة ويلتزم أو يكتب البيانات في HDFS بشكل دائم.

الآن بما أننا نعرف كيف يعمل Apache Flume ، دعنا نلقي نظرة عملية على المكان الذي سنغرق فيه بيانات Twitter ونخزنها في HDFS.

برنامج Apache Flume التعليمي: دفق بيانات Twitter

في هذا التطبيق العملي ، سنقوم بدفق البيانات من Twitter باستخدام Flume ثم تخزين البيانات في HDFS كما هو موضح في الصورة أدناه.

الخطوة الأولى هي إنشاء تطبيق Twitter. لهذا ، عليك أولاً الانتقال إلى عنوان url هذا: https://apps.twitter.com/ وقم بتسجيل الدخول إلى حساب Twitter الخاص بك. انتقل إلى إنشاء علامة تبويب التطبيق كما هو موضح في الصورة أدناه.

ثم قم بإنشاء تطبيق كما هو موضح في الصورة أدناه.

بعد إنشاء هذا التطبيق ، ستجد Key & Access token. انسخ المفتاح ورمز الوصول. سنقوم بتمرير هذه الرموز المميزة في ملف تكوين Flume للاتصال بهذا التطبيق.

الآن قم بإنشاء ملف flume.conf في الدليل الجذر للملف كما هو موضح في الصورة أدناه. كما ناقشنا ، في Flume’s Architecture ، سنقوم بتهيئة المصدر والمغسلة والقناة. مصدرنا هو Twitter ، من حيث نقوم بدفق البيانات ومصدرنا هو HDFS ، حيث نكتب البيانات.

في تكوين المصدر ، نقوم بتمرير نوع مصدر Twitter كـ org.apache.flume.source.twitter.TwitterSource. بعد ذلك ، نقوم بتمرير جميع الرموز الأربعة التي تلقيناها من Twitter. أخيرًا في تكوين المصدر ، نقوم بتمرير الكلمات الرئيسية التي سنقوم بإحضار التغريدات عليها.

في تكوين Sink ، سنقوم بتكوين خصائص HDFS. سنقوم بتعيين مسار HDFS ، تنسيق الكتابة ، نوع الملف ، حجم الدفعة وما إلى ذلك. أخيرًا سنقوم بتعيين قناة الذاكرة كما هو موضح في الصورة أدناه.

الآن نحن جاهزون للتنفيذ. دعونا نمضي قدمًا وننفذ هذا الأمر:

$ FLUME_HOME / bin / flume-ng agent --conf ./conf/ -f $ FLUME_HOME / flume.conf

بعد تنفيذ هذا الأمر لفترة من الوقت ، وبعد ذلك يمكنك الخروج من المحطة باستخدام CTRL + C. ثم يمكنك المتابعة في دليل Hadoop الخاص بك والتحقق من المسار المذكور ، سواء تم إنشاء الملف أم لا.

كومة وكومة الذاكرة في جافا

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

آمل أن تكون هذه المدونة مفيدة وذات قيمة مضافة لك. إذا كنت مهتمًا بمعرفة المزيد ، فيمكنك متابعة ذلك الذي يخبرك عن البيانات الضخمة وكيف يتعامل Hadoop مع التحديات المتعلقة بالبيانات الضخمة.

الآن بعد أن فهمت Apache Flume ، تحقق من ملف من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تساعد الدورة التدريبية لشهادة Edureka Big Data Hadoop المتعلمين على أن يصبحوا خبراء في مجال HDFS ، و Yarn ، و MapReduce ، و Pig ، و Hive ، و HBase ، و Oozie ، و Flume ، و Sqoop باستخدام حالات الاستخدام في الوقت الفعلي على البيع بالتجزئة ، والوسائط الاجتماعية ، والطيران ، والسياحة ، والمجال المالي.

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