
flink
柏舟飞流
山野村夫,少求学于江城,一无所长,性沉闷,好编码自娱.
展开
-
Flink DataStream API编程
消费Kafkaimport org.apache.flink.api.common.eventtime.WatermarkStrategy;import org.apache.flink.api.common.serialization.SimpleStringSchema;import org.apache.flink.connector.kafka.source.KafkaSource;import org.apache.flink.connector.kafka.source.enumer原创 2022-03-29 15:44:11 · 3688 阅读 · 0 评论 -
Flink的ValueState接口
根据Flink官方介绍,org.apache.flink.api.common.state.ValueState是一个封装类,类似于java标准库中的AtomicReference和AtomicLong。以下是ValueState的源码,不难看出,它是一个接口,并且继承了一个名为State的接口。/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreemen原创 2021-02-23 11:45:42 · 834 阅读 · 0 评论 -
Flink DataStream支持的物理分组方式
KeyBy上游算子按键分组发送给下游算子global上游算子将所有记录发送到下游算子的第一个实例broadcast上游算子将每条记录广播发送给下游算子的所有实例forward仅适用于上游算子实例数与下游算子数相同时的情况:每个上游算子实例将记录发送给下游算子对应的实例shuffle上游算子随机选择一个下游算子发送记录rebalance上游算子通过轮询的方式发送数据rescale假设上游和下游算子的实例数分别为n和m,若n < m,则每个上游实例向ceil(m/n)原创 2021-02-24 11:13:53 · 506 阅读 · 0 评论 -
Flink1.12 使用WatermarkStrategy生成时间戳
Flink1.12版本后建议使用assignTimestampsAndWatermarks(WatermarkStrategy)的方式生成watermark,之前使用的assignTimestampsAndWatermarks(AssignerWithPunctuatedWatermarks)以及assignTimestampsAndWatermarks(timestampAndWatermarkAssigner)均不再被推荐使用,这里是根据官网给出的小例子,仅供参考:package demo;i原创 2021-03-05 11:21:46 · 5481 阅读 · 0 评论 -
Flink1.12使用KeyedProcessFunction实现温度监控(案例一)
最近在哔站学习武老师Flink的教程,受益匪浅。其中关于Flink的一些案例,非常有意思,故记录下来。分享给感兴趣的朋友。本次案例的场景是:假设有n个传感器,其温度值被记录下并灌到Kafka的主题里。我们需要读取这些数据并分析之,在10s内如果该温度值持续上升,则抛出警告信息。实现方式:因为要在“指定时间内”温度“持续上升”,需要获取上下文状态,且需包含一个定时器的功能去指定一段时间,因此考虑到使用ProcessFunction,而因为要对n个传感器进行分组处理,所以考虑使用KeyedProc.原创 2021-03-16 17:01:03 · 1959 阅读 · 1 评论 -
Flink Table API & SQL 编程
Kafka Table & SQL连接Kafka读写数据的样例代码:首先是依赖,maven项目中需指定: <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-scala_2.11</artifactId> <version>1.12.0原创 2021-03-19 12:37:55 · 1065 阅读 · 0 评论 -
使用Flink读取HBase数据
2021-05-27 23:24:12.296 ERROR 11668 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoSuchFi.原创 2021-09-02 22:46:17 · 4408 阅读 · 4 评论 -
Flink下沉数据到Redis的两种方式
这里使用Flink的DataStream API,数据源则是通过消费Kafka的主题。因此,maven工程中的依赖必须包括:<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</artifactId> <version>${flink.version}</version&g...原创 2021-09-02 22:19:29 · 797 阅读 · 0 评论 -
Flink执行图
StreamGraph在Client上生成最初的程序执行逻辑流程,也就是算子之间的前后顺序原创 2021-06-02 23:07:26 · 289 阅读 · 2 评论 -
IDEA运行Flink程序找不到ExecutorFactory
报错信息:Exception in thread "main" java.lang.IllegalStateException: No ExecutorFactory found to execute the application.原因:根据发布记录的描述,flink 1.11.0之后,flink-streaming-java模块不再依赖flink-clients,因此在Idea中运行flink程序时,应显式添加flink-clients模块依赖包。处理办法:pom.xml文件中引原创 2021-05-24 22:09:29 · 552 阅读 · 0 评论