Apache Beam初探

Apache Beam

Apache Beam provides an advanced unified programming model, allowing you to implement batch and streaming data processing jobs that can run on any execution engine.

Apache Beam is:

  • UNIFIED - Use a single programming model for both batch and streaming use cases.
  • PORTABLE - Execute pipelines on multiple execution environments, including Apache Apex, Apache Flink, Apache Spark, and Google Cloud Dataflow.
  • EXTENSIBLE - Write and share new SDKs, IO connectors, and transformation libraries.

原文地址:https://beam.apache.org/

从定义上看,Apache Beam是一个增强型的统一编程模型,这个模型可以支持实现batch和streaming 数据处理工作,并且可以运行在任何执行引擎上。所以总结Apache Beam的特点为:

1、可以针对batch and streaming use cases使用一个编程模型;

2、可以在多个执行环境上执行pipeline,包括了当前比较流行的Apache Apex,Apache Flink,Apache Spark,和Google Cloud Dataflow。

3、可扩展,可以编写和共享新的SDKs,IO connectors,和transformation 库。

分析看来,Apache Beam是提供了一个统一的编程模型,或者说是为客户提供了一个统一的接口,让用户可以不再关心batch和steaming data的不同处理,让用户可以不再关心具体的执行环境或者执行引擎。

这个图更能说明Apache Beam做了什么:

如果Apache Beam真能发展壮大,那么针对大数据处理,无疑是提供了一个很好的解决方案,让用户省去了很多麻烦事。目前sdk仅仅能支持Java版本。

时间: 2024-12-24 21:08:24

Apache Beam初探的相关文章

Apache Beam研究报告

概述 本文不是一篇Beam的入门文档,不会介绍Beam的基本概念:而会主要探讨Beam的表达力,Beam的性能,以及Beam目前在业内的使用情况.面向的读者是那些想使用Beam作为自己公司操作大数据的统一API,但是还有所顾虑的人们. 表达力 离线 Beam里面有两个核心原语: ParDo: 来处理通用的基于单条数据的计算: 每条需要处理的数据会被喂给用户提供的指定的一个函数(Beam里面的@ProcessElement), 然后输出0个或者多个输出. 我们平常熟悉的Filter, Append

Apache Beam WordCount编程实战及源码解读

概述:Apache Beam WordCount编程实战及源码解读,并通过intellij IDEA和terminal两种方式调试运行WordCount程序,Apache Beam对大数据的批处理和流处理,提供一套先进的统一的编程模型,并可以运行大数据处理引擎上.完整项目Github源码 负责公司大数据处理相关架构,但是具有多样性,极大的增加了开发成本,急需统一编程处理,Apache Beam,一处编程,处处运行,故将折腾成果分享出来. 1.Apache Beam编程实战–前言,Apache B

Apache Beam 剖析

1.概述 在大数据的浪潮之下,技术的更新迭代十分频繁.受技术开源的影响,大数据开发者提供了十分丰富的工具.但也因为如此,增加了开发者选择合适工具的难度.在大数据处理一些问题的时候,往往使用的技术是多样化的.这完全取决于业务需求,比如进行批处理的MapReduce,实时流处理的Flink,以及SQL交互的Spark SQL等等.而把这些开源框架,工具,类库,平台整合到一起,所需要的工作量以及复杂度,可想而知.这也是大数据开发者比较头疼的问题.而今天要分享的就是整合这些资源的一个解决方案,它就是 A

Apache Beam: 下一代的大数据处理标准

Apache Beam(原名Google DataFlow)是Google在2016年2月份贡献给Apache基金会的Apache孵化项目,被认为是继MapReduce,GFS和BigQuery等之后,Google在大数据处理领域对开源社区的又一个非常大的贡献.Apache Beam的主要目标是统一批处理和流处理的编程范式,为无限,乱序,web-scale的数据集处理提供简单灵活,功能丰富以及表达能力十分强大的SDK.Apache Beam项目重点在于数据处理的编程范式和接口定义,并不涉及具体执

Apache Beam欲通过uber api获取大数据

文章讲的是Apache Beam欲通过uber api获取大数据,现在,有用的Apache大数据项目似乎每日更新.相比于每次都重新学习的方式,如果可以通过一个统一的API如何呢? 长期开玩笑说Hadoop生态系统是那种如果你不喜欢一个为特定系统的API,等待五分钟,两个新的Apache项目将出现随之而来崭新的API可供学习. 有很多要赶着学习.更糟糕的是,它会导致很多工作迁移到不同的项目仅仅为了保持通用性."我们已经在暴风雨中实现了流媒体解决方案!现在我们已经快速地重做了!我们目前正在重写pac

Apache Beam发布第一个稳定版本

Apache Beam在官方博客上正式发布了Beam 2.0.0.这是Beam有史以来的第一个稳定版本,根据Beam社区的声明,Beam意欲为未来版本发布保持API的稳定性,并让Beam适用于企业的部署. Beam的第一个稳定版本是Beam社区发布的第三个重要里程碑.Beam在2016年2月成为Apache孵化器项目,并在同年12月升级成为Apache基金会的顶级项目.经过从开始至今的15个月全神贯注的努力,从一个有点混乱的代码库开始,从各大组织合并代码,成就了如今的这个数据处理框架,它是一个真

大数据统一的批处理和流处理标准 Apache Beam

Apache Beam 是 Apache 软件基金会越来越多的数据流项目中最新增添的成员,是 Google 在2016年2月份贡献给 Apache 基金会的孵化项目. 这个项目的名称表明了设计:结合了批处理(Batch)模式和数据流(Stream)处理模式.它基于一种统一模式,用于定义和执行数据并行处理管道(pipeline),这些管理随带一套针对特定语言的SDK用于构建管道,以及针对特定运行时环境的Runner用于执行管道. Apache Beam 的主要目标是统一批处理和流处理的编程范式,为

【手把手教你全文检索】Apache Lucene初探

讲解之前,先来分享一些资料 首先呢,学习任何一门新的亦或是旧的开源技术,百度其中一二是最简单的办法,先了解其中的大概,思想等等.这里就贡献一个讲解很到位的ppt.已经被我转成了PDF,便于搜藏. 其次,关于第一次编程初探,建议还是查看官方资料.百度到的资料,目前Lucene已经更新到4.9版本,这个版本需要1.7以上的JDK,所以如果还用1.6甚至是1.5的小盆友,请参考低版本,由于我用的1.6,因此在使用Lucene4.0. 这是Lucene4.0的官网文档:http://lucene.apa

2016美国QCon看法:在Beam上,我为什么说Google有统一流式计算的野心

编者按:流式计算(Stream Processing)在经历了若干年的发展之后,已经有了比较完整的生态,如开源的Storm, Flink, Spark等,未开源的如Google的DataFlow,几乎每个巨头都有自己的流式计算系统.生态虽繁荣但分散,各个平台之间也是互不兼容的,一个平台上写的程序很难移植到另外一个平台,这些领域难题再加上Google大一统流式计算的野心催生了Apache孵化器的新项目Beam.            Google是最早实践大数据的公司,目前大数据繁荣的生态很大一部