مشروع Apache Beam

تحتوي هذه الصفحة على تفاصيل مشروع كتابة تقنيّة تم قبوله في موسم المستندات من Google.

ملخص المشروع

المؤسسة المفتوحة المصدر:
عارض Apache
الكاتب التقني:
سريثي سري كومار
اسم المشروع:
تعديل على صفحة مقارنة أجهزة الركض / مصفوفة الإمكانات
مدة المشروع:
المدة العادية (3 أشهر)

وصف المشروع

Apache Beam هو نظام أساسي موحّد لتحديد مسارات معالجة الدفعات والتدفق. يتيح لك Apache Beam تحديد نموذج لتمثيل مجموعات البيانات وتحويلها بغضّ النظر عن أي نظام أساسي معيّن لمعالجة البيانات. وبعد تحديده، يمكنك تشغيله على أي من إطارات العمل المتوافقة في وقت التشغيل (برامج التشغيل) والتي تتضمن Apache Apex، وApache Flink، وApache Spark، وGoogle Cloud Dataflow. يأتي Apache Beam أيضًا بحزم SDK مختلفة تتيح لك كتابة مسارك بلغات البرمجة مثل Java وpython وGO.

أنا أُرسل طلبي للحصول على GSOD في "تحديث صفحة مقارنة ألعاب/مصفوفة الإمكانيات". ونظرًا لأن Apache Beam يدعم العديد من برامج التشغيل وحزمة SDK، سيتم إرباك المستخدم الجديد للاختيار من بينها. تقدم الوثائق الحالية للعدائين المختلفين نظرة عامة مختصرة جدًا على العدّاء. فكرتي هي إضافة المزيد من التفاصيل الفهمية لكل عداء في صفحة مستندات الركض الخاصة هذه. أودّ أيضًا تعديل وصف مشروع عدد الكلمات كمثال لإضافة شرح تفصيلي. ولتحقيق ذلك، أعمل على تجربة كل مثال لعدد الكلمات محليًا في أجهزتي ومعرفة ما إذا كانت بعض الخطوات مفقودة وإضافة المزيد من الشرح لهذه العملية. لاحظتُ أمرًا آخر وهو أن وثائق العدّائين لا تتبع أي نمط(يحتوي القليل على قسم نظرة عامة بينما يبدأ البعض الآخر بكيفية الاستخدام أو المتطلبات الأساسية أو بعض العناوين العشوائية). سأقوم بتحديث كل منها لاتباع نمط واحد بسيط.

أخطط لإضافة صفحة جديدة لوصف كل عدّاء وتقديم سرد وصفي لكل منهم[BEAM-3220]. من هذه الصفحة، يمكن للمستخدمين إعادة التوجيه إلى صفحة الوصف التفصيلي لكل عدّاء ومصفوفة الإمكانيات. أخطط أيضًا لإضافة مقارنة وصفية لكل عداء هنا. وأستخدم حاليًا Beam NEXMark لقياس أداء عدائي Flink في رسالة الماجستير الخاصة بي. بما أنني على عِلم تمامًا بقياس أداء NEXMark، أريد تضمين نتائج قياس الأداء لكل عدّاء في وضع الدُفعة ووضع البث هنا(BEAM-2944). يمكنني أيضًا تعديل وثائق NEXMark إذا اكتشفت أنّ أيّ مَعلمات/ إعدادات مفقودة/تمّت إزالتها. في السابق، عندما كنتُ أستخدم Flink runner، كنتُ عالقاً في البداية لأنّ إحدى المعلمات كانت مفقودة في المستندات. ولكن الآن بما أنني أصبحت أكثر دراية بقاعدة رموز NEXMark أيضًا، سيكون من الأسهل عليّ قياس أداء العدائين وإضافة المقاييس. في هذه الصفحة نفسها، أود تضمين ملخص موجز لجاهزية الإنتاج لكل عداء.

في الوثائق الحالية، يتم تضمين دعم العدّاء الكلاسيكي/المحمول في كل صفحة وصف للعدّاء. أعتقد أنّه من الأفضل أيضًا جمع كل الأدوات في مكان واحد، سواء في مصفوفة الإمكانات أو في صفحة الوصف المُضافة حديثًا. في الوقت الحالي، يتم أيضًا الاحتفاظ بدعم قابلية النقل في جدول بيانات Google منفصل أريد دمجه في مصفوفة التوافق. https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI/edit#gid=0). وكجزء من هذه المهمة، أخطط لتضمين جميع التصحيحات الرئيسية/الثانوية الواردة في BEAM-2888.

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

أعتقد أنني الشخص المناسب لهذا المشروع لأن:

  1. أنا من عشاق الأنظمة الموزعة وأحاول فهم الجوانب الداخلية لأنظمة معالجة البيانات.
  2. لديّ خبرة في التعامل مع Apache Beam وApache Flink كمستخدم.
  3. لقد فهمت بالفعل قاعدة رموز Apache Beam وApache Flink كمطوّر برامج.
  4. لقد أنشأت مشروعًا لمقارنة لاعبي عارضين مختلفين.
  5. لدي خبرة في كتابة المدونات الفنية لشرح مفاهيم معالجة البيانات الضخمة والأنظمة الموزعة.
  6. أعمل حاليًا على إعداد رسالة الماجستير لتحسين أداء الواجهة الخلفية لحالة Apache Flink التي أستخدم لها تنفيذ Apache Beam NEXMark لأغراض قياس الأداء وقد ساهمت في تحديث وثائق Apache Beam.
  7. بما أنّ لديّ 4 سنوات من الخبرة في العمل كمطوِّر برمجيات، فقد كتبت العديد من مستندات التصميم الفني ومستندات المنتجات وملفات تمهيدية(لا يمكنني الوصول إليها في الوقت الحالي).
  8. أكتب الوثائق بطريقة يمكن لأي شخص ليس لديه معرفة سابقة فهمها للوهلة الأولى.