wending-Y
这个作者很懒,什么都没留下…
展开
-
flink join的分类
flink join的分类原创 2024-03-21 21:11:49 · 123 阅读 · 0 评论 -
flink自定义函数如何从崩溃中恢复数据
flink自定义函数如何从崩溃中恢复数据原创 2024-03-21 21:00:43 · 217 阅读 · 0 评论 -
Flink 面试题总结及答案
即使状态数据存储在 RocksDB 中,检查点的元数据和可能的状态快照(如增量快照)仍然需要被保存到文件系统中。这样,无论作业的状态数据存储在哪里,检查点数据都可以从这个目录中恢复。:配置检查点目录为 Flink 提供了一个统一的配置点,无论使用哪种状态后端,都可以在同一个配置文件中指定检查点的存储位置。:使用 RocksDB 作为状态后端可以有效地管理状态数据的内存,避免了因为状态数据过大导致内存不足的问题。对于处理大量数据和需要快速访问状态的应用场景,RocksDB 提供了比内存状态后端更好的性能。原创 2024-03-04 22:26:50 · 468 阅读 · 0 评论 -
flink k8s HA 报ClusterRetrieveException: Could not get the rest endpoint
从源码中可以看到实现上的jobmanager 这个svc要以flink-cluster-rest 来命名才能解析到jobmanager地址。我是在用flink sql-client 提交任务发现的这个问题。原创 2023-04-25 19:12:29 · 394 阅读 · 1 评论 -
火焰图分析Flink反压
火焰图分析flink 反压原创 2022-07-23 21:33:00 · 1944 阅读 · 0 评论 -
Flink 批作业 消费kafka
flink 批量消费kafka数据原创 2022-07-06 23:38:10 · 981 阅读 · 0 评论 -
flink taskmanager metaspace OOM
文章目录现象背景知识MetaSpace分析微服务计算场景代码分析步骤1步骤2步骤3步骤4步骤5总结其它现象flink 程序打成jar多次提交后,有taskmanager 节点挂掉,这个现象而且经过多次试验后发现是必现,日志如下The metaspace out-of-memory error has occurred. This can mean two things: either Flink Master requires jobmanager.memory.jvm-metaspace.size原创 2022-04-05 19:38:53 · 3174 阅读 · 1 评论 -
Flink 会话窗口&全局窗口的实践
会话窗口会话窗口,没有固定的窗口开始时间和结束时间,只有一个固定的会话间隔,如果超过此gap没有数据的话,会触发此窗口的输出全局窗口全局窗口是程序开始一直都存在的窗口,必须定义窗口的触发器,不然程序不知道什么时间输出。这里有值得注意的是,窗口没有数据了,程序也会继续输出。示例代码StreamExecutionEnvironment executionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment(原创 2021-10-13 19:43:16 · 857 阅读 · 0 评论 -
Flink 连续窗口的实践
连续窗口连续窗口就是多个窗口相连,后面窗口的范围与前面窗口的范围是相互独立的示例windowAll窗口对前面的窗口产生的数据进行排序public static void main(String[] args) { StreamExecutionEnvironment executionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment(); executionEnvironme原创 2021-10-12 22:41:36 · 387 阅读 · 0 评论 -
Flink 编译问题汇总
源码编译问题汇总原创 2021-09-25 21:09:10 · 145 阅读 · 0 评论 -
Flink MapState的实践
State通过用来保存中间状态public class TestWindows extends RichWindowFunction<Long, Long, Long, Window> { private MapState<Long, Double> mapState = null; @Override public void open(Configuration parameters) throws Exception { //原创 2021-09-05 22:47:27 · 607 阅读 · 0 评论 -
Flink窗口同时输出最大和最小值
文章目录示例示例 StreamExecutionEnvironment executionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment(); executionEnvironment.setParallelism(1); User user = new User("assssss", "b", 2); User user1 = new User("assssss", "b原创 2021-08-01 10:43:38 · 670 阅读 · 0 评论 -
Flink 广播流最佳实践
文章目录广播流与普通流JOIN图解代码实践广播流与普通流JOIN图解user actions 可以看作是事件流patterns 为广播流,把全量数据加载到不同的计算节点普通双流join根据join 条件,根据key的发到同一个计算节点,如下图类似代码实践主要功能,实现动态添加监控词,满足条件数据继续向下流转,不满足条件的,直接丢弃主类 StreamExecutionEnv...原创 2019-08-23 19:16:34 · 6557 阅读 · 0 评论 -
Flink State实战,写入查询
Statestate是实现flink一次性语义的核心,在1.9之后增加了API来读取state写Stateimport org.apache.flink.api.common.state.ListState;import org.apache.flink.api.common.state.ListStateDescriptor;import org.apache.flink.api.common.typeinfo.Types;import org.apache.flink.api.java.Da原创 2020-06-22 23:48:21 · 438 阅读 · 0 评论 -
Flink源码-11-Source实现
Source从源码中学习例子Kafka实现类结构RMQ实现从上面两个实现来看,主要实现了以下接口SourceFunction source接口RichFunction 取到上下文的一些信息CheckpointedFunction 完成checkpoint功能CheckpointListener checkpoint监听器自定义Source实现这上面的几个接口public class TestSourceFuncitonn implements SourceFunction原创 2020-06-10 21:47:01 · 328 阅读 · 0 评论 -
Flink源码-10-CheckPoint实现
CheckPointCheckPoint 是实现一次性语义的核心,接下来我们看一下如何实现CheckpointCoordinatorcheckpoint协调器单线程,固定周期去触发checkpointprivate ScheduledFuture<?> scheduleTriggerWithDelay(long initDelay) { return timer.scheduleAtFixedRate( new ScheduledTrigger(), in原创 2020-06-10 21:07:15 · 272 阅读 · 0 评论 -
Flink源码-9-Flink sql翻译Job及优化
翻译过程参考文档sqlparservalidate优化器规则优化codegenSQLAST抽象语法树表示用SqlNode逻辑树RelNode逻辑树RelNode物理执行计划Flink算子示例SQLSELECT *FROM ( ( SELECT * FROM OrderA WHERE user < 3 ) UNION ALL ( SELECT * FROM OrderB WHERE prod原创 2020-06-09 23:44:48 · 343 阅读 · 0 评论 -
Flink源码-8-JobVertex生成JobGraph
JobGraph通常是由DataStream生成的,然后转换生成的JobGraph我们可以直接JobVertex--------->JobGraph 来深入理解这个过程JobVertex //生成一个顶点 final JobVertex sender = new JobVertex("Sender"); sender.setParallelism(parallelism); //设置反射类 sender.setInvokableClass(TestingAbstra原创 2020-06-09 22:45:57 · 505 阅读 · 0 评论 -
Flink源码-7-Scheduler
代码示例public class WorldCount { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); //所以算子的并行度为1 //方便调试 env.setParallelism(1)原创 2020-06-08 20:54:12 · 318 阅读 · 0 评论 -
Flink源码-6-JobMaster 启动任务
JobMasterjobmaster负责执行整个任务入口类org.apache.flink.runtime.jobmaster.JobMasterpublic CompletableFuture<Acknowledge> start(final JobMasterId newJobMasterId) throws Exception { // make sure we receive RPC and async calls start(); return callAsync原创 2020-05-17 19:43:58 · 736 阅读 · 0 评论 -
Flink源码-5-dispatcher,jobmanager,jobmaster关系
模式在yarn-session模式下,共享一个dispatcherorg.apache.flink.runtime.dispatcher.Dispatcher 这个类,这里接收到客户端传上来的作业图代码分析 //这里就是分发器接收到作业图 @Override public CompletableFuture<Acknowledge> submitJob(JobGraph jobGraph, Time timeout) { log.info("Received JobGraph s原创 2020-05-17 17:06:29 · 1130 阅读 · 1 评论 -
Flink源码-4-task执行
执行flink 作业的最小执行单元是task示例public class WorldCount { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(1); Dat原创 2020-05-16 22:23:07 · 392 阅读 · 0 评论 -
Flink源码-3-作业数据结构
大图示例代码public class WorldCount { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); ...原创 2020-05-06 23:52:50 · 257 阅读 · 0 评论 -
Flink源码-2-Flink提交任务分析
代码示例public class WorldCount { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); D...原创 2020-05-05 18:39:45 · 423 阅读 · 0 评论 -
Flink系列-1-Flink在yarn上启动源码分析
源码准备git clone https://github.com/apache/flink.git部署Flink在yarn可参考 https://blog.csdn.net/qq_22222499/article/details/95519743流程图分析入口类org.apache.flink.yarn.cli.FlinkYarnSessionCli开启部署clusterClie...原创 2020-05-05 16:10:05 · 557 阅读 · 0 评论 -
Flink on yarn 实践
目录环境配置启动常见报错参考资料环境配置yarn环境可用flink-shaded-hadoop-2-uber-2.7.5-7.0.jar 复制到lib目录下启动Flink启动直接提交到yarn上 启动命令bin/flink run -m yarn-cluster xx.jar // -c 可以指定启动类另一种方式在yarn上开辟一个空间,然后在提交这种任务,可以...原创 2019-07-11 21:00:51 · 452 阅读 · 0 评论 -
Flink Checkpoints & Savepoint 最佳实践
文章目录基本概念代码实践测试恢复总结基本概念Flink 中很重要的一点就是能够保持任务的状态,这样任务失败了,会根据上一次的结果重试,保证数据只被计算一次实现原理,就是每隔一点时间对计算状态作一个镜像,这个状态称为Checkpointssavepoint 主要是人为的触发,保存这个任务的计算状态 ,两个作用都是一样的代码实践/** * Created by shuiyu lei...原创 2019-07-11 21:45:40 · 524 阅读 · 1 评论 -
Influxdb+Grafana打造Flink监控大盘
Influxdb+Grafana打造Flink监控大盘Influxdb安装Grafana安装Flink配置Grafana配置报表Influxdb安装为什么选influxdb,每条记录都有一个时间戳,很适合这种统计的场景,当然还有其它原因安装参考文档注意事项 ,如果要在界面打开查询界面需修改配置 /etc/influxdb/influxdb.conf[admin] # Deter...原创 2019-07-07 18:07:54 · 4998 阅读 · 1 评论 -
Flink 调试watermark & allowedLateness
调试watermark & allowedLateness基本概念能明白什么开始调试总结基本概念watermark 主要是为了解决数据乱序到达的问题allowed 解决窗口触发后数据迟到后的问题能明白什么窗口的范围窗口的触发条件窗口的销毁时间迟到元素的处理方式watermark的生成方式开始调试代码准备 Flinkpackage com.wend...原创 2019-07-07 17:05:56 · 1512 阅读 · 0 评论 -
Flink 异步IO
Flink 异步IO在flink我们经常需要与外部系统打交道,由于外部系统的问题,可能导致时间耗时比较长,为了不影响flink的处理性能,flink引入了异步IO来处理这个问题实现需要 extends RichAsyncFunction<IN, OUT>分析AsyncDataStream 有两个重要的方法返回的结果可能是乱序的public static <IN...原创 2019-06-16 14:36:29 · 1251 阅读 · 0 评论 -
Flink写Mysql JDBCOutputFormat
Flink写MysqlFlink 自带了JDBCOutputFormat来写入Mysql FlinkKafkaConsumer011<String> consumer011 = new FlinkKafkaConsumer011<String>("flink_order", new SimpleStringSchema(), props); DataS...原创 2019-06-13 16:12:47 · 4374 阅读 · 4 评论 -
mac 安装flink
mac 命令行brew install apache-flink 启动命令在/usr/local/Cellar/apache-flink/1.7.2/libexec start-cluster.sh 访问端口8081 这样就可以本地测试了原创 2019-04-07 20:23:18 · 809 阅读 · 0 评论 -
Flink重要概念
无状态计算:对于一条数据处理后,就输出了,没有保存状态 有状态计算:对于一条数据处理后,更新已有的状态,这里给一个例子,比如计算一个小时内的温度的最高值,在处理数据过程中根据处理的数据,不断更新当前的最大温度值 数据一致性的三个级别: at least one 数据可能计多 数据一致性的三个级别: at monst one 数据可能计少 数据一致性的三个级别: exactly-one 数据...原创 2019-03-17 18:15:15 · 387 阅读 · 0 评论 -
Flink wordcount
1.pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocatio...原创 2019-02-14 01:12:41 · 392 阅读 · 0 评论 -
Flink安装
Flink下载 下载地址 以下操作在服务器上操作,前置环境安装JDK tar -zxvf 文件 启动 bin/start-cluster.sh ,查看web端口8081 执行demo任务 bin/flink run ./examples/batch/WordCount.jar 在web界面可以看到任务运行的界面 ...原创 2019-01-12 00:52:45 · 404 阅读 · 0 评论