- 博客(16)
- 收藏
- 关注
原创 flink checkpoint
Flink中基于异步轻量级的分布式快照技术提供了Checkpoint容错机制,分布式快照可以将同一时间点Task/Operator的状态数据全局统一快照处理,包括上面提到的用户自定义使用的Keyed State和Operator State,当未来程序出现问题,可以基于保存的快照容错.Flink会在输入的数据集上间隔性地生成checkpoint barrier,通过栅栏(barrier)将间隔时间段内的数据划分到相应的checkpoint中。
2023-09-13 09:56:35 79
原创 StateBackend状态后端
在Flink中提供了StateBackend来存储和管理状态数据:Flink一共实现了三种类型的状态管理器:MemoryStateBackend、FsStateBackend、
2023-09-13 01:33:51 229
原创 Flink State
Flink是一个有状态的流式计算引擎,所以会将中间计算结果(状态)进行保存,默认保存到TaskManager的堆内存中,但是当task挂掉,那么这个task所对应的状态都会被清空,造成了数据丢失,无法保证结果的正确性,哪怕想要得到正确结果,所有数据都要重新计算一遍,效率很低。想要保证At -leastonce和Exactly-once,需要把数据状态持久化到更安全的存储介质中,Flink提供了堆内内存、堆外内存、HDFS、RocksDB等存储介质。
2023-09-13 01:11:56 65
原创 Dataflow Programming Model
最低级别的抽象层仅提供了有状态的流处理功能,它通过 Process Function.嵌入到。它允许用户自由地处理来自一个或多个流的事件,并使用一致的容错状态。此外,用户还可以注册事件时间和处理时间回调,使程序能够实现复杂的计算。实际上,大多数应用程序不需要上述描述的低级抽象层,而是会针对核心 API进行编程,如(有界/无界流)和(有界数据集)。这些流畅的 API 提供了数据处理的常见构建块,如各种形式的用户指定的转换、连接、聚合、窗口、状态等。这些 API 处理的数据类型表示为各编程语言中的类。
2023-09-13 00:55:39 61
原创 flink api介绍
DataStream / DataSet API 是 Flink 提供的核心 API ,DataSet 处理有界的数据集,DataStream 处理有界或者无界的数据流。Table API 提供了例如 select、project、join、group-by、aggregate 等操作,使用起来却更加简洁,可以在表与 DataStream/DataSet 之间无缝切换,也允许程序将 Table API 与DataStream 以及 DataSet 混合使用。Flink 提供的最高层级的抽象是 SQL。
2023-09-13 00:20:16 62
原创 flink介绍
无界流的数据必须持续处理,即数据被摄取后需要立刻处理。处理无界数据通常要求以特定顺序摄取事件,例如事件发生的顺序,以便能够推断结果的完整性。每次进行数据计算的时候基于之前数据的计算结果(状态)做计算,并且每次计算结果都会保存到存储介质中,计算关联上下文context基于有状态的计算不需要将历史数据重新计算,提高了计算效率无状态的计算:每次进行数据计算只是考虑当前数据,不会使用之前数据的计算结果。Flink 已经被设计成可以在所有常见的集群环境中运行,以内存速度执行计算,并支持任意规模的数据处理。
2023-09-13 00:13:49 50
原创 flink的window
|flink-1.9 docs:Apache Flink 1.9 Documentation: Windows1. Flink是一种流式计算引擎,用于处理无界数据流。在处理无界流时,一种有效的方式是将无限的数据切割成有限的"数据块",这就是窗口(Window)的概念。2. 在Flink中,窗口是用来处理无界流的核心概念。你可以将窗口想象成一个动态创建的数据存储桶,数据源源不断地流入这些存储桶。当某个时间点窗口需要关闭时,它停止收集数据、触发计算并输出结果。3. 窗口的时间范围以左闭右开的区间表示,例如,0~
2023-09-12 22:10:18 112
原创 flink的水位线和窗口
水位线在事件时间的世界中充当时钟的角色,是唯一的时间尺度。窗口闭合和定时器触发等操作都依赖水位线的大小来决定。水位线是一种特殊的事件,由程序员通过编程插入到数据流中,并随着数据流向下游传递。水位线的默认计算公式为:水位线 = 观察到的最大事件时间 – 最大延迟时间 – 1毫秒。不同算子可能看到不同大小的水位线,因为下游算子可能未接收到上游算子的水位线,导致下游算子的时钟落后于上游算子。耗时较长的操作可能阻塞水位线的传播,从而影响下游算子的计算和定时器触发。
2023-09-12 15:41:23 135 1
原创 Flink DataStream API
当没有提供连接器,也没有预先实现的方法时候,需要自定义addSink方法对应着一个“Sink”算子,主要就是用来实现与外部系统连接、并将数据提交写入的;addSink方法同样需要传入一个参数,实现的是接口。在这个接口中只需要重写一个方法invoke(),用来将指定的值写入到外部系统中。
2023-09-11 20:43:06 113
原创 Flink在yarn模式下任务提交流程
集群生命周期:Flink应用程序集群是一个专用的Flink集群,仅执行来自一个Flink应用程序的作业,而main()方法在集群上运行而不是客户端上运行。一旦作业完成,Flink作业集群将被关闭。JobManager具有与协调Flink应用程序的分布式执行相关的多项职责:它决定何时安排下一个任务(或一组任务),对已完成的任务或执行失败作出反应,协调检查点,并在故障时协调恢复,等等。Flink应用程序的作业可以提交到长时间运行的Flink会话集群、专用的Flink作业集群(已弃用)或Flink应用程序集群。
2023-09-11 17:52:48 175
原创 flink任务yarn模式部署
为了提供更好的资源隔离保证,单个作业模式使用可用的资源提供程序框架(例如YARN)为每个提交的作业启动一个独立的集群。yarn的高可用是启动一个JobManager,当这个Manager挂了之后,会利用yarn的重试次数来再次启动,yarn的重试机制是 JobManager的重启次数上限.每个应用程序创建一个集群可以被视为创建一个仅在特定应用程序的作业之间共享的会话集群,并在应用程序完成时关闭。允许提交包含多个作业的应用程序。作业执行的顺序不受部署模式的影响,而是受用于启动作业的调用的影响。
2023-09-11 14:29:00 117
原创 spark编程
project【Recommender-master】https://spark.apache.org/docs/2.4.0/running-on-yarn.htmlhttps://spark.apache.org/docs/2.4.0/monitoring.htmlhttps://issues.apache.org/jira/projects/SPARK/issues/SPARK-44900?filter=allopenissueshttps://stackoverflow.com/questions/t
2023-09-09 22:51:24 84
原创 flink编程
project:【trafficmonitor-master】Apache Flink 1.7 Documentation: YARN SetupApache Flink 1.7 Documentation: Metrics
2023-09-09 21:37:35 119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人