Project Icon

beam

统一批处理和流处理的数据并行处理模型

Apache Beam是一个统一的数据处理模型,用于定义批处理和流处理的并行数据处理管道。它提供多语言SDK构建管道,并可在Apache Flink、Spark等分布式处理后端上执行。Beam支持Java、Python和Go等语言,为各类开发者提供灵活的开发环境。该项目采用统一模型处理批处理和流处理数据,支持多种编程语言,并可在多个分布式处理平台上运行。它为不同类型的开发者提供了灵活的工具,简化了大规模数据处理的复杂性。

Apache Beam

Apache Beam是一个统一的模型,用于定义批处理和流式数据并行处理管道,以及一组特定语言的SDK用于构建管道和用于在分布式处理后端执行这些管道的Runner,包括Apache FlinkApache SparkGoogle Cloud DataflowHazelcast Jet

状态

Maven版本 PyPI版本 Go版本 Python覆盖率 构建Python源代码分发和wheels Python测试 Java测试

概述

Beam提供了一种通用方法来表达高度并行数据处理管道,并支持三类用户,每类用户都有相对不同的背景和需求。

  1. 最终用户:使用现有SDK编写管道,在现有runner上运行。这些用户希望专注于编写应用逻辑,其他一切都能正常工作。
  2. SDK开发者:针对特定用户群体(Java、Python、Scala、Go、R、图形界面等)开发Beam SDK。这些用户是语言专家,希望能够避开各种runner及其实现的所有细节。
  3. Runner开发者:拥有分布式处理的执行环境,希望支持针对Beam模型编写的程序。希望能够避开多个SDK的细节。

Beam模型

Beam背后的模型源自几个Google内部数据处理项目,包括MapReduceFlumeJavaMillwheel。这个模型最初被称为"数据流模型"。 要了解更多关于Beam模型的信息(尽管仍在原始名称Dataflow下),请参阅O'Reilly's Radar网站上的《批处理之外的世界:流处理101》和《流处理102》文章,以及VLDB 2015论文

Beam编程模型的关键概念包括:

  • PCollection:表示数据集合,可以是有界或无界大小。
  • PTransform:表示将输入PCollection转换为输出PCollection的计算。
  • Pipeline:管理由PTransform和PCollection组成的有向无环图,可供执行。
  • PipelineRunner:指定管道应在何处以及如何执行。

SDK

Beam支持多种语言特定的SDK,用于针对Beam模型编写管道。

目前,该仓库包含Java、Python和Go的SDK。

对新的SDK或DSL有想法?请查看sdk-ideas标签

运行器

Beam通过PipelineRunners支持在多个分布式处理后端上执行程序。目前,可用的PipelineRunners包括:

  • DirectRunner在本地机器上运行管道。
  • DataflowRunner将管道提交到Google Cloud Dataflow
  • FlinkRunner在Apache Flink集群上运行管道。该代码已从dataArtisans/flink-dataflow捐赠,现在是Beam的一部分。
  • SparkRunner在Apache Spark集群上运行管道。
  • JetRunner在Hazelcast Jet集群上运行管道。该代码已从hazelcast/hazelcast-jet捐赠,现在是Beam的一部分。
  • Twister2Runner在Twister2集群上运行管道。该代码已从DSC-SPIDAL/twister2捐赠,现在是Beam的一部分。

对新的运行器有想法?请查看runner-ideas标签

构建和测试Beam本身的说明在贡献指南中。

📚 了解更多

以下是Beam社区积极维护的一些资源,可帮助您入门:

资源详情
Apache Beam网站我们讨论项目及其细节的网站。
Java快速入门Java SDK入门指南。
Python快速入门Python SDK入门指南。
Go快速入门Go SDK入门指南。
Beam之旅全面、互动的学习体验,深入介绍Beam概念。
Beam Quest由Google Cloud授予的认证,证明在Beam方面的熟练程度。
社区指标Beam的Git社区指标。

联系我们

要参与Apache Beam:

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号