NIO4444
这个作者很懒,什么都没留下…
展开
-
Flink系列:处理时间窗口 VS 时间时间窗口
处理时间窗口当按处理时间进行窗口化时,系统将传入的数据缓冲到窗口中直到经过了一定的处理时间。例如,在5分钟固定窗口的情况下,系统将缓冲数据为5分钟的处理时间,之后它将把在这5分钟内观察到的所有数据作为一个窗口并将它们发送到下游进行处理。事件时间窗口当您需要以有限块的形式观察数据源时,可以使用事件时间窗口,这些有限块反映这些事件实际发生的时间。这是开窗的黄金标准。遗憾的是,目前使用的大多数数据处理系统都缺乏对它的本地支持(尽管任何具有良好一致性模型的系统,如Hadoop或Sp...原创 2021-10-17 23:35:47 · 446 阅读 · 0 评论 -
Flink系列:assignTimestampsAndWatermarks使用demo
assignTimestampsAndWatermarks指派时间戳,并生成WaterMark相关demoFlink系列:事件Time时间乱序到达处理方法https://blog.youkuaiyun.com/VIP099/article/details/107048139Flink系列:事件时间乱序到达处理完整Demo例子https://blog.youkuaiyun.com/VIP099/article/details/107142404Flink系列:join算子的使用方法h...原创 2021-05-05 12:18:37 · 3573 阅读 · 0 评论 -
flink系列:使用dashboard的Web UI页面监测任务状态
Overview选项卡可以看到:Running Jobs:任务执行数量 Status:执行状态 Duration:运行时间 Total Task Slots:系统总Slots数量 Total Task Managers:系统总Task Managers数量 Available Task Slots:当前还剩Slots数量DAG选项卡点击任务所在行,进入DAG页面,该页面可以看到(上部分)DAG中每个Task的执行并行度、执行顺序(每个SubTa...原创 2021-04-23 00:24:53 · 3339 阅读 · 0 评论 -
flink系列:kafka+Flink端到端状态一致性保证
目录内部sourcesink内部利用checkpoint机制,把状态存盘,发生故障的时候可以恢复,保证内部的状态一致性sourcekafka consumer作为source,可以将偏移量保存下来,故障恢复时可以由连接器重置偏移量,重新消费数据,保证一致性sinkkafka producer作为sink,采用两阶段提交sink,需要实现一个TwoPhaseCommitSinkFunctionFlinkKafkaProducer011已实现了exactlyonc原创 2021-04-20 00:05:42 · 437 阅读 · 0 评论 -
Flink系列:exactly-onece端到端保证
目录内部保证sourcesink内部保证checkpointsource可重设数据的读取位置sink从故障恢复时,数据不会重复写入外部系统幂等写入:多个操作过程中,会有短暂的不一致事务写入:要么全成功,要么全失败。 (预写日志、2阶段提交)...原创 2021-04-19 23:42:17 · 316 阅读 · 0 评论 -
Flink系列:状态一致性分类
目录最多一次(at most once)至少一次(at least once)精确一次(exactly once) 最多一次(at most once) 一个事件最多处理一次。当故障发生,什么都不干,既不恢复丢失状态,也不重播丢失的数据。 至少一次(at least once) 所有事件都处理了,有的事件可能被处理多次 精确一次(exactly once) 所有事件仅仅被处理一次...原创 2021-04-19 23:07:30 · 286 阅读 · 0 评论 -
Flink系:ProcessFunction的使用方法
目录ProcessFunction是什么允许访问所有(非循环)流应用程序的基本构件8个Process Function2种类型计时器如何使用ProcessFunctionProcessFunction使用注意事项例子扩展ProcessFunction是什么Flink的转换操作是无法访问事件的时间戳信息和水印信息的。例如我们常用的MapFunction转换操作就无法访问时间戳或者当前事件的事件时间。而这在一些应用场景下,极为重要。因此,Flink DataStre原创 2021-04-19 00:14:53 · 485 阅读 · 1 评论 -
Fllink系列:使用ProcessFunction实现数据分流
目录需求实现数据code结果需求将数据分流:数据>30,High-Temp高温数据流; 数据<30,Low-Temp低温数据流实现使用ProcessFunction实现数据分流数据codepackage csdn.nio4444.source;import org.apache.flink.api.common.state.ValueState;import org.apache.flink.api.common.state原创 2021-04-18 22:35:08 · 366 阅读 · 1 评论 -
Flink系列:使用ProcessFunction的定时器替代滑动窗口
效果需求如果10s内,温度连续上升,则发送报警实现方法1、10s的滑动窗口(本次不实现)方法2、process定时器(本次实现)测试数据nc -lk 6667codepackage csdn.nio4444.source;import org.apache.flink.api.common.state.ValueState;import org.apache.flink.api.common.state.ValueStateDescri..原创 2021-04-17 22:43:52 · 582 阅读 · 0 评论 -
Flink系列:Savepoints使用方法(savepoint还原失败原因与方法)
Flink系列:Savepoints使用方法扩展Flink系列:State Backend(状态后端)https://xdoctorx.blog.youkuaiyun.com/article/details/115792746Flink系列:Savepoints与checkpoints区别https://xdoctorx.blog.youkuaiyun.com/article/details/106461649Flink系列:Checkpoint使用方法https://xdoctorx.blog.cs...原创 2021-04-17 12:45:25 · 1431 阅读 · 0 评论 -
Flink系列:任务失败与恢复机制
Flink系列:任务失败,恢复机制原创 2021-04-17 12:43:44 · 946 阅读 · 0 评论 -
Flink系列:Checkpoint使用方法
目录作用前提条件使用方法demo配置文件中声明方法代码中声明方法作用当Flink任务执行出现错误时,为了可以恢复数据继续消费,flink可以设置记录相应的状态和流位置(默认情况下,检查点处于禁用状态),以便恢复数据。前提条件可以在一定时间范围内重播记录的持久(或持久)数据源。此类消息源的示例是持久消息队列(例如,Apache Kafka,RabbitMQ,Amazon Kinesis,Google PubSub)或文件系统(例如,HDFS,S3,G...原创 2021-04-17 12:41:44 · 573 阅读 · 0 评论 -
Flink系列:State Backend(状态后端)
定义状态的存储、访问、维护,由一个可插入的组件决定,这个组件就是状态后端(State Backend)主要作用本地的状态管理、检查点(checkpoint)状态写入远程存储。env.setStateBackend(new FsStateBackend("hdfs://checkpoint-xxx/xxxx")) ;3种类型MemoryStateBackend FsStateBackend RocksDBStateBackendMemoryStateBack...原创 2021-04-17 12:15:34 · 449 阅读 · 0 评论 -
Flink系列:算子状态、分组状态
目录状态流转图算子状态数据结构分组状态数据结构状态流转图状态始终与算子相关算子状态数据结构分组状态数据结构原创 2021-04-15 23:50:28 · 522 阅读 · 1 评论 -
Flink系列:延迟和超时数据的处理(window 、watermark、allowLateNess、sideOutPut)
迟到数据的默认处理窗口已经关闭,迟到事件出现时,Flink默认会直接抛弃。Allowed Lateness允许用户设置一个允许的最大迟到时⻓。Flink 会在窗口关闭后一直保存窗口的状态直至超过允许迟到时⻓,这期间的迟到事件不会被丢弃,而是默认会触发窗口重新计算。因为保存窗口状态需要额外内存,并且如果窗口计算使用了ProcessWindowFunction, API 还可能使得每个迟到事件触发一次窗口的全量计算,代价比较大,所以允许迟到时⻓不宜设得太⻓,迟到...原创 2021-04-15 23:16:23 · 859 阅读 · 0 评论 -
Flink系列:flink1.11 sink写入es7.10(附带ES密码验证)
目录效果demo.txtpom代码实现Flink2EsGsonUtilPersonESSinkUtilHDRestClientFactory效果demo.txt1,text-1,102,text-2,203,text-3,30pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" .原创 2021-04-11 22:52:13 · 1489 阅读 · 0 评论 -
Flink系列:物理分区分组broadcast、global、shuffle、forward、rebalance、rescale理解与实战
定义数据1,text-1,102,text-2,203,text-3,30codepackage csdn.nio4444;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;public class SourceText { p...原创 2021-04-11 13:03:38 · 2981 阅读 · 0 评论 -
Flink系列:Parallelism理解实战
目录Parallelismpomjava实战setParallelism(1);setParallelism(3)Parallelism每个任务的并行度Flink系列:parallelism和Slot的理解:https://xdoctorx.blog.youkuaiyun.com/article/details/115450468pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http原创 2021-04-11 12:25:46 · 668 阅读 · 0 评论 -
Flink系列:程序与数据流
目录程序执行图演变过程程序所有的Flink程序都是由三部分组成的:Source、Transformation和Sink。Source负责读取数据源,Transformation利用各种算子进行处理加工,Sink负责输出。在运行时,Flink上运行的程序会被映射成“逻辑数据流”(dataflows),它包含了这三部分。 每一个dataflow以一个或多个sources开始以一个或多个sinks结束。dataflow类似于任意的有向无环图(DAG)。 在大部分...原创 2021-04-07 23:11:37 · 301 阅读 · 0 评论 -
Flink系列:TaskManager和Slots
目录并行度TaskManager和Slots并行子任务的分配并行度一个特定算子的子任务(subtask)的个数被称之为其并行度。一般情况下,一个stream的并行度,可以认为就是其所有算子中最大的并行度。以source为例,设置并行度为2,代表Souce会有两个并行的子任务,Sink的并行度为1,因为只有一个子任务,所有按照最大的并行子任务来计算,Stream的并行度为2。TaskManager和Slots一个JobGraph可以转换为多个Tas..原创 2021-04-07 22:59:12 · 479 阅读 · 0 评论 -
Flink系列:应用作业提交流程
任务提交时,flink组件交互流程在YARN模式下应用提交流程原创 2021-04-07 22:20:57 · 252 阅读 · 0 评论 -
Flink系列:四大组件介绍及其功能介绍
目录分发器(Dispatcher)资源管理器(ResourceManager)作业管理器(JobManager)任务管理器(TaskManager)分发器(Dispatcher)可以跨作业运行,它为应用提交提供了REST接口。 当一个应用被提交执行时,分发器就会启动并将应用移交给一个JobManager。 Dispatcher也会启动一个Web UI,用来方便地展示和监控作业执行的信息。 Dispatcher在架构中可能并不是必需的,这取决于应用提交运行的方式。..原创 2021-04-07 22:07:43 · 796 阅读 · 0 评论