flink
lianchaozhao
这个作者很懒,什么都没留下…
展开
-
flink 端到端的一致性 实现
一、综述flink 通过内部依赖checkpoint 并且可以通过设置其参数exactly-once 实现其内部的一致性。但要实现其端到端的一致性,还必须保证1、source 外部数据源可重设数据的读取位置2、sink端 需要保证数据从故障恢复时,数据不会重复写入外部系统(或者可以逻辑实现写入多次,但只有一次生效的数据sink端)幂等操作:一个操作,可以重复执行多次,但只导致一次结果更改,豁免重复操作执行就不起作用了(逻辑与、逻辑或等)具体理解参照自己以前写的文章。事务写入:事务应该具有四个属性原创 2020-11-03 20:37:06 · 1610 阅读 · 0 评论 -
flink checkpoint 源码分析三-状态的恢复流程
四、状态的恢复流程todo 结合源码分析:https://blog.jrwang.me/2019/flink-source-code-checkpoint/原创 2020-09-28 15:15:40 · 1213 阅读 · 0 评论 -
flink checkpoint源码分析二
概述:上一篇文文章总体接收了flinkcheckpoint的源码分析的总体概念和流程。并结合代码介绍了checkpoint的发起和任务执行过程详细参考:https://blog.csdn.net/weixin_40809627/article/details/108537480本篇文章将接着上篇文章,继续介绍 flink checkPoint 的检查点快照、本地状态存储、checkpoint的确认、和状态恢复等过程。一、存储检查点状态快照在task 触发了chckpoint 之后,对于Task而言,原创 2020-09-22 17:43:19 · 592 阅读 · 1 评论 -
flink checkpoint源码分析一
FlinK CheckPoint 是程序故障恢复以及数据一致性的效果的基础,checkpoint是一种分布式快照:对一个Flink作业的所有task做一个快照且将快照保存在 memory / file system 等存储系统中。这样,在任务进行故障恢复的时候,就可以还原到任务故障前最近一次检查点的状态,从而保证数据的一致性。当然,为了保证 exactly-once / at-least-once 的特性,还需要数据源支持数据回放。todo 结合源码分析:https://blog.jrwang.me/20原创 2020-09-11 16:40:31 · 902 阅读 · 0 评论 -
flink windows窗口 应用范例
概述:流式数据处理中,很多操作要依赖于时间属性进行,因此时间属性也是流式引擎能够保证准确处理数据的基石,window提供了一种处理无界数据的一种手段。flink的windows包含了很多的组件: 例如出发器trigger,触发器上下文triggerContext,内部状态windowState。窗口分配器windowassigner,内部时间服务器internalTimerService。其中每个组件都是winows 完成功能不可缺失的一部分。具体每个组件的作用。1.Time在 Flink 的流式处理原创 2020-08-14 12:59:07 · 585 阅读 · 0 评论 -
flink window窗口函数 源码分析
概述:流式数据处理中,很多操作要依赖于时间属性进行,因此时间属性也是流式引擎能够保证准确处理数据的基石。在这篇文章中,我们将对 Flink 中时间属性和窗口的实现逻辑进行分析。原创 2020-08-13 19:48:29 · 270 阅读 · 0 评论 -
flink assignTimestampsAndWatermarks两种水印生成方式 源码分析
时间戳和水印的时间生成方式一般有一下两种方式1、BoundedOutOfOrdernessTimestampExtractorAscendingTimestampExtractor原创 2020-07-28 18:16:45 · 12299 阅读 · 1 评论 -
flink不同状态后端和RocksDBstatebackend的配置优化
背景:flink提供了不同的状态后端(state backends)来区分状态的存储方式和状态位置,flink状态可以存储在java堆呢村内或者内存之外。我们可以通过状态后端的设置,flink允许应用保持大容量的应用后端。开发者可以在不改变应用逻辑的情况下设置状态后端。注意:默认情况下flink的状态会保存在tastmanager的内存中,而checkpoint会保存在jobmanager的内存中。flink的三种状态后端。1、memorystatebackend2、fsstatebackend3原创 2020-07-07 16:36:35 · 2548 阅读 · 1 评论 -
flink workmark+window超時后处理 allowedLateness、sideOutputLateData
Todo原创 2020-06-27 17:26:40 · 551 阅读 · 1 评论 -
kafka的幂等性和事务性
一、综述在kafka 0.11版本中已经提出,kafka 将对事务和幂等性的支持,使得kafka 端到端exactly once语义成为可能。幂等性与事务性都是Kafka发展过程中非常重要的。官网摘要附录:kafka已经升级到版本背景:向kafka中生产消息时我们一般通过ack确认机制,但不同级别的ACK导致数据有的情况导致丢失,有的情况导致数据重复。所以为了解决生产数据端到端一致性的问题而引入幂等。二、幂等性在正常情况下,produce向Broker投递消息,broker将消息追加写到对原创 2020-06-23 11:41:41 · 1131 阅读 · 0 评论 -
flink的三种windows join
window join用于连接两个流的元素,他们在一个窗口钟用于共享一个公共的key.我们一般可以用一个窗口分配器定义这些窗口(join情况下一般包含了Tumbling Windows (滚动)、Sliding Windows(滑动)和Session Windows (会话窗口))Windows Join的代码一般形式如下:注:创建两个流元素的成对组合的行为类似于内连接。如果来自一个流的元素和另一个流没有相对应的连接元素,则不会发出该元素。结合在一起的那些元素将其时间戳设置为各自窗口的最大时间戳。例原创 2020-06-09 20:11:06 · 3644 阅读 · 0 评论 -
flink 的interval join源码分析
flink在流与流的join中,与其他window join相比,window中的关联通常是两个流中对应的window中的消息可以发生关联, 不能跨window,Interval Join则没有window的概念,直接用时间戳作为关联的条件,更具表达力。由于流消息的无限性以及消息乱序的影响,本应关联上的消息可能进入处理系统的时间有较大差异,一条流中的消息,可能需要和另一条流的多条消息关联,因此流流关联时,通常需要类似如下关联条件:等值条件如 a.id = b.id时间戳范围条件 : a.timesta原创 2020-05-22 11:13:35 · 686 阅读 · 0 评论 -
cdh6.2.1+flink1.9+druid1.8搭建实践
1、CDH版本调研和相应依赖整理综述一般组件版本管理工具包含两种方式,第一种ambari 第二种为cloudra 两种各有优缺点,但立足公司实际情况,需要一种相对来说,比较稳定,并且易于管理监控更加方便,一般不用二次开发的集群。并且cloudera相对ambari市场占有率比较大解决方案相对比较成熟。因此决定采用cloudera manager 去监控管理公司的集群。版本选择Clouder...原创 2020-05-13 19:36:12 · 1019 阅读 · 0 评论 -
flink的事务之两阶段提交
场景描述:两阶段提交(two-phase commit, 2PC)是最基础的分布式一致性协议,应用广泛。本文来介绍它的相关细节以及它在Flink中的典型应用场景。。原创 2020-04-14 10:31:41 · 3661 阅读 · 0 评论 -
flink基础知识点总结
介绍flink 数据处理流程:flink 摒弃了spark 拥有两个算子的思想(transfor、action),其数据流程包括了关于并行度和算子之间的运算流程为:其在分布式上运行流程为:具体执行步骤为1、当 Flink 集群启动后,首先会启动一个 JobManger 和一个或多个的 TaskManager。由 Client 提交任务给 JobManager, JobManag...原创 2020-04-12 21:37:11 · 1513 阅读 · 0 评论 -
Flink、spark streaming、storm对比的异同
1、flink 、spark streaming 、storm 的异同:flink 架构和容错方面 和spark Straming storm 异同。flink 和storm 、sparkstreaming 在处理模型延迟和数据保证时异同:现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型:流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效...原创 2019-12-30 13:52:12 · 3166 阅读 · 0 评论