Flink 简介
Flink:
大数据流式处理框架:Flink 和 spark streaming
Flink 延迟更小,实时性更好
低延迟、高吞吐,准确性高
API:
source
transform
sink
一、Flink简介:
Flink(德语:快速、灵巧)
Flink 是一个框架,分布式处理引擎,对有界和无界数据流进行状态计算
2015年至今,快速增长,在国内大公司应用广泛
二、为什么用Flink:
1) 流数据,更真实的反映我们的生活
2)传统的数据架构是是基于有限的数据集
3)目标:低延迟、高吞吐、结果的准确性和良好的容错性
场景:电商、物联网(传感器)、广告投放、实时报警、实时异常监测、实时结算和推送
Flink 可以做到,毫秒级别的延迟
银行家时间(下午三点下班),随着技术的发展,比如转账之前需要24小时,现在可以实时到账。
三、传统数据处理架构
事物处理(实时)
分析处理(离线)
有状态的流式处理
1)第一代,分布式流式框架
000000000------>应用逻辑------>***********
|
local state
|
remote storage (checkpoint)
高并发、高吞吐,分布式计算下,一致性不好
2)流处理第二代架构(lambda 架构,两套系统,同时保证低延迟和结果的准确性)
批处理 :批处理,一致性没问题,实时性差一些
流处理:实时性好,但是一致性差
3)第三代架构(Flink)
Storm:低延迟
Spark streaming (微批处理的架构):高吞吐、高压力下正确性好,但延迟稍高
Flink: 结合上面的架构的所有的优点
struct streaming...
四、Flink的主要特点:
1)事件驱动,来一个处理一个(数据管道,Kafka)
事件----> Event log(kafka) ----->Application state ----> Event log(kafka) -----> other appliation
(持久化存储)
2)基于流的世界观:流
离线数据:有界流
实时数据:无界流
相对的,spark 中一切都是批
3)分层API
越顶层越抽象,使用方便、含义简明
越底层越具体,使用灵活、能力丰富
最上层:SQL、TABLE API
中间层:DataStream API
最底层:ProcessFunction
其他特点
支持事件时间和处理时间,不同的时间语义
精确一次的状态一致性(exactly-once)
低延迟,每秒数百万事件,毫秒延迟
和众多存储系统链接,HDFS等
高可用,动态扩展,实现7*24H全天运行
对比sparkstreaming 和 FLINK:
1)流和微批的区别
2)sparkstreaming,秒级延迟,需要等批处理
3)数据模型:
spark 采用RDD模型,spark streaming 的Dstream实际就是一组组小批数据的RDD集合
flink基本的数据模型是数据流,以及事件序列
4)运行架构:
spark是批计算,将DAG划分为不同的stage,一个完成后才可以进行下一个
flink是标准的流执行模式,一个节点处理完,马上发向下一个节点进行处理即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2019-04-23 hive Spark SQL分析窗口函数
2018-04-23 numpy, pandas, scikit-learn cheat sheet (速查表)