โปรเจ็กต์ Apache Beam

หน้านี้มีรายละเอียดของโครงการการเขียนเชิงเทคนิคที่ยอมรับสำหรับ Google Season of Docs

ข้อมูลสรุปของโปรเจ็กต์

องค์กรโอเพนซอร์ส:
Apache Beam
ผู้เขียนด้านเทคนิค:
Sruthi Sree Kumar
ชื่อโปรเจ็กต์:
การอัปเดตหน้าเปรียบเทียบนักวิ่ง / เมทริกซ์ความสามารถ
ระยะเวลาของโปรเจ็กต์:
ระยะเวลามาตรฐาน (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 ค้างในตอนแรกเนื่องจากพารามิเตอร์ตัวใดตัวหนึ่งหายไปในเอกสาร แต่ตอนนี้ฉันคุ้นเคยกับฐานของโค้ด NEXMark มากกว่าและน่าจะเปรียบเทียบนักวิ่งและเพิ่มเมตริกต่างๆ ได้ง่ายขึ้นด้วย ในหน้าเดียวกันนี้ ผมจะขอสรุปสั้นๆ เกี่ยวกับความพร้อมในการผลิตของนักวิ่งแต่ละคน

ในเอกสารปัจจุบัน การสนับสนุนสำหรับนักวิ่งแบบคลาสสิก/แบบพกพาจะรวมอยู่ในหน้ารายละเอียดนักวิ่งแต่ละหน้าด้วย เราคิดว่าควรนำข้อมูลทั้งหมดมารวมไว้ในที่เดียว ไม่ว่าจะในเมทริกซ์ความสามารถหรือในหน้ารายละเอียดที่เพิ่มเข้ามาใหม่ก็ตาม นอกจากนี้ ขณะนี้การสนับสนุนความสามารถในการถ่ายโอนได้จะอยู่ใน Google ชีตแยกต่างหาก ซึ่งฉันต้องการรวมเข้ากับเมทริกซ์ความเข้ากันได้ https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI/edit#gid=0) ในงานนี้ เราวางแผนที่จะรวมการแก้ไขที่สำคัญ/การแก้ไขเล็กน้อยทั้งหมดซึ่งได้กล่าวถึงใน BEAM-2888

ฉันคิดว่า GSoD เป็นโอกาสในการก้าวสู่การมีส่วนร่วมแบบโอเพนซอร์ส ฉันจะสนับสนุนโครงการโอเพนซอร์สต่อไป โดยเฉพาะบีม และต้องการสานต่อในฐานะสมาชิกชุมชนที่กระตือรือร้นต่อไป เนื่องจาก Apache Beam มีชุมชนที่แอ็กทีฟพร้อมการพัฒนาฟีเจอร์อย่างต่อเนื่อง ผมจึงคิดว่ามีขอบเขตในการปรับปรุงเอกสารอยู่เสมอเพื่อให้มีการอัปเดต ฉันอยากมีส่วนร่วมในการพัฒนาด้วยเช่นกัน และถ้าฉันมีความรู้ด้านเสียงจากบีม ฉันก็ช่วยชุมชนผู้ใช้ได้ด้วยเพราะได้รับความช่วยเหลือจากชุมชนเสมอเมื่อตอนที่เริ่มใช้บีม

ฉันเชื่อว่าฉันคือบุคคลที่เหมาะสมสำหรับโครงการนี้เนื่องจาก:

  1. ฉันเป็นผู้เชี่ยวชาญด้านระบบแบบกระจายที่พยายามทำความเข้าใจการทำงานภายในของระบบประมวลผลข้อมูล
  2. ฉันมีประสบการณ์ในการทำงานกับ Apache Beam และ Apache Flink ในฐานะผู้ใช้
  3. ฉันเข้าใจฐานโค้ด Apache Beam และ Apache Flink ในฐานะนักพัฒนาซอฟต์แวร์อยู่แล้ว
  4. ผมได้ทำโครงการเปรียบเทียบนักวิ่งบีมแบบต่างๆ
  5. ฉันมีประสบการณ์ในการเขียนบล็อกทางเทคนิคเพื่ออธิบายแนวคิดเกี่ยวกับระบบแบบกระจายและการประมวลผลข้อมูลขนาดใหญ่
  6. ปัจจุบันเรากำลังทำวิทยานิพนธ์หลักเพื่อปรับปรุงประสิทธิภาพของแบ็กเอนด์สถานะ Apache Flink ที่ฉันใช้การติดตั้งใช้งาน Apache Beam NEXMark ในการเปรียบเทียบ และฉันก็ได้มีส่วนร่วมในการอัปเดตเอกสาร Apacheบีมด้วย
  7. เนื่องจากฉันมีประสบการณ์ทำงาน 4 ปีในฐานะนักพัฒนาซอฟต์แวร์ ฉันจึงเขียนเอกสารเกี่ยวกับการออกแบบทางเทคนิคและเอกสารประกอบผลิตภัณฑ์ รวมถึงไฟล์ Readme(ซึ่งฉันยังไม่มีสิทธิ์เข้าถึงในขณะนี้) หลายรายการ
  8. ฉันเขียนเอกสารในลักษณะที่ผู้ที่ไม่มีความรู้มาก่อนจะสามารถเข้าใจได้ทันที