پروژه پرتو آپاچی

این صفحه حاوی جزئیات یک پروژه نگارش فنی است که برای فصل اسناد Google پذیرفته شده است.

خلاصه ی پروژه

سازمان منبع باز:
پرتو آپاچی
نویسنده فنی:
Sruthi Sree Kumar
نام پروژه:
به روز رسانی صفحه مقایسه دونده / ماتریس قابلیت
طول پروژه:
طول استاندارد (3 ماه)

شرح پروژه

پرتو آپاچی یک پلت فرم واحد برای تعریف خطوط لوله پردازش دسته ای و جریانی است. Apache Beam به شما امکان می دهد مدلی را برای نمایش و تبدیل مجموعه داده ها بدون در نظر گرفتن هر پلت فرم پردازش داده خاصی تعریف کنید. پس از تعریف، می توانید آن را بر روی هر یک از فریم ورک های زمان اجرا (رانرها) پشتیبانی شده اجرا کنید که شامل Apache Apex، Apache Flink، Apache Spark و Google Cloud Dataflow است. Apache Beam همچنین دارای SDK های مختلفی است که به شما امکان می دهد خط لوله خود را به زبان های برنامه نویسی مانند جاوا، پایتون و GO بنویسید.

من درخواست خود را برای GSOD در "به روز رسانی صفحه مقایسه دونده/ماتریس قابلیت" ارسال می کنم. از آنجایی که Apache Beam از چندین runner و SDK پشتیبانی می کند، کاربر جدید برای انتخاب بین آنها سردرگم می شود. مستندات فعلی دوندگان مختلف یک نمای کلی از دونده ارائه می دهد. ایده من اضافه کردن جزئیات بیشتر در مورد هر دونده در صفحه مستندات دونده خاص است. همچنین، من می خواهم توضیحات پروژه نمونه شمارش کلمات را برای اضافه کردن توضیح دقیق به روز کنم. برای این، برنامه من این است که هر مثال شمارش کلمه را به صورت محلی در دستگاه خود امتحان کنم و بفهمم که آیا برخی از مراحل از دست رفته است یا خیر و توضیح بیشتری در مورد فرآیند اضافه کنم. نکته دیگری که من متوجه شده ام این است که مستندات برای دوندگان از هیچ الگوی پیروی نمی کند (تعداد کمی دارای بخش نمای کلی هستند در حالی که دیگران با نحوه استفاده یا پیش نیاز یا برخی عنوان تصادفی شروع می کنند). من همه آنها را به روز می کنم تا از یک الگوی ساده پیروی کنند.

من قصد دارم یک صفحه جدید برای توصیف هر دونده اضافه کنم و یک روایت توصیفی برای هر یک از آنها ارائه کنم [BEAM-3220]. از این صفحه، کاربران می توانند به صفحه توضیحات دقیق هر دونده و ماتریس قابلیت هدایت شوند. همچنین قصد دارم مقایسه توصیفی هر دونده را در اینجا اضافه کنم. در حال حاضر، من از Beam NEXMark برای محک زدن دونده های Flink برای پایان نامه کارشناسی ارشد خود استفاده می کنم. همانطور که من کاملاً از بنچمارک NEXMark آگاه هستم، می خواهم نتایج محک زدن هر دونده را در حالت دسته ای و جریانی در اینجا قرار دهم (BEAM-2944). همچنین اگر متوجه شوم پارامترها/پیکربندی گم شده/حذف شده است، اسناد NEXMark را نیز به روز می کنم. قبل از اینکه از Flink runner استفاده می کردم در ابتدا گیر کردم زیرا یکی از پارامترها در مستندات گم شده بود. اما اکنون که با پایه کد NEXMark بیشتر آشنا هستم، محک زدن دونده ها و اضافه کردن معیارها برای من آسان تر است. در همین صفحه، می‌خواهم خلاصه‌ای از آمادگی تولید هر دونده را درج کنم.

در اسناد فعلی، پشتیبانی از دونده کلاسیک/قابل حمل در هر صفحه توضیحات دونده گنجانده شده است. من فکر می کنم بهتر است همه آنها را در یک مکان بیاوریم، چه در ماتریس قابلیت یا در صفحه توضیحات جدید اضافه شده. همچنین، در حال حاضر، پشتیبانی قابل حمل در یک برگه گوگل جداگانه نگهداری می شود که می خواهم آن را با ماتریس سازگاری ادغام کنم. 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 برای بنچمارک استفاده می کنم و در به روز رسانی اسناد پرتو آپاچی مشارکت داشته ام.
  7. از آنجایی که من 4 سال سابقه کار به عنوان توسعه دهنده نرم افزار دارم، چندین سند طراحی فنی و مستندات محصول و فایل های Readme (که در حال حاضر به آنها دسترسی ندارم) نوشته ام.
  8. من اسناد را به گونه ای می نویسم که هر کسی بدون دانش قبلی آن را در نگاه اول درک کند.