בדף הזה מופיעים הפרטים של פרויקט כתיבה טכנית שהתקבל בעונה של Docs ל-Google Docs.
סיכום הפרויקט
- ארגון בקוד פתוח:
- Apache Beam
- כותבים טכניים:
- סרוטי סרי קומאר (Sruthi Sree Kumar)
- שם הפרויקט:
- עדכון של דף ההשוואה בין מנועי ההרצה / מטריצת היכולות
- אורך הפרויקט:
- אורך סטנדרטי (3 חודשים)
תיאור הפרויקט
Apache Beam היא פלטפורמה מאוחדת להגדרת צינורות עיבוד נתונים ברצף (batch) ובזמן אמת (stream). בעזרת Apache Beam אפשר להגדיר מודל שמייצג וממיר מערכי נתונים, ללא קשר לפלטפורמה ספציפית לעיבוד נתונים. אחרי ההגדרה, אפשר להריץ אותו בכל אחת מסביבות זמן הריצה (runners) הנתמכות, כולל Apache Apex, Apache Flink, Apache Spark ו-Google Cloud Dataflow. ב-Apache Beam יש גם ערכות SDK שונות שמאפשרות לכתוב את צינור עיבוד הנתונים בשפות תכנות כמו Java, Python ו-GO.
אני מגיש/ה את הבקשה שלי ל-GSOD בקטע "עדכון של מטריצת היכולות/דף ההשוואה בין מתחרים". מכיוון ש-Apache Beam תומכת במספר רצים ו-SDK, משתמש חדש עלול להתבלבל ולבחור ביניהם. במסמכי התיעוד הנוכחיים של ריצה ב-runners שונים מוצגת סקירה כללית קצרה מאוד של ה-runner. הרעיון שלי הוא להוסיף פרטים נוספים כדי להבין כל אחד מהם בדף התיעוד של תוכנת ההרצה. בנוסף, רציתי לעדכן את התיאור של פרויקט הדוגמה לספירת מילים ולהוסיף הסבר מפורט. לשם כך, אני מתכנן לנסות כל דוגמה למניין מילים באופן מקומי במכונה שלי, כדי לבדוק אם חסרים שלבים ולהוסיף הסבר נוסף על התהליך. דבר נוסף ששמתי לב אליו הוא שהמסמכים של ה-runners לא עוקבים אחרי דפוס מסוים(לחלק יש קטע סקירה כללית, בעוד שאחרים מתחילים בהוראות לשימוש, בדרישות מוקדמות או בכותרת אקראית כלשהי). אעדכן את כולם בהתאם לדפוס פשוט אחד.
אני מתכנן להוסיף דף חדש כדי לתאר כל משחק ריצה ולספק קריינות תיאורית לכל אחד מהם[BEAM-3220]. מהדף הזה, המשתמשים יכולים לעבור לדף התיאור המפורט של כל מפעיל ולמטריצה של היכולות. אני גם מתכנן להוסיף כאן השוואה תיאורית של כל טיסה. נכון לעכשיו, אני משתמש ב-Beam NEXMark כנקודת השוואה של רצי Flink בתזה הראשי שלי. אני מודע לחלוטין לבדיקות הביצועים של NEXMark, ולכן רציתי לכלול כאן את תוצאות בדיקות הביצועים של כל מפעיל גם במצב באצ'ט וגם במצב סטרימינג(BEAM-2944). אם אגלה שחסרים או הוסרו פרמטרים או הגדרות, אעדכן גם את המסמכים של NEXMark. בעבר, כשהשתמשתי ב-Flink runner, נתקעתי בהתחלה כי אחד מהפרמטרים חסר במסמכי העזרה. אבל עכשיו, אחרי שהכרתי טוב יותר את קוד הבסיס של NEXMark, יהיה לי קל יותר לבצע בדיקת ביצועים של ה-runners ולהוסיף את המדדים. באותו דף, אבקש לכלול סיכום קצר של מוכנות הייצור של כל מפעיל.
במסמכי העזרה הנוכחיים, התמיכה ב-runner קלאסי/נייד כלולה בכל דף תיאור של runner. לדעתי, כדאי גם להציג את כולן במקום אחד, במטריצה של היכולות או בדף התיאור החדש שנוסף. בנוסף, נכון לעכשיו, התמיכה בהעברה נשמרת בגיליון אלקטרוני נפרד ב-Google Sheets, ואני רוצה למזג אותו למטריצת התאימות. https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI/edit#gid=0). כחלק מהמשימה, בכוונתי לכלול את כל התיקונים העיקריים/הקלים המוזכרים ב-BEAM-2888.
אני מחשיב את GSoD כהזדמנות להוסיף תוכן בקוד פתוח. אני אמשיך לתרום לפרויקטים בקוד פתוח, במיוחד ל-Beam, וארצה להמשיך להיות חבר פעיל בקהילה. ל-Apache Beam יש קהילה פעילה שמפתחת תכונות חדשות כל הזמן, ולכן תמיד יש מקום לשיפור המסמכים כדי שהם יהיו מעודכנים. בנוסף, אני רוצה לתרום לעבודת הפיתוח. אם יש לי ידע מעמיק ב-Beam, אוכל גם לעזור לקהילת המשתמשים, כי תמיד קיבלתי עזרה מהקהילה כשהתחלתי להשתמש ב-Beam.
לדעתי אני האדם המתאים לפרויקט הזה כי:
- אני חובב מערכות מבוזרות שמנסה להבין את הרכיבים הפנימיים של מערכות עיבוד נתונים.
- יש לי ניסיון בעבודה עם Apache Beam ו-Apache Flink כמשתמש.
- כבר הבנתי את קוד הבסיס של Apache Beam ו-Apache Flink כמפתח/ת.
- ביצעתי פרויקט להשוואה בין כלי שונים להרצת קוד ב-Beam.
- יש לי ניסיון בכתיבת בלוגים טכניים שמסבירים מושגים של עיבוד Big Data ומערכות מבוזרות.
- כרגע אני עובד על עבודת הגמר שלי לתואר שני כדי לשפר את הביצועים של הקצה העורפי של המצב ב-Apache Flink. לשם כך, אני משתמש בהטמעה של Apache Beam NEXMark לבדיקת ביצועים, וגם תרמתי לעדכון של מסמכי התיעוד של Apache Beam.
- יש לי 4 שנות ניסיון בעבודה כמפתחי תוכנה, ולכן כתבתי כמה מסמכי תכנון טכני, מסמכי תיעוד של מוצרים וקובצי Readme(אין לי גישה אליהם כרגע).
- אני כותב את התיעוד כך שכל אחד ללא ידע קודם יבין אותו במבט ראשון.