โปรเจ็กต์ Apache Beam

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

สรุปโปรเจ็กต์

องค์กรโอเพนซอร์ส
Apache Beam
นักเขียนเชิงเทคนิค
Sruthi Sree Kumar
ชื่อโปรเจ็กต์:
การอัปเดตหน้าเปรียบเทียบตัววิ่ง / เมทริกซ์ความสามารถ
ความยาวของโปรเจ็กต์:
ระยะเวลามาตรฐาน (3 เดือน)

คำอธิบายโปรเจ็กต์

Apache Beam เป็นแพลตฟอร์มแบบรวมสำหรับระบุไปป์ไลน์การประมวลผลแบบกลุ่มและสตรีม Apache Beam ช่วยให้คุณกําหนดโมเดลเพื่อแสดงและเปลี่ยนรูปแบบชุดข้อมูลได้โดยไม่จําเป็นต้องคำนึงถึงแพลตฟอร์มการประมวลผลข้อมูลใดๆ โดยเฉพาะ เมื่อกําหนดแล้ว คุณจะเรียกใช้บนเฟรมเวิร์กรันไทม์ (Runner) ที่รองรับได้ ซึ่งรวมถึง Apache Apex, Apache Flink, Apache Spark และ Google Cloud Dataflow นอกจากนี้ Apache Beam ยังมี SDK ต่างๆ ที่ให้คุณเขียนไปป์ไลน์ในภาษาโปรแกรม เช่น Java, Python และ GO

ฉันส่งใบสมัคร GSOD เกี่ยวกับ "การอัปเดตหน้าการเปรียบเทียบรันเนอร์/ตารางเปรียบเทียบความสามารถ" เนื่องจาก Apache Beam รองรับรันเนอร์และ SDK หลายรายการ ผู้ใช้ใหม่จึงอาจสับสนในการเลือกระหว่างรันเนอร์และ SDK เอกสารประกอบปัจจุบันเกี่ยวกับเครื่องมือรันไทม์ต่างๆ จะให้ภาพรวมคร่าวๆ ของเครื่องมือรันไทม์ แนวคิดของเราคือเพิ่มรายละเอียดที่เข้าใจง่ายขึ้นเกี่ยวกับรันเนอร์แต่ละรายการในหน้าเอกสารประกอบของรันเนอร์นั้นๆ นอกจากนี้ เราต้องการอัปเดตคำอธิบายของโปรเจ็กต์ตัวอย่างจำนวนคำเพื่อเพิ่มคำอธิบายโดยละเอียด สำหรับการดำเนินการนี้ แผนของฉันคือลองยกตัวอย่างจำนวนคำทุกคำภายในเครื่องและดูว่าบางขั้นตอนหายไปไหม แล้วเพิ่มคำอธิบายเกี่ยวกับกระบวนการนี้ อีกอย่างหนึ่งที่เราสังเกตเห็นคือเอกสารประกอบสำหรับรันเนอร์ไม่ได้เป็นไปตามรูปแบบใดๆ(มีเพียงไม่กี่รายการที่มีส่วนภาพรวม ส่วนอื่นๆ เริ่มต้นด้วยวิธีใช้หรือข้อกําหนดเบื้องต้น หรือชื่อแบบสุ่ม) จะอัปเดตทั้งหมดให้อยู่ในรูปแบบง่ายๆ รูปแบบเดียว

ฉันวางแผนที่จะเพิ่มหน้าใหม่เพื่ออธิบายนักวิ่งแต่ละคน และเขียนคำบรรยายให้นักวิ่งแต่ละคน [BEAM-3220] จากหน้านี้ ผู้ใช้จะเปลี่ยนเส้นทางไปยังหน้ารายละเอียดของเครื่องมือค้นหาแต่ละรายการและตารางความสามารถได้ นอกจากนี้ เรายังมีแผนที่จะเพิ่มการเปรียบเทียบที่อธิบายรายละเอียดของเครื่องมือค้นหาแต่ละรายการที่นี่ด้วย ขณะนี้ฉันใช้ Beam NEXMark ในการเปรียบเทียบประสิทธิภาพของ Flink Runner สำหรับวิทยานิพนธ์ระดับปริญญาโท เนื่องจากเราทราบดีว่าการเปรียบเทียบประสิทธิภาพของ NEXMark เป็นอย่างไร เราจึงต้องการรวมผลการเปรียบเทียบประสิทธิภาพของ Runner แต่ละรายการทั้งในโหมดแบตช์และสตรีมมิงไว้ที่นี่(BEAM-2944) เราจะอัปเดตเอกสารประกอบ NEXMark ด้วยหากพบว่าพารามิเตอร์/ การกําหนดค่าขาดหายไป/ถูกนําออก ก่อนที่ผมจะใช้ Flink Runner แล้ว ตอนแรกฉันค้างเพราะพารามิเตอร์ตัวหนึ่งหายไปในเอกสาร แต่ตอนนี้เราคุ้นเคยกับฐานโค้ด NEXMark มากขึ้นแล้ว จึงทำ Benchmark กับ Runner และเพิ่มเมตริกได้ง่ายขึ้น ในหน้าเดียวกันนี้ เราต้องการใส่ข้อมูลสรุปสั้นๆ เกี่ยวกับความพร้อมของเวอร์ชันที่ใช้งานจริงของ Runner แต่ละราย

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

ฉันถือว่า GSoD เป็นโอกาสในการเข้าสู่การสนับสนุนแบบโอเพนซอร์ส ฉันจะยังคงมีส่วนร่วมในโปรเจ็กต์โอเพนซอร์ส โดยเฉพาะ Beam และต้องการเป็นสมาชิกชุมชนที่มีส่วนร่วมต่อไป เนื่องจาก Apache 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. เราเขียนเอกสารประกอบในลักษณะที่ทุกคนที่ไม่มีความรู้มาก่อนจะเข้าใจได้ตั้งแต่แรกเห็น