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 表格中,我想将其合并到兼容性矩阵中。作为此任务的一部分,我计划包含 BEAM-2888 中提到的所有主要/次要更正。

我认为 GSoD 是做出开源贡献的契机。我将继续为开源项目(尤其是 Beam)做贡献,并希望继续成为活跃的社区成员。由于 Apache Beam 有一个活跃的社区,其功能也在不断开发中,因此我认为始终有改进的余地来改进文档以进行更新。此外,我也愿意为开发工作做贡献。如果我在 Beam 方面有丰富的知识,我还可以为用户社区提供帮助,因为我开始使用 Beam 时总是从社区获得帮助。

我认为自己是该项目的合适人选,原因如下:

  1. 我是一名分布式系统爱好者,希望了解数据处理系统的内部结构。
  2. 我拥有使用 Apache Beam 和 Apache Flink 作为用户的经验。
  3. 作为开发者,我已经了解 Apache Beam 和 Apache Flink 代码库。
  4. 我执行了一个比较不同 Beam 运行程序的项目。
  5. 我拥有撰写技术博客的经验,负责解释大数据处理和分布式系统的概念。
  6. 目前,我正在撰写硕士论文,以提升 Apache Flink 状态后端的性能。我使用 Apache Beam NEXMark 实现进行基准化分析;此外,我还为更新 Apache Beam 文档做出了贡献。
  7. 我拥有 4 年担任软件开发者的工作经验,撰写了多份技术设计文档、产品文档和 Readme 文件(目前我无法访问这些文件)。
  8. 在撰写文档时,任何不知情的人都能一开始就看懂。