本頁將詳細說明 Google Season of Docs 接受的技術文件寫作專案。
專案摘要
- 開放原始碼組織:
- 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 執行程式時,由於說明文件缺少其中一個參數,因此我無法順利進行。不過,現在我對 NEXMark 程式碼集也更熟悉了,因此更容易對執行緒進行基準測試,並新增指標。在這個頁面中,我想簡要說明每個執行程式是否已準備好用於實際工作環境。
在目前的說明文件中,每個執行器說明頁面都會提供對經典/可攜式執行器的支援。我認為將這些資訊集中在一個地方會更好,例如能力矩陣或新加入的說明頁面。此外,目前可攜性支援是以另一個 Google 工作表進行合併,方便我合併至相容性矩陣。詳情請參閱 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 程式碼集的開發人員了。
- 我已完成一個專案,比較不同的光束跑者。
- 我曾撰寫技術部落格,說明大數據處理和分散式系統的概念。
- 我目前正在撰寫碩士論文,希望能改善 Apache Flink 狀態後端的效能,因此我使用 Apache Beam NEXMark 實作來進行基準測試,並協助更新 Apache Beam 說明文件。
- 我有 4 年的軟體開發人員工作經驗,曾撰寫多份技術設計文件、產品文件和 Readme 檔案(我目前無法存取這些檔案)。
- 我會以這種方式編寫說明文件,讓任何沒有相關知識的使用者都能一目瞭然。