- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Apache Flink
展开查看详情
1 .Apache Flink 分享 赵开兴(纯庚) 2019.3
2 .1、Apache Flink是什什么 2、Apache Flink应⽤用场景 3、Apache flink开源社区
3 .什什么是Flink Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink是对有界/⽆无界数据流进⾏行行有状态计算的计算框架和分布式计算引擎 ■ 有界/⽆无界数据流:流计算/批计算 ■ 分布式处理理引擎:⼤大规模部署 ■ 状态计算:内置状态、容错机制 ■ 计算框架:批流统⼀一
4 .1、Apache Flink是什什么 • 有界/⽆无界数据流 • 分布式处理理引擎 • 状态计算 • 计算框架
5 .流式计算模型 上游 计算节点 下游 User Code User Producer Code User Code 对不不间断的数据流持续执⾏行行计算
6 .批/流计算的区别 批计算 流计算 2 1 提交请求 3 2 实时数据流 实时结果流 装载数据 返回结果 3 提交流式任务 1 批计算:批量量、⾼高时延、主动发起的计算任务 流计算:持续、低时延、事件触发的计算任务 有界数据 ⽆无界数据
7 .有界/⽆无界数据流 ■ 有界流:有确定的开始和结束,可以等到所有数据到达后再计算,可以批量量计算 ■ ⽆无界流:有开始⽆无结束,⽆无法等到所有数据到达后计算,需要持续计算/流式计算
8 .窗⼝口实现 ● Window Assigner:⽤用来决定 某个元素被分配到哪个/哪些 窗⼝口中去 ● Trigger:触发器器。决定了了⼀一 个窗⼝口何时能够被计算或清 除,每个窗⼝口都会拥有⼀一个⾃自 ⼰己的Trigger ● Evictor:在Trigger触发之 后,在窗⼝口被处理理之前, Evictor(如果有Evictor的 话)会⽤用来剔除窗⼝口中不不需要 的元素,相当于⼀一个filter ● Evaluation Function:窗⼝口计 算函数
9 .窗⼝口分类 ● 会话窗⼝口 ● 计数窗⼝口 ● 时间窗⼝口
10 .时间分类 ■ 事件时间:数据产⽣生 ■ 摄⼊入时间:数据进⼊入Flink
11 .Watermark Watermark:衡量量event time的进度,⽤用于触发窗⼝口结束。接收到wk=t 时,表示后续不不会再接收到t’<=t的数据 ⼀一定程度上解决数据乱序问题
12 .Watermark ■ 单并发:Watermark单调递增 ■ 多并发:Watermark取最⼩小值
13 .1、Apache Flink是什什么 • 有界/⽆无界数据流 • 分布式处理理引擎 • 状态计算 • 计算框架
14 .分布式处理理引擎
15 .分布式处理理引擎
16 .Flink on Yarn
17 .1、Apache Flink是什什么 • 有界/⽆无界数据流 • 分布式处理理引擎 • 状态计算 • 计算框架
18 .有状态计算 • 什什么是有状态计算? • 需要处理理跨多条记录信息的计算 User code • 状态⼀一致性 • exactly once • at least once state • 状态管理理 • checkpoint, recovery • counters: sum, max, min, average, etc. • upgrade, version • windows: time/count window • machine learning: model parameters
19 .Checkpoint
20 .Snapshot/Recovery source state (embedded key-value store) operator Sink operator offset snapshot persistent storage (HDFS)
21 .1、Apache Flink是什什么 • 有界/⽆无界数据流 • 分布式处理理引擎 • 状态计算 • 计算框架
22 .计算框架-API Programming Model SQL High-level Language Table API Declarative DSL DataStream / DataSet API Core APIs Low-level Building Block Stateful Streaming Processing (streams, state, [event] time)
23 .计算框架-批流统⼀一 流计算引擎 批流统⼀一的⼤大 批计算引擎 数据计算引擎 samza Apex Apache Flink
24 .Flink特性-总结 低延迟:纯流式处理理、增量量计算 易易⽤用性:丰富窗⼝口、Time类型 分布式引擎:并⾏行行处理理、Yarn/Mesos、⼤大规模部署 快速容错:state、⼀一致性/增量量checkpoint 计算框架:通⽤用的API、批流统⼀一
25 .1、Apache Flink是什什么 2、Apache Flink应⽤用场景 3、Apache flink开源社区
26 .Flink应⽤用场景 ● 数据同步 批 ● 实时数仓 + 流 ● 实时⼤大屏 ● 实时报表 + AI ● 实时监控 ● 实时推荐 + ⾦金金融⻛风控 IOT ● ● 复杂事件处理理
27 .Flink在中国
28 .1、Apache Flink是什什么 2、Apache Flink应⽤用场景 3、Apache flink开源社区
29 .Blink与Flink融合 Blink = Alibaba‘s Flink Version ■ Blink拥抱Apache Flink开源社区 • Blink全⾯面兼容Apache Flink API ■ Blink在阿⾥里里巴巴的场景对Flink的优化改进,⼀一直在不不 断回馈开源社区 • Flink计算和调度架构分离,可以更更⼤大规模的部署到YARN/Mesos 以及阿⾥里里内部的调度系统 Blink开源啦!!! • Failover优化,提升⼤大规模⽣生产稳定性 • Incremental Checkpoint,提升⼤大规模State场景下的性能 https://github.com/apache/flink/tree/blink • Asynchrous I/O,提升计算吞吐量量 • 完善Streaming SQL语义和实现 ■ Blink在Flink社区影响⼒力力 • Blink团队中已经培养出数名Flink Committer • Blink团队已经连续3次赞助、参加/组织Flink Forward,并在⼤大会