- 博客(11)
- 收藏
- 关注
原创 6.3.5 窗口函数(Window Functions)
定义了窗口分配器,我们只是知道了数据属于哪个窗口,可以将数据收集起来了;至于收集起来到底要做什么,其实还完全没有头绪。所以在窗口分配器之后,必须再接上一个定义窗口如何进行计算的操作,这就是所谓的“窗口函数”(window functions)。经窗口分配器处理之后,数据可以分配到对应的窗口中,而数据流经过转换得到的数据类型是 WindowedStream。这个类型并不是 DataStream,所以并不能直接进行其他转换,而必须。
2024-01-29 19:56:40
1135
1
原创 窗口 API 概览
定义窗口分配器(Window Assigners)是构建窗口算子的第一步,它的作用就是定义数据应该被“分配”到哪个窗口。而窗口分配数据的规则,其实就对应着不同的窗口类型。所以可以说,窗口分配器其实就是在指定窗口的类型。窗口分配器最通用的定义方式,就是调用 window()方法。这个方法需要传入一个WindowAssigner 作为参数,返回 WindowedStream。如果是非按键分区窗口,那么直接调用。
2024-01-26 20:10:57
1078
1
原创 【无标题】窗口的分类
在Flink中,窗口的应用非常灵活,我们可以使用各种不同类型的窗口来实现需求。接下来我们就从不同的角度,对Flink中内置的窗口做一个分类说明。
2024-01-25 20:00:26
969
原创 时间语义之水位线(Watermask)
在事件时间语义下,我们不依赖系统时间,而是基于数据自带的时间戳去定义了一个时钟,用来表示当前时间的进展。于是每个并行子任务都会有一个自己的逻辑时钟,它的前进是靠数据的时间戳来驱动的。我们可以把时钟也以数据的形式传递出去,告诉下游任务当前时间的进展;而且这个时钟的传递不会因为窗口聚合之类的运算而停滞。一种简单的想法是,在数据流中加入一个时钟标记,记录当前的事件时间;这个标记可以直接广播到下游,当下游任务收到这个标记,就可以更新自己的时钟了。
2024-01-24 20:46:35
967
原创 时间语义介绍
在流数据处理应用中,一个很重要、也很常见的操作就是窗口计算。所谓的“窗口”,一般就是划定的一段时间范围,也就是“时间窗”;对在这范围内的数据进行处理,就是所谓的窗口计算。所以窗口和时间往往是分不开的。
2024-01-23 20:58:45
428
原创 Datastream输出算子
Flink 的 DataStream API 专门提供了向外部写入数据的方法:addSink。与 addSource类似,addSink 方法对应着一个“Sink”算子,主要就是用来实现与外部系统连接、并将数据提交写入的;Flink程序中所有对外的输出操作,一般都是利用Sink算子完成的。与Source 算子非常类似,除去一些Flink预实现的Sink,一般情况下Sink算子的创建是通过调用DataStream的addSink()方法实现的。
2024-01-22 17:20:37
843
原创 Redis介绍和安装(基础篇)
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:【1】Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。【2】Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。【3】Redis支持数据的备份,即master-slave模式的数据备份。
2024-01-19 16:47:22
960
1
原创 用户自定义函数(UDF)
Flink的DataStream API编程风格其实是一致的:基本上都是基于DataStream调用一个方法,表示要做一个转换操作;方法需要传入一个参数,这个参数都是需要实现一个接口。这些接口有一个共同特点:全部都以算子操作名称 + Function命名,例如源算子需要实现SourceFunction接口,map算子需要实现MapFunction接口,reduce()算子需要实现ReduceFunction接口。我们不仅可以通过自定义函数类或者匿名类来实现接口,也可以直接传。
2024-01-18 20:15:35
1324
1
原创 Flink核心API之DataStream(基础常用算子)
(一)Flink核心APIFlink中提供了4种不同层次的API,每种API在简洁和易表达之间有自己的权衡,适用于不同的场景。目前上面3个会用得比较多。低级API(Stateful Stream Processing):提供了对时间和状态的细粒度控制,简洁性和易用性较差,主要应用在一些复杂事件处理逻辑上。核心API(DataStream/DataSet API):主要提供了针对流数据和批数据的处理,是对低级API进行了一。
2024-01-18 20:03:39
1283
1
原创 flink on yarn集群部署模式
介绍YARN 上部署的过程是:客户端把 Flink 应用提交给 Yarn 的ResourceManager, Yarn 的 ResourceManager 会向 Yarn 的 NodeManager 申请容器。在这些容器上,Flink 会部署JobManager 和 TaskManager 的实例,从而启动集群。Flink 会根据运行在 JobManger 上的作业所需要的 Slot 数量动态分配TaskManager 资源。集群部署模式分为1.会话模式2.单作业模式3.应用模式。
2024-01-17 19:54:56
1438
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人