
Flink学习笔记
Flink学习笔记
andyonlines
趁着热情还在,奋斗吧!
展开
-
flink 命令
./flink cancel 61f309083cb554d9a90f207b8c19d617 -s hdfs:///user/flink/cluster_yarn/savepointsbin/flink cancel -m 127.0.0.1:8081 -s /tmp/savepoint原创 2021-01-19 00:11:15 · 216 阅读 · 0 评论 -
flink配置
./bin/flink list 列出计划和正在运行的job./bin/flink list -s 列出预定job./bin/flink list -r 列出正在运行的job./bin/flink list -m yarn-cluster -yid -r 列出在YARN 中运行的job./bin/flink cancel 通过jobID取消job./bin/flink stop 通过jobID停止jobenv.log.dir: /var/log/flinkhigh原创 2021-01-18 23:55:32 · 388 阅读 · 0 评论 -
flink CDH
https://blog.youkuaiyun.com/qq_31454379/article/details/110440037?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242https://blog.youkuaiyun.com/m0_46919785/article/details/109204668?utm_medium=distribute.pc_relevant.none-task原创 2021-01-13 22:51:14 · 101 阅读 · 0 评论 -
flink 监控url
以下是可用请求的列表,并带有示例JSON响应。所有请求都是示例表格http://hostname:8082/jobs,我们在下面仅列出了URL的路径部分。尖括号中的值是变量,例如,http://hostname:port/jobs//exceptions必须要求为http://hostname:port/jobs/7684be6004e4e955c2a558a9bc463f65/exceptions。/config/jobs/overview/jobs//jobs//vertices/jobs/原创 2020-11-15 19:45:18 · 410 阅读 · 0 评论 -
十四 Flink table API
文章目录1 需要的依赖pom文件1.1 流程2 创建环境2.1 基于流处理执行环境,调 create 方法直接创建2.2 配置老版本的流式查询(Flink-Streaming-Query)2.3 基于老版本的批处理环境(Flink-Batch-Query)2.4 基于 blink 版本的流处理环境(Blink-Streaming-Query)2.5 基于 blink 版本的批处理环境(Blink-Batch-Query)2.6 案例3 在 Catalog 中注册表3.1 连接到文件系统(Csv 格式)3.2原创 2020-08-30 19:38:52 · 730 阅读 · 0 评论 -
十三 Flink CEP
文章目录1 概念2 使用2.1 pom文件2.2 使用2.3 Pattern API3 案例3.1 检测连续三次登录失败的事件3.2 订单超时检测1 概念一个或多个由简单事件构成的事件流通过一定的规则匹配,然后输出用户想得到的数据,满足规则的复杂事件。特征:• 目标:从有序的简单事件流中发现一些高阶特征• 输入:一个或多个由简单事件构成的事件流• 处理:识别简单事件之间的内在联系,多个符合一定规则的简单事件构成复杂事件• 输出:满足规则的复杂事件在这里插入图片描述2 使用2.1 pom原创 2020-08-25 23:33:30 · 163 阅读 · 0 评论 -
十二 状态
文章目录1 键控状态 (keyed state)1.1 ValueState 案例1.2 flatMapWithState 实现以上需求1.3 ListState1.4 使用连接的广播状态 (using connected broadcast state)2 算子状态(不做介绍)3 检查点4 保存点4.1 触发保存点4.2 取消job的同时触发保存点4.3 从保存点启动4.3 删除savepoint5 flink常用命令两种状态,键控状态 (keyed state) 和算子状态 (operator sta原创 2020-08-24 00:35:19 · 587 阅读 · 0 评论 -
十一 迟到数据的处理
文章目录1 可以更新窗口已经计算完的结果,并发出计算结果2 案例:1 可以更新窗口已经计算完的结果,并发出计算结果DataStream API 提供了三种策略来处理迟到元素:• 直接抛弃迟到的元素(event time window operator 的默认行为)• 将迟到的元素发送到另一条流中去(https://blog.youkuaiyun.com/andyonlines/article/details/108067446)• 可以更新窗口已经计算完的结果,并发出计算结果(我们现在要讲的)我们可以指定原创 2020-08-23 01:26:16 · 286 阅读 · 0 评论 -
十 Flink实现双流join
文章目录1 基于时间的双流join1.1 用法:1.2 案例2 基于窗口做双流join2.1 案例:3 使用connect 和 CoProcessFunction实现join1 基于时间的双流join基于间隔的 Join 会对两条流中拥有相同键值以及彼此之间时间戳不超过某一指定间隔的事件进行 Join。基于时间间隔的 Join 目前只支持事件时间以及 INNER JOIN 语义1.1 用法:input1.keyBy(...).between(<lower-bound>, <u原创 2020-08-22 21:59:08 · 8999 阅读 · 2 评论 -
九 flink Process Function
1 Process Function• ProcessFunction用在没有keyby 和 没有开窗的流上• KeyedProcessFunction用在keyby之后,非常常用• CoProcessFunction• ProcessJoinFunction• BroadcastProcessFunction• KeyedBroadcastProcessFunction上面四个我也没有用过• ProcessWindowFunction用在开窗之后• ProcessAllWindow原创 2020-08-18 00:20:23 · 308 阅读 · 0 评论 -
八 Flink 中的时间语义和watermark
文章目录1 时间(Time)语义2 在代码中设置 Event Time3 水位线3.1 水位线的概念3.1.1 乱序数据的影响3.1.2 水位线(Watermark)3.1.3 watermark 的特点3.1.4 watermark 的传递3.1.5 水位线计算公式3.1.6 watermark 的引入3.1.6.1 TimestampAssigner3.1.6.2 实例4 watermark 的设定1 时间(Time)语义Event Time:事件创建的时间Ingestion Time:数据进入原创 2020-08-10 00:00:25 · 471 阅读 · 0 评论 -
六 flink sink
文章目录1 kafka sink2 mysql sink3 redis sink4 es sinkFlink 没有类似于 spark 中 foreach 方法,让用户进行迭代的操作。所有对外的输出操作都要利用 Sink 完成。最后通过类似如下方式完成整个任务最终输出操作。1 kafka sinkpom文件添加kafka依赖Kafka 版本为 0.11<dependency><groupId>org.apache.flink</groupId><art原创 2020-08-09 14:44:46 · 257 阅读 · 0 评论 -
二 Flink的部署
文章目录11原创 2020-08-08 14:18:08 · 236 阅读 · 0 评论 -
五 Flink DataStream API
文章目录1.map2.filter3 flatmap函数4 keyby4.1 滚动聚合1.map实现Map操作,有三种方法.map操作是UDF(一进一出)1.第一种是和spark的map类似,直接在map算子中传入匿名函数2.其实map算子接收的是一个实现MapFunction接口的类,我们可以传入一个匿名类3.可以创建一个实现MapFunction接口的类.package org.example.puapiimport org.apache.flink.api.common.functio原创 2020-08-05 23:29:41 · 404 阅读 · 0 评论 -
四 flink source
文章目录1.flink source2.fromElements3.socket source4.kafka source5.自定义source5.1 定义样例类5.2 自定义源5.3 添加自定义源产生流1.flink source我们可以通过addSource(new someSource())来添加我们需要的source目前flink在生产环境中最常用的source是kafka source和自定义source.官网的source的讲解:https://ci.apache.org/pro原创 2020-08-05 00:12:22 · 403 阅读 · 0 评论 -
三 搭建 flink 开发环境(idea)
文章目录1 在 idea 中添加依赖1.1 在创建目录时添加2 编写代码2.1 创建运行时环境2.2 添加 source生成流2.2.1 fromElements方法专门用几台数据生成流.2.2.2 也可以用socket来生成流:2.3 计算2.4 添加sink2.5 执行程序2.6 编译执行或者打成jar包3 jar在flink上运行3.1 启动 Flink 集群3.2 提交打包好的 JAR 包3.3 停止 Flink 集群3.4 查看标准输出日志的位置,在 log 文件夹中1 在 idea 中添加依赖原创 2020-08-04 00:28:24 · 1579 阅读 · 0 评论 -
七 Flink window API
文章目录1 winsow的概念2 window的类型2.1 时间窗口(Time Window)2.2 计数窗口(Count Window)1 winsow的概念flink是流失处理框架,在真实应用中流一般是没有边界的.那要处理无界的流我们一般怎么处理呢?一般是把无界流切分成一份份有界的流,窗口就是切分无界流的一种方式.它会将流数据分发到有限大小的桶(bucket)中进行分析.2 window的类型2.1 时间窗口(Time Window)滚动时间窗口(1) 将数据依照固定的窗口大小原创 2020-08-03 23:58:04 · 1249 阅读 · 0 评论