![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Flink
文章平均质量分 84
Flink
SuperQiu~
这个作者很懒,什么都没留下…
展开
-
ProcessFunction API(底层 API)
ProcessFunction API(底层 API)我们之前学习的转换算子是无法访问事件的时间戳信息和水位线信息的。而这在一些应用场景下,极为重要。例如 MapFunction 这样的 map 转换算子就无法访问时间戳或者当前事件的事件时间。基于此, DataStream API 提供了一系列的 Low-Level 转换算子。可以访问时间 戳、watermark 以及注册定时事件。还可以输出特定的一些事件,例如超时事件等。Process Function 用来构建事件驱动的应用以及实现自定义的业务逻辑原创 2022-03-16 17:11:43 · 341 阅读 · 0 评论 -
Flink 流处理API
Flink 流处理APIEnvironmentgetExecutionEnvironment创建一个执行环境,表示当前执行程序的上下文。 如果程序是独立调用的,则此方法返回本地执行环境;如果从命令行客户端调用程序以提交到集群,则此方法返回此集群的执行环境,也就是说, getExecutionEnvironment 会根据查询运行的方式决定返回什么样的运行环境,是最常用的一种创建执行环境的方式。ExecutionEnvironment env = ExecutionEnvironment.getEx原创 2022-03-10 15:27:03 · 2799 阅读 · 0 评论 -
Flink 部署
Flink 部署下载:https://archive.apache.org/dist/flink/flink-1.10.1/Standalone 模式解压缩 flink-1.10.1-bin-scala_2.12.tgz,进入 conf 目录中。修改 flink/conf/flink-conf.yamljobmanager.rpc.address: hadoop101修改 /conf/slaves 文件hadoop102hadoop103分发给另外两台机子xsync flink/原创 2022-03-09 16:03:48 · 477 阅读 · 0 评论 -
Flink 快速上手
Flink 快速上手1搭建 maven 工程 FlinkTutorialpom 文件<dependencies> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId> <version>1.10.1</version> </dependency> <depe原创 2022-03-08 17:35:21 · 1711 阅读 · 0 评论 -
Flink CEP 简介
Flink CEP 简介什么是 CEP• 复杂事件处理(Complex Event Processing,CEP)• Flink CEP是在 Flink 中实现的复杂事件处理(CEP)库• CEP 允许在无休止的事件流中检测事件模式,让我们有机会掌握数据中重要的部分• 一个或多个由简单事件构成的事件流通过一定的规则匹配,然后输出用户想得到的数据 —— 满足规则的复杂事件CEP 的特点• 目标:从有序的简单事件流中发现一些高阶特征• 输入:一个或多个由简单事件构成的事件流• 处理:识别简单原创 2022-03-08 14:57:21 · 291 阅读 · 0 评论 -
Table API 和 Flink SQL
Table API 和 Flink SQLTable API 和 Flink SQL 是什么• Flink 对批处理和流处理,提供了统一的上层 API• Table API 是一套内嵌在 Java 和 Scala 语言中的查询API,它允许以非常直观的方式组合来自一些关系运算符的查询• Flink 的 SQL 支持基于实现了 SQL 标准的 Apache Calcite基本程序结构• Table API 和 SQL 的程序结构,与流式处理的程序结构十分类似StreamTableEnviron原创 2022-03-08 14:50:35 · 239 阅读 · 0 评论 -
Flink 的状态一致性
Flink 的状态一致性什么是状态一致性• 有状态的流处理,内部每个算子任务都可以有自己的状态• 对于流处理器内部来说,所谓的状态一致性,其实就是我们所说的计算结果要保证准确。• 一条数据不应该丢失,也不应该重复计算• 在遇到故障时可以恢复状态,恢复以后的重新计算,结果应该也是完全正确的。状态一致性分类• AT-MOST-ONCE(最多一次)➢ 当任务故障时,最简单的做法是什么都不干,既不恢复丢失的状态,也不重播丢失的数据。At-most-once 语义的含义是最多处理一次事件。• A原创 2022-03-08 14:05:35 · 133 阅读 · 0 评论 -
Flink 的容错机制
Flink 的容错机制一致性检查点(Checkpoints)• Flink 故障恢复机制的核心,就是应用状态的一致性检查点• 有状态流应用的一致检查点,其实就是所有任务的状态,在某个时间点的一份拷贝(一份快照);这个时间点,应该是所有任务都恰好处理完一个相同的输入数据的时候从检查点恢复状态• 在执行流应用程序期间,Flink 会定期保存状态的一致检查点• 如果发生故障, Flink 将会使用最近的检查点来一致恢复应用程序的状态,并重新启动处理流程• 遇到故障之后,第一步就是重启应用•原创 2022-03-08 13:57:12 · 136 阅读 · 0 评论 -
Flink 状态管理
Flink 状态管理Flink 中的状态• 由一个任务维护,并且用来计算某个结果的所有数据,都属于这个任务的状态• 可以认为状态就是一个本地变量,可以被任务的业务逻辑访问• Flink 会进行状态管理,包括状态一致性、故障处理以及高效存储和访问,以便开发人员可以专注于应用程序的逻辑• 在 Flink 中,状态始终与特定算子相关联• 为了使运行时的 Flink 了解算子的状态,算子需要预先注册其状态➢ 总的说来,有两种类型的状态:• 算子状态(Operator State)• 算子状态的作原创 2022-03-08 13:51:42 · 698 阅读 · 0 评论 -
Flink 中的时间语义和watermark
Flink 中的时间语义和watermark时间(Time)语义• Event Time:事件创建的时间• Ingestion Time:数据进入Flink的时间• Processing Time:执行操作算子的本地系统时间,与机器相关哪种时间语义更重要• 不同的时间语义有不同的应用场合• 我们往往更关心事件时间(Event Time)• 某些应用场合,不应该使用 Processing Time• Event Time 可以从日志数据的时间戳(timestamp)中提取➢ 2017原创 2022-03-06 17:29:18 · 83 阅读 · 0 评论 -
Flink window API
Flink window API窗口(window)• 一般真实的流都是无界的,怎样处理无界的数据?• 可以把无限的数据流进行切分,得到有限的数据集进行处理 —— 也就是得到有界流• 窗口(window)就是将无限流切割为有限流的一种方式,它会将流数据分发到有限大小的桶(bucket)中进行分析window 类型• 时间窗口(Time Window)➢ 滚动时间窗口➢ 滑动时间窗口➢ 会话窗口• 计数窗口(Count Window)➢ 滚动计数窗口➢ 滑动计数窗口滚动窗口(Tum原创 2022-03-06 14:43:06 · 97 阅读 · 0 评论 -
Flink 运行架构
Flink 运行架构Flink 运行时的组件作业管理器(JobManager)• 控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的JobManager 所控制执行。• JobManager 会先接收到要执行的应用程序,这个应用程序会包括:作业图(JobGraph)、逻辑数据流图(logical dataflow graph)和打包了所有的类、库和其它资源的JAR包。• JobManager 会把JobGraph转换成一个物理层面的数据流图,这个图被叫做“执行图”(Execut原创 2022-03-06 14:26:41 · 120 阅读 · 0 评论 -
Flink简介
Flink简介Flink 是什么• Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded datastreams.• Apache Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行状态计算。为什么选择 Flink• 流数据更真实地反映了我们的生活方式• 传统的数据架构是基于有限数据集的• 我们的目标原创 2022-03-03 20:35:42 · 144 阅读 · 0 评论