Flink(11):Flink之流批一体架构

本文介绍了Apache Flink的流批处理概念,强调了流处理是批处理的特例,并指出Flink1.12开始支持流批一体的DataStreamAPI,允许在流和批处理模式间无缝切换,简化了代码维护。DataStreamAPI现在可以处理批数据,而DataSetAPI将被弃用。Flink应用程序主要由Source、Transformation和Sink组成,这一编程模型适用于流批处理。
摘要由CSDN通过智能技术生成

目录

0. 相关文章链接

1. 流处理和批处理

2. 流批一体API

2.1. DataStream API 支持批执行模式

2.2. API

2.3. 编程模型


0. 相关文章链接

Flink文章汇总

1. 流处理和批处理

Flink官网:Apache Flink 1.12 Documentation: Learn Flink: Hands-on Training

  • Batch Analytics,右边是 Streaming Analytics。批量计算: 统一收集数据->存储到DB->对数据进行批量处理,就是传统意义上使用类似于 Map Reduce、Hive、Spark Batch 等,对作业进行分析、处理、生成离线报表
  • Streaming Analytics 流式计算,顾名思义,就是对数据流进行处理,如使用流式分析引擎如 Storm,Flink 实时处理分析数据,应用较多的场景如实时大屏、实时报表。

2. 流批一体API

2.1. DataStream API 支持批执行模式

Part 1: Flink 的核心 API 最初是针对特定的场景设计的,尽管 Table API / SQL 针对流处理和批处理已经实现了统一的 API,但当用户使用较底层的 API 时,仍然需要在批处理(DataSet API)和流处理(DataStream API)这两种不同的 API 之间进行选择。

Part 2:鉴于批处理是流处理的一种特例,将这两种 API 合并成统一的 API,有一些非常明显的好处,比如:

  • 可复用性:作业可以在流和批这两种执行模式之间自由地切换,而无需重写任何代码。因此,用户可以复用同一个作业,来处理实时数据和历史数据。
  • 维护简单:统一的 API 意味着流和批可以共用同一组 connector,维护同一套代码,并能够轻松地实现流批混合执行,例如 backfilling 之类的场景。

Part 3:考虑到这些优点,社区已朝着流批统一的 DataStream API 迈出了第一步:支持高效的批处理(FLIP-134)。从长远来看,这意味着 DataSet API 将被弃用(FLIP-131),其功能将被包含在 DataStream API 和 Table API / SQL 中。

2.2. API

Flink提供了多个层次的API供开发者使用,越往上抽象程度越高,使用起来越方便;越往下越底层,使用起来难度越大

注意:在Flink1.12时支持流批一体,DataSetAPI已经不推荐使用了,之后可以使用DataStream处理批数据

Apache Flink 1.12 Documentation: Flink DataSet API Programming Guide

官宣 | Apache Flink 1.12.0 正式发布,流批一体真正统一运行!-阿里云开发者社区

 Apache Flink 1.12 Documentation: Flink DataStream API Programming Guide

2.3. 编程模型

Flink 应用程序结构主要包含三部分,Source/Transformation/Sink,如下图所示:


此博客根据某马2020年贺岁视频改编而来:【狂野大数据】Flink1.12从入门到精通#2021#流批一体#黑马程序员#大数据_哔哩哔哩_bilibili

注:其他相关文章链接由此进 -> Flink文章汇总


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电光闪烁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值