Flink
文章平均质量分 90
ScriptGirl
热爱技术探讨,语言包括且不限于Java、SQL、C/C++、Python、Android,领域包括且不限于大数据、移动端编程、后端编程
展开
-
【Flink】Table API 和 SQL
目录Table API 和 SQL快速上手需要引入的依赖一个简单的事例基本API程序架构创建表环境创建表表的查询输出表表和流的转换流数据的表Table API 和 SQL直到Flink1.12版本才基本做到了功能上的完善,现在仍在不停地调整和更新中,所以这部分内容重点理解含义。快速上手需要引入的依赖planner-blinkstreaming-scala一个简单的事例基本API程序架构创建表环境创建表表的查询输出表表和流的转换流数据的表...原创 2022-05-09 21:18:16 · 1158 阅读 · 0 评论 -
【Flink】容错机制
目录容错机制检查点检查点的保存从检查点恢复状态检查点算法检查点配置保存点savepoint状态一致性一致性的概念和级别端到端的状态一致性端到端精准一次输入端保证输出端保证Flink和Kafka连接时的精准一次性保证容错机制检查点检查点的保存定期存盘,将状态保存到检查点。保存的时间点:source数据源处记录一个offset,当所有子任务都处理完同一个offset处的数据的时候触发checkpoint保存。每个子任务之间保存快照的具体时间可能不太一样。从检查点恢复状态如果发生故障,Flink原创 2022-03-28 23:19:35 · 1974 阅读 · 0 评论 -
【Flink】状态编程
状态编程之前的应用:(1)实时对账,联结两条流,定义状态,用于保存已经到达的事件;(2)TopN:定义了一个列表状态,把所有到达的事件全都保存起来。Flink中的状态有状态算子事件模式:event pattern聚合算子:如求和:sum窗口算子ProcessFunction都可以定义状态MyMapFunction extends RichMapFunction,这样也可以有状态状态的管理直接把状态保存在内存里,保证性能。如果数据量太大,可以借助分布式扩展,提高吞吐量。每个算子任务原创 2022-03-27 20:18:10 · 2995 阅读 · 0 评论 -
【Flink】多流转换
多流转换分流就是基于侧输出流// 定义侧输出流标签OutputTag<String> outputTag = new OutputTag<String>("side-output"){};public void processElement(){ // 转换成Long, 输出到主流中 out.collect(Long.valueof(value)); // 转换成String, 输出到侧输出流中 ctx.output(outputTag, String.valu原创 2022-03-25 20:38:25 · 2372 阅读 · 0 评论 -
【Flink】处理函数Process
整体框架:处理函数基本处理函数 ProcessFunction处理函数的功能ProcessFunction:能拿到别的API拿不到的东西。处理函数提供了一个定时服务TimerService,可以用它访问流中的事件event、时间戳timestamp,水位线watermark,注册定时事件。处理函数继承自AbstractRichFunction,拥有富函数类的特性,可以访问状态state和其他运行时信息。处理函数可以直接将数据输出到侧输出流side output中。处理函数是DataStre原创 2022-03-23 22:08:36 · 4734 阅读 · 0 评论 -
【Flink】Flink中的时间和窗口
时间语义涉及的3个时间:1.事件真正发生的时间2.进入Flink系统的时间(一般不关心)3.Flink系统开始处理任务的时间哪个时间语义更重要?事件时间更重要,Flink1.12开始时间语义默认是事件时间。水位线 WaterMarker水位线生成方式一:来一条数据,附带一条水位线。如果数据很多很密集,就给系统平添很多压力。方式二:周期性的产生一条水位线。如果数据很多很密集,这种方式不会增加太大的系统压力;如果数据很稀疏,虽然有时数据是空的,只是单纯的打一条水位线,但系统整体清闲,此时原创 2022-03-22 20:11:33 · 2565 阅读 · 0 评论 -
【Flink】Flink特点、运行时架构
flink特点又快又准,精准一次性。分层APISQL 最高层语言Table API 声明式领域专用语言DataStream / DataSet API 核心API有状态流处理 底层APIflink与spark对比① 数据处理架构spark基于批,flink基于流。针对流数据处理,spark先把流转为微批数据,然后再处理;flink直接处理流数据,来一个处理一个。针对批数据处理,flink认为批数据是有界的流。② 数据模型spark:RDD模型,SparkStreami原创 2022-03-20 17:54:48 · 1119 阅读 · 0 评论