apache beam java api_Apache Beam的基本概念
不多说,直接上干货!
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的基本概念相关推荐
- Apache Thrift - java开发详解
2019独角兽企业重金招聘Python工程师标准>>> Apache Thrift - java开发详解 博客分类: java 架构 中间件 1.添加依赖 jar <depen ...
- 三星.android beam,三星S Beam取代Android Beam
三星S Beam是一种全新的无线文件分享传输技术,通过S Beam,只需要将两部手机"背靠背"轻触,就可以快捷的分享手机上的各种文件:图片,音乐,视频,联系人甚至是正在浏览的网页等 ...
- 关于java流的几个概念:IO、BIO、NIO、AIO,有几个人全知道?
转载自 关于java流的几个概念:IO.BIO.NIO.AIO,有几个人全知道? 关于同步.阻塞的知识我之前的文章有介绍,所以关于流用到这些概念与之前多线程用的概念一样. 下面具体来看看java中的几 ...
- Java流程控制语句的基本概念
Java流程控制语句的基本概念 概述: 流程:做事情的顺序 控制:按照一定的规定去做某些事情 人为的定义好一定的规定,java语句按照规定进行执行的语句. 分类: 一.顺序语句: 自上而下自左往右执行 ...
- java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用
java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用
- linux反序列化漏洞,Apache Camel Java对象反序列化漏洞(CVE-2015-5348)
Apache Camel Java对象反序列化漏洞(CVE-2015-5348) 发布日期:2015-12-15 更新日期:2015-12-18 受影响系统:Apache Group Camel 描述 ...
- java多线程中 锁 的概念的理解,java 并发多线程显式锁概念简介 什么是显式锁 多线程下篇(一)...
目前对于同步,仅仅介绍了一个关键字synchronized,可以用于保证线程同步的原子性.可见性.有序性 对于synchronized关键字,对于静态方法默认是以该类的class对象作为锁,对于实例方 ...
- Apache Lucene Java 全文检索引擎架构
Apache Lucene Java 全文检索引擎架构 Apache Lucene 8.9.0 已发布,Lucene 是完全用 Java 编写的高性能.功能齐全的全文检索引擎架构,提供了完整的查询引擎 ...
- Java基础之面向对象的概念 继承---组合----枚举类
Java基础之面向对象的概念 继承---组合----枚举类 本章作为面向对象概念的最后一篇,但是作为一名java程序员在面向对象的这条路上还很长. 一.继承与组合简介 继承是实现类重用的重要手段,但是 ...
最新文章
- php编写函数6,编写自己的PHP扩展函数
- Singleton、MultiThread、Lib——实现单实例无锁多线程安全API
- 华为已经升级鸿蒙系统的机型,鸿蒙系统名单已确认!覆盖55款机型,这些手机将被淘汰!...
- fetchtype 动态控制_hibernate 关于 注解配置@Basic(fetch=FetchType.LAZY) 不起效果
- 64位win7搭建php mysql_Win7 64位操作系统下配置PHP+MySql+Apache环境
- SDN第五次上机作业--基于组表的简单负载均衡
- mysql 存储过程 查询语句怎么写_mysql 查询数据库中的存储过程与函数的语句
- 自家主机建云服务器_用云主机还是自己建服务器好
- [电影]《指环王》新老三部曲完全赏析(王者归来)
- 奇虎360历届笔试面试题汇总
- 万亿候苹果,1000000000000 美元的海盗公司 | 摸鱼系列
- UITableViewCell设置行距
- java代码运行的三个步骤,22年最新
- IDM UEStudio 19中文版
- 【20221205】Windows系统反斜杠(倒斜杠 \ )和 Linux系统正斜杠(斜杠 / )
- Linux内核版本和发行版本的区别
- Win10 上使用 MSYS 开发 Android NDK 程序
- 使用蒙特卡洛技术解决一个小虫爬铁丝问题。
- (转载)图像语义分割
- 说说对React refs 的理解?应用场景?