![](https://img-blog.csdnimg.cn/4396422da47e401bb6fe722fb71bfab3.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
flink
文章平均质量分 87
flink相关专栏
矛始
好记性 + 烂笔头
展开
-
【flink】状态清理策略(TTL)
三种状态清理策略不是互斥的,并不是三选一的问题,一般是全量快照清理配合另两个其中的一个来使用(需要根据不同的state backend),可以看到StateTtlConfig.CleanupStrategies.strategies是一个集合来的。原创 2023-12-22 18:19:02 · 1342 阅读 · 0 评论 -
【flink】基于flink全量同步postgres表到doris
flink有doris connector进行数据写入,实际是stream load方式(每个checkpoint都会开启一个streamload,期间sink算子接收的数据会通过http chunked机制流式往BE写),这个方式受streaming_load_max_mb参数限制,即一次checkpoint周期内数据的大小上限,因此我们期望的是流式读取postgres源表,同时周期性地触发checkpoint,每次checkpoint都将大表的部分数据归到一个streamload往doris提交,这样原创 2023-12-06 18:38:54 · 881 阅读 · 0 评论 -
【flink】ColumnarRowData
在调试flink读取parquet文件时,读出来的数据是,由于parquet是列式存储的文件格式,所以需要用一种列式存储的表示方式,就是用来表示列式存储的一行数据,它包含多个数组的数据结构,每个数组都代表一个列,并且数组中的元素是该列中的值,系统可以有效地加载和处理需要的列,从而提高查询性能,并减少不必要的数据访问和计算。RowData。原创 2023-07-21 18:12:39 · 1048 阅读 · 0 评论 -
【flink】SinkUpsertMaterializer
在flink cdc同步数据时,基于sql的实现方式中发现了作业DAG有个算子,而且检查checkpoint历史时发现该算子state越来越大,有必要搞清楚为什么会多了这个算子,作用又是什么。通过算子名称定位到了源码为类,这个算子将输入的记录以作区分保存到state中,并为下游算子提供一下upsert视图。单纯看类注释和代码逻辑,并不能理解它的用处及设计背景。原创 2023-06-16 18:02:53 · 4317 阅读 · 1 评论 -
【flink】cdc 1.x 分析
是flink的一个数据源,将debezium引擎读取的数据注入到flink系统中,这个过程是生产者-消费者模式,使用该模式是为了兼容全量阶段和增量阶段两种不同行为,其中。,它是通过事务来提供一致性数据视图,同步阶段产生的变更在该事务中不可见,而是在增量阶段消费这些变更日志,所以刚好能做到恰好一次。是debezium默认的内置引擎,独立运行在一个线程,启动了一个连接器任务,并持续从连接器中阻塞地拉取源数据,最后将数据交由。为了一致性数据快照,mysql cdc在同步全量数据过程中一直处于锁表,原创 2023-04-20 22:04:54 · 1587 阅读 · 0 评论 -
【flink】 各种join类型对比
动态表(dynamic table):动态表是流的另一种表达方式,动态表作为一个逻辑的抽象概念,使我们更容易理解flink中将streaming发展到table这个层次的设计,本质都是对无边界、持续变更数据的表示形式,所以动态表与流之间可以相互转换。版本表(dynamic table):动态表之上的定义,版本是一个拥有主键和时间属性的动态表(建表语句必需包含PRIMARY KEY和WATERMARK),所以版本表可以追踪每个key在某时间点/时间内的变化情况。原创 2023-02-22 19:07:34 · 3833 阅读 · 0 评论 -
【flink】算子ID生成
一般来说在使用Streaming Api编程时都建议给算子自定义uid,特别有些转换涉及到状态,因为算子ID是算子和状态之间的纽带,一直都认为指定的uid就是最终的算子ID。但是在基于flink sql层次编程时,很多时候并不清楚整个job最由多少个算子组成,也不知道每个算子的ID是怎么生成的,以及如果进行个修改会不会不能从状态中恢复。原创 2022-10-25 14:50:31 · 4515 阅读 · 0 评论 -
flink smallint类型不兼容hudi
flink smallint类型不兼容hudi原创 2022-10-17 15:40:25 · 3021 阅读 · 0 评论 -
【flink】运行方式和部署模式
flink的命令参数不可谓不多,常用的应该是用来提交job,从命令梳理了一下运行方式和部署模式。flink可以以local或cluster方式运行job,一般来说在本地开发调试时就以local在idea中运行,完成后就提交到cluster.根据资源管理器不同又可以分为standalone,yarn,k8s等,从命令参数也可以看出,flink对yarn和k8s的支持是最好的。原创 2022-09-09 17:57:58 · 7639 阅读 · 2 评论 -
【flink 】记一次postgres cdc丢数据
记一次flink postgres cdc丢数据原创 2022-08-22 11:24:50 · 8430 阅读 · 3 评论