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