
flink
文章平均质量分 59
JNWsong
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
flink timer定时器
【代码】flink timer定时器。原创 2024-09-27 17:12:49 · 217 阅读 · 0 评论 -
flink任务提交、内存、并行度设置
standalone:包括 standalone-session standalone-application。但是 per-job被官网废弃了,用application替代per-job!flink任务提交方式有3种 session、per-job、application三种。flink任务运行底座也有三种,Standalone、yarn、k8s。原则上一个flink任务运行的方式由3*3=9种,但是有些是没法搭配的。yarn:包括yarn-session 、k8s: 包括 k8s-session、原创 2024-08-14 14:14:01 · 723 阅读 · 0 评论 -
flink checkpoint barrier对齐机制
一个subtask的数据如果只来自于上游的一个subtask,此时遇到barrier后直接备份当前状态,并且向jobmanager发送ack响应。如果一个subtask来自上游多个subtask,因为上有subtask的barrier到达有早有晚,上游最早的barrier到达之后,收到其他上游数据后被缓存到内存中,不会进行处理,直到上游最晚的barrier到达后,这个subtask会进行一次状态备份,并且向jobmanager发送ack响应。jobmanager 收到所有的ack响应后。原创 2024-08-27 10:16:37 · 520 阅读 · 0 评论 -
flink 使用RocksDB作为状态后端
flink在生产环境中常用RocksDB作为状态后端1、subtask在taskmanager中作为一个线程运行,如果设置了RocksDB状态后端,RocksDB也会启动一个独立的线程,供subtask来使用。2、RocksDB是一个kv数据库,因此只能存储flink的键控状态,算子状态还是会放到subtask中。3、RocksDB会单独占据一块flink内存,它不受JVM GC管控4、RocksDB会把数据存储到taskmanager所在磁盘上。原创 2024-08-22 16:57:52 · 1169 阅读 · 0 评论 -
关于flink重新提交任务,重复消费kafka的坑
1、savepoint的数据要比checkpoint更加稳定,比如你可以通过移动(拷贝)savepoint 目录到任意地方,然后再进行恢复。checkpoint就不可以,因为他有很多相对路径配置。2、savepoint和checkpoint一般都能作为恢复点使用,例外情况是使用 RocksDB 状态后端的增量 Checkpoint。他们使用了一些 RocksDB 内部格式,而不是 Flink 的本机 Savepoint 格式。原创 2023-10-08 14:30:33 · 2858 阅读 · 0 评论 -
Flink 流转表,表转流,watermark设置
流转表的时候有一个点要注意,watermark必须要重新指定,否则会丢失,常用的方式如下。原创 2024-08-19 17:22:48 · 587 阅读 · 0 评论 -
Flink动态ClickhouseSink+自动建表
通过自定义注解的形式,对JdbcSink进行封装,支持自动建表、自动拼接insert语句原创 2023-07-04 14:29:05 · 1848 阅读 · 0 评论 -
Flink on yarn任务日志怎么看
在flink的webui中可以看,但是flink任务失败后,webui就不存在了,那怎么看?原创 2023-05-30 14:29:01 · 4205 阅读 · 3 评论 -
flink广播流与主数据流加载顺序问题,怎么保证字典数据优先加载
flink怎么保证广播流比数据流先到?前置条件:flink cdc 监听字典表并广播,主流消费kafka设置消费模式为earliest如果当字典表数据稍微大了点,那么主流数据会比广播流数据到的早原创 2023-05-18 17:19:20 · 1152 阅读 · 0 评论 -
Flink dataStream,如何开窗,如何进行窗口内计算
增量聚合的缺点过于明显,但是平时的业务对于全量窗口的需求又没这么高,因此Flink提供了一个增量聚合函数携带全量聚合函数的混合使用API,数据处理逻辑还是走增量聚合的逻辑,省资源、效率高,但是一个窗口的数据处理完成后,会调用一次全量窗口函数。优点:可以获取整个窗口的全量数据,对数据的可处理性更强,比如排序。开完窗口后数据的处理方式,首先要对数据进行聚合,聚合的方式分两种,一种全量聚合,一种增量聚合。每个窗口的所有数据调用一次该函数,在这个函数中有个迭代器,可以获取当前窗口的所有数据。原创 2023-05-09 10:18:05 · 1169 阅读 · 0 评论 -
FlinkSql,如何开窗,如何进行窗口内计算
将表应用一下TVF(table-valued function )函数,返回一个开窗的表,开窗TVF函数目前有三个。直接查询,报错,对于开窗后的表需要用,window_start,window_end。以最简单的Tumble,滚动窗口作为例子,无论什么开窗方式,查询方法是一样的。问题:每10分钟求最近10分钟交易额最大的前2条记录。问题:每10分钟求最近10分钟的总交易额。原创 2023-04-26 15:31:26 · 2275 阅读 · 1 评论 -
Flink 双流Join
对处于同一窗口的数据进行join时间类型:processTime、eventTime问题:1、不在同一窗口的数据无法join,2、只能inner join。原创 2023-04-26 11:29:14 · 1512 阅读 · 1 评论 -
flink任务部署的方式
一个任务会对应一个 Job,每提交一个作业会根据自身的情况,都会单独向 yarn 申请资源,直到作业执行完成,一个作业的失败与否并不会影响下一个作业的正常提交和运行。缺点:程序隔离度不够:所有个flink-job公用同一个集群环境,会相互占用slot,而且如果一个flink-job出现异常导致集群环境崩溃,正常的flink-job也会gg。优点:每个作业单独启动集群,隔离性好,JM 负载均衡,main 方法在客户端执行。flink的job,是flink集群内部的概念,它对yarn是不可见的。......原创 2022-08-10 15:07:55 · 772 阅读 · 0 评论 -
flink-cdc,clickhouse写入,多路输出
高级:入clickhouse的同时推送到kafka供2次数据流程处理。kafka日志数据从kafka读取。2、判断日志内容级别:多路输出。1、关联字典表:完善日志数据。低级:入clickhouse。原创 2023-01-30 17:20:29 · 2382 阅读 · 0 评论 -
大数据异常
大数据异常。原创 2023-01-17 14:09:17 · 900 阅读 · 0 评论 -
process方法中ctx拿到的watermark为什么是上次的watermark?
同时我们看到还有一个onEvent(),在每次收到数据后都会调用一次onEvent方法,不断比较上次的watermark和本次watermark的大小,如果比上次的大就替换成为新的watermark。assignTimestampsAndWatermarks,生成水印方法,底层的类,会不断的执行一个定时任务就是调用onPeriodicEmit()周期的发送watermark。.........原创 2022-07-25 14:35:37 · 210 阅读 · 0 评论