博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache Beam的架构概览
阅读量:6185 次
发布时间:2019-06-21

本文共 817 字,大约阅读时间需要 2 分钟。

hot3.png

 Apache Beam是一个开源的数据处理编程库,由Google贡献给Apache的项目,前不久刚刚成为Apache TLP项目。它提供了一个高级的、统一的编程模型,允许我们通过构建Pipeline的方式实现批量、流数据处理,并且构建好的Pipeline能够运行在底层不同的执行引擎上。刚刚接触该开源项目时,我的第一感觉就是:在编程API的设计上,数据集及其操作的抽象有点类似Apache Crunch(MapReduce Pipeline编程库)项目;而在支持统一数据处理模型上,能够让人想到Apache Flink项目。如果深入了解Apache Beam,你会发现未来Apache Beam很可能成为数据处理领域唯一一个能够将不同的数据应用统一起来的编程库。

 

 

 

 

 

 

Apache Beam架构概览

  Apache Beam目前最新版本为2.1.1-SNAPSHOT,最新的Release版本为2.0.0,很多特性还在开发中。

 

 

 

  在网上找到一个由Andrew Psaltis在2016年6月份演讲的《Apache Beam: The Case for Unifying Streaming API’s》,引用了其中一个Apache Beam的架构图,如下图所示:

    apache-beam-architecture

 

 

上图中,我们可以看到,Apache Beam核心的主要有两层

  • Pipeline构建层

  在Pipeline构建层,针对不同的编程语言,构建一组用于定义Pipeline相关抽象,提供编程API,这一层被称为Beam SDKs。最终的用户(具有不同编程语言技能的人员)可以基于这些抽象的Beam SDK来构建数据处理Pipeline。

  • Runner适配层

  Runner适配层,主要是用来对接底层的计算引擎,用来执行上层用户开发好的Pipeline程序。

转载于:https://my.oschina.net/xiaominmin/blog/3056426

你可能感兴趣的文章
android中文api(80)——Gallery.LayoutParams
查看>>
Windows Embedded Compact 7加速生活化IT产品创新
查看>>
安装LSMS前需关闭MediaSense
查看>>
QTP引用外部脚本路径的设定(三)Instr函数的使用
查看>>
Linux 监控工具之Cacti使用详解(四)
查看>>
[转]Android笔记:Eclipse嵌入Unity3D开发的3D场景
查看>>
机房管理系列之共享打印服务器
查看>>
ORACLE_OCM.MGMT_DB_LL_METRICS报错
查看>>
文件服务器的配置与管理(3) 共享文件夹的创建与使用
查看>>
Windows快捷方式
查看>>
如何drop有default constraint的column - SQL
查看>>
为域用户创建漫游用户配置文件
查看>>
虚拟化系列-VMware vSphere 5.1 高可用性
查看>>
Linux集群服务LVS概述与安装配置详解
查看>>
在DreamWeaver中使.inc文件语法高亮
查看>>
自定义ClassLoader
查看>>
Android调试错误-No resource identifier found for attribute 'showAsAction'
查看>>
Essential Linux Device Driver附录A . Linux汇编
查看>>
eclipse导入的工程莫名报错误
查看>>
OpenGL编程轻松入门(一)
查看>>