![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flink
文章平均质量分 56
k_wzzc
wzzc
展开
-
flink多流结合的方式
flink多流结合的方式1. join:可以连接两个不同类型的数据流;将两个流相同key的数据分配到同一个窗口的篮子中;窗口结束时,两个篮子的数据会做笛卡尔积计算,形成一个pair,然后对pair数据进行joinFunction的操作;因为window的数据都是在内存中,所以,当某个key对应的数据很大的时候可能造成OOM。// Join 操作侧重于对数据对的处理 val joined: JoinedStreams[(String, Int), (String, String)] = stre原创 2020-10-30 22:53:22 · 1712 阅读 · 0 评论 -
Flink初体验 -- Word Count
Flink初体验 – Word Countobject WordCount { def main(args: Array[String]): Unit = { /** * flink 的运行模型 * 1.DataSource * 2.Transformation * 3.DataSink */ // 获取环境,类...原创 2019-05-31 23:34:21 · 195 阅读 · 0 评论 -
Flink实现高斯朴素贝叶斯
Flink实现高斯朴素贝叶斯在之前的文章中提到了多项式的朴素贝叶斯,在spark的ML里也实现了多项式的朴素贝叶斯和伯努利朴素贝叶斯,在实际情况当中我们处理的变量除了离散型,还有连续型。在对这类数据使用朴素贝叶斯的时候,我们通常会假定变量服从高斯分布。然后再进行概率计算。Flink代码实现在这里,使用的数据集是鸢尾花数据集// 创建一个鸢尾花数据类/** * Created by ...原创 2019-04-27 23:59:40 · 621 阅读 · 0 评论 -
flink自定义source与自定义sink
flink自定义source与自定义sink原创 2019-05-06 23:39:36 · 7193 阅读 · 2 评论 -
Flink:时间与窗口
Flink学习笔记:时间与窗口一 时间在flink中定义了三类时间:事件时间(Event Time):即事件实际发生的时间。处理时间(Processing Time):事件被处理的时间。进入时间(Ingestion Time):事件进入流处理框架的时间下图很好的说明了三种时间的区别与联系其中时间时间和处理时间是比较常用,根据应用程序的不同以及结果准确性要求可以定义不同的时间,...原创 2019-05-28 22:17:46 · 4722 阅读 · 2 评论 -
Flink 实践:侧输出
什么是侧输出在flink处理数据流时,我们经常会遇到这样的情况:在处理一个数据源时,往往需要将该源中的不同类型的数据做分割处理,如果使用 filter算子对数据源进行筛选分割的话,势必会造成数据流的多次复制,造成不必要的性能浪费;flink中的侧输出就是将数据流进行分割,而不对流进行复制的一种分流机制。flink的侧输出的另一个作用就是对延时迟到的数据进行处理,这样就可以不必丢弃迟到的数据。侧...原创 2019-06-14 23:09:23 · 5616 阅读 · 0 评论 -
Flink SQL 自定义UDAF
Flink SQL 自定义UDAF创建一个数据源class udafSource extends RichSourceFunction[Double] { override def run(ctx: SourceFunction.SourceContext[Double]) = { while (true) { val d = scala.math.random...原创 2019-07-08 00:12:09 · 3302 阅读 · 1 评论 -
Flink Keyed State实践:实现蒙特卡洛模拟求Pi
flink中的状态分为两类:Keyed State、Operator State;Keyed State是只能定义在KeyedStream的状态, 每一类状态都有 Managed State和Raw state两种托管方式;flink中内置了以下几种托管的状态:ValueState<T>:单值状态ListState<T>:多值状态ReducingState<T...原创 2019-06-28 22:45:34 · 461 阅读 · 0 评论 -
Flink实践: 异步IO
1.为什么需要异步IOflink在做实时处理时,有时候需要和外部数据交互,但是通常情况下这个交互过程是同步的,这样就会产生大量的等待时间;而异步操作可以在单个函数实例中同时处理多个请求,并且同时接收相应。这样等待时间就平均分摊到了多个请求上,大大减少了请求的等待时长,可以提高实时处理的吞吐量。2.使用flink异步IO的先决条件需要所连接的数据库支持异步客户端在没有异步客户端的情况下,...原创 2019-08-14 23:15:36 · 1019 阅读 · 0 评论