Flink介绍

Flink是一种基于事件驱动型、有状态的流批一体分布式计算引擎。

Flink将数据划分成有界流数据和无界流数据,以对应批处理和流处理计算。

Flink底层由Process Function构成,封装成DataStream API 和DataSet API对数据进行流、批计算。Flink还抽象除了Table API,将数据抽象成以表为中心进行计算。在Table API的基础上衍生出了Flink SQL,用户能方便的使用SQL进行开发。实际开发中,一般场景都可以使用Flink SQL完成开发,一些不好通过SQL实现的、复杂的场景使用DataStream/DataSet API完成开发。

Flink运行时角色主要有:

Client:解析用户的代码、获取执行资源参数,将计算逻辑构建成StreamGraph,将StreamGrap优化成JobGraph,提交给JobManager。进程级别

JobManager:作为任务管理协调中心。接收Client提交的JobGraph,负责任务的划分:将JobGraph细分为ExcutionGraph然后划分给TaskManger执行ExcutionGraph、资源管理、Checkpoint协调管理、故障转移、任务重试。进程级别

TaskManager:接收JobManger划分的Task,将Task交给其拥有的Slot执行、Checkpoint执行。进程级别

Slot:抽象化的任务处理资源单元,负责执行Task。线程级别。

Flink在流处理上时间上定义了三种时间语义:注入时间、系统时间、事件时间。

Flink引入并实现Watermark机制,用于处理数据滞后、乱序问题。

Flink 的Checkpoint机制用来故障恢复,并使用两阶段提交的方式实现恰好一次语义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值