![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flink
文章平均质量分 82
大大大大肉包
一个喜欢计算机的帅小伙
展开
-
八股系列 Flink
数据已时间为单位分为一个个批次,通过RDD进行分布式计算,是面向流的处理框架,是真正的流式计算。原创 2024-06-14 16:52:11 · 736 阅读 · 0 评论 -
flink写入es的参数解析
在发送批量动作前,BulkProcessor先缓存,再刷新。缓存刷新的间隔,支持基于Action数量、基于Action大小、基于时间间隔3种策略。不论Action个数或Action大小如何设置,到刷新间隔了,就会刷新缓冲,发起Bulk请求。延迟重试策略: 默认启用指数级间隔重试策略,初始等待50ms,8次重试。如需自定义延迟重试策略,可通过以下参数配置。: 延迟重试类型,CONSTANT(固定间隔)或EXPONENTIAL(指数级间隔)。每个Bulk请求,最大缓冲的Action大小。: 延迟重试是否启用。原创 2024-02-04 16:41:30 · 1155 阅读 · 0 评论 -
Flink中的时间语义和TTL
事件时间是数据生成的时间,是数据流中每个元素或者每个事件自带的时间属性,一般是事件发生的时间,在实际项目中作为前端的一个属性嵌入。在理想情况下,数据应当按照事件时间顺序到达集群节点,但是由于从产生一条数据到数据抵达集群有过多的中间步骤,一个较早发生的事件可能较晚到达,使用事件时间意味着会产生数据乱序。原创 2024-01-30 09:33:12 · 1200 阅读 · 0 评论 -
Flink中的UDF的实现
Flink 的 Table API 和 SQL 提供了多种自定义函数的接口,以抽象类的形式定义。当前 UDF主要有以下几类: 自定义标量函数可以把 0 个、 1 个或多个标量值转换成一个标量值,它对应的输入是一行数据中的字段,输出则是唯一的值。所以从输入和输出表中行数据的对应关系看,标量函数是“一对一”的转换,类似于hive中的UDF。 想要实现自定义的标量函数,我们需要自定义一个类来继承抽象类 ScalarFunction,并实现叫作 eval() 的求值方法。标量函数的原创 2022-12-03 19:58:19 · 1849 阅读 · 0 评论 -
FlinkSql中的外部连接器
不支持更新和删除操作。原创 2022-12-01 20:41:53 · 808 阅读 · 0 评论 -
FlinkSql中的聚合查询
在 SQL 中,一个很常见的功能就是对某一列的多条数据做一个合并统计,得到一个或多个结果值;比如求和、最大最小值、平均值等等,这种操作叫作聚合(Aggregation)查询。Flink 中的 SQL 是流处理与标准 SQL 结合的产物,所以聚合查询也可以分成两种:流处理中特有的聚合(主要指窗口聚合),以及 SQL 原生的聚合查询方式(分组聚合和over聚合)。原创 2022-11-30 21:45:01 · 2335 阅读 · 0 评论 -
FlinkSql中的窗口
通过截取有限数据集来处理无限的流数据。原创 2022-11-30 19:32:15 · 3556 阅读 · 0 评论 -
FlinkSql中的时间语义和TTL
专门用来保存当前的处理时间。在创建表的DDL中定义。原创 2022-11-29 20:03:55 · 5054 阅读 · 0 评论 -
Flink的状态一致性
通常来说,状态一致性分为三个级别。原创 2022-11-28 20:16:58 · 1447 阅读 · 0 评论 -
Flink的检查点和保存点
如果出现故障,我们恢复到之前保存的状态,故障时正在处理的所有数据都需要重新处理;现在重启应用,内存中的状态已经丢失,就意味着之前的计算全部白费了,需要从头来过。具体来说,当每隔一段时间检查点保存操作被触发时,就把每个任务当前的状态复制一份,按照一定的逻辑结构放在一起持久化保存起来,就构成了检查点。,重置状态:找到最近一次保存的检查点,从中读出每个算子任务状态的快照,分别填充到对应的状态 中。遇到故障重启的时候,我们可以从检查点中“读档”,恢复出之前的状态,这样就可以回到当时保存的一刻接着处理数据了。原创 2022-11-25 21:30:51 · 3098 阅读 · 2 评论 -
Flink的状态持久化和状态后端
检查点的保存离不开 JobManager 和 TaskManager,以及外部存储系统的协调。在应用进行检查点保存时,首先会由 JobManager 向所有 TaskManager 发出触发检查点的命令;TaskManger 收到之后,将当前任务的所有状态进行快照保存,持久化到远程的存储介质中;完成之后向JobManager 返回确认信息。原创 2022-11-24 12:02:30 · 736 阅读 · 0 评论 -
Flink的状态编程
Flink 处理机制的核心,就是“”。在流处理中,数据是连续不断到来和处理的。每个任务进行计算处理时,可以基于当前数据直接转换得到输出结果;也可以依赖一些其他数据。这些由一个任务维护,并且用来计算输出结果的所有数据,就叫作这个任务的状态。(聚合算子、窗口算子都属于有状态的算子)有状态算子的一般处理流程,具体步骤如下。。托管状态就是由 Flink 统一管理的,状态的存储访问、故障恢复和重组等一系列问题都由 Flink 实现,我们只要调接口就可以;原创 2022-11-23 20:15:45 · 413 阅读 · 0 评论 -
Flink CDC介绍及原理
CDC (Change Data Capture) 是一种用于的技术,Flink 从 1.11 版本开始原生支持 CDC 数据(changelog)的处理,目前已经是非常成熟的变更数据处理方案。Flink CDC Connectors 是 Flink 的一组 Source 连接器,是 Flink CDC 的核心组件,这些连接器负责从等数据库读取存量历史数据和增量变更数据。原创 2022-11-22 15:27:12 · 2533 阅读 · 1 评论 -
Flink中的数据倾斜
在flink中,相同 Task 的多个 Subtask 中,个别Subtask 接收到的数据量明显大于其他 Subtask 接收到的数据量,通过 Flink Web UI 可以精确地看到每个 Subtask 处理了多少数据,即可判断出 Flink 任务是否存在数据倾斜。通常,数据倾斜也会引起反压。原创 2022-11-12 17:08:47 · 245 阅读 · 0 评论 -
Flink中常用的去重方案
将数据保存到状态中,进行累计。原创 2022-11-12 16:41:04 · 4794 阅读 · 0 评论 -
Flink双流join导致数据重复
大家都知道flink sql 中 left join 数据不会互相等待,存在 retract 问题,会导致写入 kafka 的数据量变大,就会导致出现数据重复的问题。:即常见的曝光日志流(show_log)通过 log_id 关联点击日志流(click_log),将数据的关联结果进行下发。执行sql可能会出现一个情况1null1这样的情况明细是错误的,那原因便是 左表的数据先到了,但是右表的关联数据有了延迟,导致先输出null,但等右表的数据到达的时候,再关联右表的数据,从而出现数据重复的情况。原创 2022-11-12 16:11:25 · 2741 阅读 · 0 评论 -
Flink中的分流合流操作
(co-process)转换操作,用来说明对于不同来源、不同类型的数据,怎样分别进行处理转换、得到统一的输出类型。所以整体上来,两条流的连接就像是“一国两制”,两条流可以保持各自的数据类型、处理方式也可以不同,不过最终还是会统一到同一个 DataStream 中。原创 2022-11-07 00:27:52 · 1424 阅读 · 0 评论 -
FlinkSql中的join查询
使用简单和离线数仓一样:因为历史,因为资源问题一般只用做有界数据流的 Join,或者。原创 2022-11-06 20:17:31 · 1666 阅读 · 0 评论 -
实时数仓中的分层
存储框架:Hbase、数据量小可使用Mysql、redis。存储框架:不落地,就是展示数据执行的sql。场景:事实表会根据主键获取一条维表数据(场景:每过来一条数据,读取并分组累加处理。作用:做汇总数据,宽表提高数据的复用性。与离线数仓不同,实时数仓的计算框架是。场景:每过来一条数据,读取并存储数据。场景:每过来一条数据,读取并加工处理。存储框架:clickhouse。场景:读取最终数据并展示。存储框架:kafka(存储框架:kafka。原创 2022-11-03 18:36:52 · 1036 阅读 · 0 评论 -
FlinkSql中表的创建及查询
本文主要介绍FlinkSql中和以往的sql语句差异的地方原创 2022-10-24 15:17:49 · 6268 阅读 · 0 评论 -
FlinkSql书写流程
3. ⭐ 当 14:00:00 - 14:59:59 数据输⼊之后,1 ⼩时的窗⼝,连续查询(Continuous Query)计算的结果如右图所示,将 [Mary, 1],[Bob, 2],[Liz, 1] 插⼊(insert)结果表。1. ⭐ 当 12:00:00 - 12:59:59 数据输⼊之后,1 ⼩时的窗⼝,连续查询(Continuous Query)计算的结果如右图所示,将 [Mary, 3],[Bob, 1] 插⼊(insert)结果表。将数据输⼊流转换为 SQL 中的动态输⼊表。原创 2022-10-19 20:00:36 · 1040 阅读 · 0 评论 -
Flink中的时间和窗口
flink的时间和窗口原创 2022-06-14 16:42:53 · 2067 阅读 · 3 评论 -
Flink中的DataStream API相关总结
Flink中的DataStream API相关总结原创 2022-06-08 11:31:24 · 1195 阅读 · 0 评论 -
Flink执行过程
Flink执行流程原创 2022-06-07 17:45:05 · 3830 阅读 · 1 评论 -
Flink 的基本介绍
Flink 的延迟是毫秒级别原创 2022-06-06 21:07:04 · 726 阅读 · 0 评论