مشروع Apache Beam

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

ملخّص المشروع

مؤسسة مفتوحة المصدر:
Apache Beam
الكاتب الفني:
Sruthi Sree Kumar
اسم المشروع:
تعديل صفحة مقارنة بيانات الركض / مصفوفة القدرات
مدة المشروع:
المدة العادية (3 أشهر)

وصف المشروع

‫Apache Beam هي منصة موحّدة لتحديد مسارات معالجة الدفعات والبث. يتيح لك Apache Beam تحديد نموذج لتمثيل مجموعات البيانات وتحويلها بغض النظر عن أي منصة معيّنة لمعالجة البيانات. بعد تحديدها، يمكنك تشغيلها على أيّ من أُطر عمل وقت التشغيل المتوافقة (البرامج المشغّلة) التي تشمل Apache Apex وApache Flink وApache Spark وGoogle Cloud Dataflow. يوفّر Apache Beam أيضًا حِزم تطوير برامج مختلفة تتيح لك كتابة مسار الإحالة الناجحة بلغات برمجة مثل 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.

أعتبر "أسبوع مساهمة المطوّرين في Google" فرصة للبدء في المساهمة في المشاريع المفتوحة المصدر. سأواصل المساهمة في مشاريع المصدر المفتوح، لا سيما 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 سنوات كمطوّر برامج، كتبتُ عدة مستندات تصميم فنية ومستندات منتجات وملفات Readme(لا يمكنني الوصول إليها الآن).
  8. أكتب الوثائق بطريقة تتيح لأي شخص ليس لديه معرفة سابقة أن يفهمها من الوهلة الأولى.