不多说,直接上干货!

Apache Beam的基本概念

在使用Apache Beam构建数据处理程序,首先需要使用Beam SDK中的类创建一个Driver程序,在Driver程序中创建一个满足我们数据处理需求的Pipeline,Pipeline中包括输入(Inputs)、转换(Transformations)、输出(Outputs)三个核心的组件。然后,根据我们选择的Beam SDK来确定底层使用Pipeline Runner(执行引擎,或计算引擎),将我们定义好的Pipeline运行在Pipeline Runner上。

Apache Beam SDKs提供一组抽象,用来简化大规模分布式数据处理。同一个Beam抽象,能够同时适应批量处理、流处理两种数据源。

下面,我们了解一下Apache Beam的一些关键抽象:

Pipeline

一个Pipeline是对一个数据处理任务抽象,它包含了我们在对给定数据集处理的全部逻辑,主要包括从数据源读取数据(可能从多个数据源读取)、在给定的数据集上执行Transform操作(中间可能是一个DAG图,通过多个Transform连接,而Transform的输出和输出都可能是一个数据集)、将Transform的数据结果写入到指定对的存储系统中。

PCollection

一个PCollection是对分布式数据集的抽象,他可以是输入数据集、中间结果数据集、输出数据集。每一个由PCollection表征的数据集作为输入时,都会存在一个或多个Transform作用在其上(对数据集进行处理的逻辑)。

Transform

一个Transform表示数据处理过程中一个步骤(Step),对应于Pipeline中一个操作,每一个Transform会以一个或多个PCollection作为输入,经过处理后输出一个或多个PCollection。

Source and Sink

Apache Beam提供了Source和Sink的API,用来表示读取和写入数据。Source表示从一个外部的数据源读入数据到Pipeline,而Sink表示经过Pipeline处理后将数据写入到外部存储系统。

PipelineRunner

PipelineRunner是实际用来处理Pipeline逻辑的底层组件,它能够将用户构建的Pipeline翻译成底层计算引擎能够处理的Job,并执行Pipeline的处理逻辑。

apache beam java api_Apache Beam的基本概念相关推荐

  1. Apache Thrift - java开发详解

    2019独角兽企业重金招聘Python工程师标准>>> Apache Thrift - java开发详解 博客分类: java 架构 中间件 1.添加依赖 jar <depen ...

  2. 三星.android beam,三星S Beam取代Android Beam

    三星S Beam是一种全新的无线文件分享传输技术,通过S Beam,只需要将两部手机"背靠背"轻触,就可以快捷的分享手机上的各种文件:图片,音乐,视频,联系人甚至是正在浏览的网页等 ...

  3. 关于java流的几个概念:IO、BIO、NIO、AIO,有几个人全知道?

    转载自 关于java流的几个概念:IO.BIO.NIO.AIO,有几个人全知道? 关于同步.阻塞的知识我之前的文章有介绍,所以关于流用到这些概念与之前多线程用的概念一样. 下面具体来看看java中的几 ...

  4. Java流程控制语句的基本概念

    Java流程控制语句的基本概念 概述: 流程:做事情的顺序 控制:按照一定的规定去做某些事情 人为的定义好一定的规定,java语句按照规定进行执行的语句. 分类: 一.顺序语句: 自上而下自左往右执行 ...

  5. java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用

    java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用

  6. linux反序列化漏洞,Apache Camel Java对象反序列化漏洞(CVE-2015-5348)

    Apache Camel Java对象反序列化漏洞(CVE-2015-5348) 发布日期:2015-12-15 更新日期:2015-12-18 受影响系统:Apache Group Camel 描述 ...

  7. java多线程中 锁 的概念的理解,java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)...

    目前对于同步,仅仅介绍了一个关键字synchronized,可以用于保证线程同步的原子性.可见性.有序性 对于synchronized关键字,对于静态方法默认是以该类的class对象作为锁,对于实例方 ...

  8. Apache Lucene Java 全文检索引擎架构

    Apache Lucene Java 全文检索引擎架构 Apache Lucene 8.9.0 已发布,Lucene 是完全用 Java 编写的高性能.功能齐全的全文检索引擎架构,提供了完整的查询引擎 ...

  9. Java基础之面向对象的概念 继承---组合----枚举类

    Java基础之面向对象的概念 继承---组合----枚举类 本章作为面向对象概念的最后一篇,但是作为一名java程序员在面向对象的这条路上还很长. 一.继承与组合简介 继承是实现类重用的重要手段,但是 ...

最新文章

  1. php编写函数6,编写自己的PHP扩展函数
  2. Singleton、MultiThread、Lib——实现单实例无锁多线程安全API
  3. 华为已经升级鸿蒙系统的机型,鸿蒙系统名单已确认!覆盖55款机型,这些手机将被淘汰!...
  4. fetchtype 动态控制_hibernate 关于 注解配置@Basic(fetch=FetchType.LAZY) 不起效果
  5. 64位win7搭建php mysql_Win7 64位操作系统下配置PHP+MySql+Apache环境
  6. SDN第五次上机作业--基于组表的简单负载均衡
  7. mysql 存储过程 查询语句怎么写_mysql 查询数据库中的存储过程与函数的语句
  8. 自家主机建云服务器_用云主机还是自己建服务器好
  9. [电影]《指环王》新老三部曲完全赏析(王者归来)
  10. 奇虎360历届笔试面试题汇总
  11. 万亿候苹果,1000000000000 美元的海盗公司 | 摸鱼系列
  12. UITableViewCell设置行距
  13. java代码运行的三个步骤,22年最新
  14. IDM UEStudio 19中文版
  15. 【20221205】Windows系统反斜杠(倒斜杠 \ )和 Linux系统正斜杠(斜杠 / )
  16. Linux内核版本和发行版本的区别
  17. Win10 上使用 MSYS 开发 Android NDK 程序
  18. 使用蒙特卡洛技术解决一个小虫爬铁丝问题。
  19. (转载)图像语义分割
  20. 说说对React refs 的理解?应用场景?

热门文章

  1. layui菜鸟教程--乐字节前端
  2. block使用时的一些情况以及防止循环引用
  3. Kubernetes集群容器运行日志收集
  4. 鸢尾花的分类(四种方法)
  5. 中国世界500强数量首超美国,但别高兴得太早
  6. vue引入 wps在线编辑版,可进行 预览,编辑, 打印等功能。
  7. SpringCloud入门之项目实例
  8. 【读书笔记->统计学】03-01 各种“距”和“差”-极差(全距)、四分位距(数)、百分位数、箱线图概念简介
  9. 探索设计模式之六——单例模式
  10. C++ Primer 笔记——IO类