Apache Beam 專案

本頁詳細說明 Google 文件季度接受的一項技術撰寫專案詳細資料。

專案摘要

開放原始碼組織:
Apache Beam
技術撰稿人:
Sruthi Sree Kumar
專案名稱:
更新執行器比較頁面 / 功能矩陣
專案長度:
標準長度 (3 個月)

Project description

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 Runner 之前,由於說明文件中缺少其中一個參數,所以一開始就卡住了。不過,隨著我對 NEXMark 程式碼集更熟悉,我也能更輕鬆地為執行者進行基準測試並新增指標。在同一頁面中,我想簡單介紹每位跑者的生產準備程度。

在目前的說明文件中,每個跑者的說明頁面提供了對傳統版/可攜式執行器的支援。我覺得最好將所有項目集中在功能矩陣或新增的說明頁面中。此外,目前可攜性支援存放在個別的 Google 工作表中,我想合併相容性矩陣。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 實作進行基準測試時提升運作效能,同時也協助更新 Apache Beam 說明文件。
  7. 身為軟體開發人員的 4 年工作經驗,我編寫了多份技術設計文件和產品文件,以及 Readme 檔案(我目前沒有存取權)。
  8. 我撰寫說明文件的方式,是讓不熟悉先前的人都能快速瞭解內容。