![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flink
文章平均质量分 86
青龙悟空
goooooooooooooooooooo
展开
-
Flink DataSet DataStream API
现状 在前面的课程中,曾经提到过,Flink 很重要的一个特点是“流批一体”,然而事实上 Flink 并没有完全做到所谓的“流批一体”,即编写一套代码,可以同时支持流式计算场景和批量计算的场景。目前截止 1.10 版本依然采用了 DataSet 和 DataStream 两套 API 来适配不同的应用场景。 DateSet 和 DataStream 的区别和联系 在官网或者其他网站上,都可以找到目前 Flink 支持两套 API 和一些应用场景,但大都缺少了“为什么”这样的思考。 Apache Flin原创 2021-01-28 23:28:27 · 120 阅读 · 0 评论 -
Flink 状态管理
什么是状态(State) 有些任务的结果不仅仅依赖于当前的输入,也依赖于之前的输入结果信息,因此对中间结果状态等的保存就很有必要。 在Flink中,我们可以这样理解State:某task/operator在某时刻的一个中间结果。 状态类型 Flink提供了丰富的状态访问接口和高效的容错机制,当前Flink中有两个基本的state:Keyed state和 Operator state。 1. Keyed state是基于KeyedStream上的状态,这个状态与特定的key绑定。原创 2021-01-28 23:07:32 · 143 阅读 · 0 评论 -
flink 常见算子
flink api常用操作算子 1.flink 中算子是将一个或多个DataStream转换为新的DataStream,可以将多个转换组合成复杂的数据流拓扑 2.在flink中有多种不同的DataStream类型,他们之间是通过使用各种算子进行的 3.在flink中使用scala语言开发,需要引用import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment import org.apache.flink.streaming.原创 2021-01-25 20:26:28 · 3554 阅读 · 0 评论 -
flink和spark的区别
1、spark无状态,flink有状态 spark本身是无状态的,所以我们可以把它看成一个rdd一个算子一个rdd的去处理,就是说可以看成分段处理。 但是flink是事件驱动型应用是一类具有状态的应用,我们要把它看成一个个event记录去处理,当遇到窗口时会进行阻塞等待,窗口的聚合操作是无状态的。过了窗口后DataStream的算子聚合操作就是有状态的操作了,所以flink要把聚合操作都放到窗口操作之前,才能进行无状态的聚合操作。而spark全程都是无状态的,所以在哪聚合都可以。 2、窗口的概念 W原创 2020-12-22 16:46:12 · 6848 阅读 · 0 评论