Beam系列一 Beam介绍及简单使用.md

Apache Beam是一个用于实时和流处理的大数据框架,源自Google DataFlow。适用于ETL任务、数据仓库快速切换和跨平台计算。文章介绍了Beam的Modes(批处理和流处理)、Pipeline(数据传输通道)和Runtimes(支持Flink、Spark、Direct Pipeline和Google Cloud Dataflow)。通过创建Maven项目,演示了使用Beam进行数据处理的基本步骤,包括创建管道、定义数据集、计算词长和运行管道。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.简介

简单地说,Apache Beam是一个实时处理、流处理的大数据框架,由Google DataFlow贡献给 Apache 基金会孵化而来。

2.应用场景

以下为应用场景的几个例子:
1.Beam 可以用于 ETL Job 任务
Beam 的数据可以通过 SDKs 的 IO 接入,通过管道可以用后面的 Runners 做清洗。

2.Beam 数据仓库快速切换、跨仓库
由于 Beam 的数据源是多样 IO,所以用 Beam 可以快速切换任何数据仓库。

3.Beam 计算处理平台切换、跨平台
Runners 目前提供了 3-4 种可以切换的平台,如Hadoop,Spark,Flink

3.数据处理流程

3.1Modes

Modes 是 Beam 的模型或叫数据来源的 IO,它是由多种数据源或仓库的 IO 组成,数据源支持批处理和流处理。
Modes要处理的问题有两个,一个是数据源类型,大致分为两类,有界的数据集(如数据库数据)和无界的数据流(如消息中间件)。
第二个是时间处理,有两种,一种是全量计算,另一种是部分增量计算。Beam Model 处理的目标数据是无界的时间乱序数据流,不考虑时间顺序或有界的数据集可看做是无界乱序数据流的一个特例。

3.2 Pipeline

Pipeline 是 Beam 的管道,所有的批处理或流处理都要通过这个管道把数据传输到后端的计算平台。这个管道现在是唯一的。数据源可以切换多种,计算平台或处理平台也支持多种。需要注意的是,管道只有一条,它的作用是连接数据和 Runtimes 平台。

3.3 Runtimes

Runtimes 是大数据计算或处理平台,目前支持 Apache Flink、Apache Spark、Dir

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值