โปรเจ็กต์ Apache Beam

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

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

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

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

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

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

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

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

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

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

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