
Flink
文章平均质量分 82
Flink基础知识整理
金州饿霸
这个作者很懒,什么都没留下…
展开
-
Flink SQL维表JOIN与异步优化
使用 JOIN 当前维表功能需要注意的是,如果维表插入了一条数据能匹配上之前左表的数据时,JOIN的结果流,不会发出更新的数据以弥补之前的未匹配。在使用维表 JOIN 时,如果维表数据不大,或者 miss key (维表中不存在的 key)非常多,则可以使用 ALL cache,但是可能需要适当调大节点的内存,因为内存需要能同时容纳下两份维表拷贝。的关键字,其含义是每条到达的数据所关联上的是到达时刻的维表快照,也就是说,当数据到达时,我们会根据数据上的 key 去查询远程数据库,拿到匹配的结果后关联输出。原创 2025-04-02 13:50:56 · 1028 阅读 · 0 评论 -
(九)状态管理
Flink的状态有两种:托管状态(Managed State)和原始状态(Raw State)。托管状态就是由Flink统一管理的,状态的存储访问、故障恢复和重组等一系列问题都由Flink实现,我们只要调接口就可以;而原始状态则是自定义的,相当于就是开辟了一块内存,需要我们自己管理,实现状态的序列化和故障恢复。通常我们采用Flink托管状态来实现需求。原创 2025-02-08 14:50:11 · 753 阅读 · 0 评论 -
(八)处理函数
可以明显看出,这里的参数不再是一个输入数据,而是窗口中所有数据的集合。原创 2025-02-07 16:43:41 · 981 阅读 · 0 评论 -
(七)Flink中的时间和窗口
1.4.1 时间窗口1.4.2 计数窗口1.5.1 增量聚合函数(ReduceFunction / AggregateFunction)1.5.2 全窗口函数(full window functions)1.5.3 增量聚合和全窗口函数的结合使用原创 2025-01-23 17:42:52 · 1028 阅读 · 0 评论 -
(六)DataStream API
DataStream API是Flink的核心层API。一个Flink程序,其实就是对DataStream的各种转换。原创 2025-01-23 14:27:14 · 1046 阅读 · 0 评论 -
(五)Flink运行时架构
很显然,TaskManager的计算资源是有限的,并行的任务越多,每个线程的资源就会越少。一个数据流在算子之间传输数据的形式可以是一对一(one-to-one)的直通(forwarding)模式,也可以是打乱的重分区(redistributing)模式,具体是哪一种形式,取决于算子的种类。在Flink执行过程中,每一个算子(operator)可以包含一个或多个子任务(operator subtask),这些子任务在不同的线程、不同的物理机或不同的容器中完全独立地执行。在这种模式下,数据流的分区会发生改变。原创 2025-01-23 12:00:23 · 1314 阅读 · 0 评论 -
(四)Flink 运行模式
运行Flinkjob的集群一旦停止,只能去yarn或本地磁盘上查看日志,不再可以查看作业挂掉之前的运行的WebUI,很难清楚知道作业在挂的那一刻到底发生了什么。客户端可以自行确定JobManager的地址,也可以通过-m或者-jobmanager参数指定JobManager的地址,JobManager的地址在YARNSession的启动页面中可以找到。在YARN环境中,由于有了外部平台做资源调度,所以我们也可以直接向YARN提交一个单独的作业,从而启动一个Flink集群。原创 2025-01-17 17:48:37 · 1011 阅读 · 0 评论 -
(三)Flink部署
打包完成后,在target目录下即可找到所需JAR包,JAR包会有两个,FlinkTutorial-1.0-SNAPSHOT.jar和FlinkTutorial-1.0-SNAPSHOT-jar-with-dependencies.jar,因为集群中已经具备任务运行所需的所有依赖,所以。(1)任务打包完成后,我们打开Flink的WEBUI页面,在右侧导航栏点击“SubmitNewJob”,然后点击按钮“+AddNew”,选择要上传运行的JAR包,如下图所示。原创 2025-01-17 17:38:26 · 705 阅读 · 0 评论 -
Ncat: bind to :::7777: Address already in use报错问题解决
【代码】Ncat: bind to :::7777: Address already in use报错问题解决。原创 2025-01-17 15:25:54 · 438 阅读 · 0 评论 -
(二)Flink快速上手-WordCount代码编写
的存在,在某些特殊情况下(比如Lambda表达式中),自动提取的信息是不够精细的——只告诉Flink当前的元素由“船头、船身、船尾”构成,根本无法重建出“大船”的模样;需要注意的是,这种代码的实现方式,是基于DataSet API的,也就是我们对数据的处理转换,是看作数据集来进行操作的。对于Flink而言,流才是整个处理逻辑的底层核心,所以流批统一之后的DataStream API更加强大,可以直接处理批处理和流处理的所有场景。下面我们就针对不同类型的输入数据源,用具体的代码来实现流处理。原创 2025-01-16 16:21:06 · 999 阅读 · 0 评论 -
(一)Flink概述
表 Flink 和 Streaming对比。少、不灵活(窗口必须是批次的整数倍)原创 2025-01-16 15:24:26 · 504 阅读 · 0 评论 -
Flink报错java.lang.IllegalStateException: No ExecutorFactory found to execute the application
【代码】Flink报错java.lang.IllegalStateException: No ExecutorFactory found to execute the application。原创 2025-01-16 14:57:13 · 468 阅读 · 0 评论 -
Flink链接Kafka
二、基于 Flink 的 Kafka 消息消费者设置 Flink 执行环境:启用检查点机制:配置 Kafka 属性:创建 Kafka 消费者:将 Kafka 消费者添加到 Flink 数据流:启动 Flink 作业:2.2 消费多个Topic 设置 Flink 执行环境:启用检查点机制:配置 Kafka 属性:定义 Kafka Topic 列表:创建 Kafka 消费者:将 Kafka 消费者添加到 Flink 数据流:启动 Flink 作业:2.3 消费Topic的总体代码2.原创 2025-01-15 11:56:42 · 1347 阅读 · 0 评论