- 博客(17)
- 问答 (8)
- 收藏
- 关注
原创 静态表join动态表
package org.example.windowfuncimport java.sql.{Connection, DriverManager, PreparedStatement, ResultSet}import org.apache.flink.api.common.functions.{FlatMapFunction, RichFlatMapFunction}import org.apache.flink.configuration.Configurationimport org.ap
2020-08-30 20:56:19 213
原创 十四 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 663
原创 十三 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 140
原创 十二 状态
文章目录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 545
原创 十一 迟到数据的处理
文章目录1 可以更新窗口已经计算完的结果,并发出计算结果2 案例:1 可以更新窗口已经计算完的结果,并发出计算结果DataStream API 提供了三种策略来处理迟到元素:• 直接抛弃迟到的元素(event time window operator 的默认行为)• 将迟到的元素发送到另一条流中去(https://blog.csdn.net/andyonlines/article/details/108067446)• 可以更新窗口已经计算完的结果,并发出计算结果(我们现在要讲的)我们可以指定
2020-08-23 01:26:16 259
原创 十 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 8897 2
原创 保存点
flink run -s hdfs://zhumei00:9000/flink/savepoints/savepoint-2084e7-591930867f28/_metadata flink-demo-stateful.jar
2020-08-22 04:26:19 180
原创 九 flink Process Function
1 Process Function• ProcessFunction用在没有keyby 和 没有开窗的流上• KeyedProcessFunction用在keyby之后,非常常用• CoProcessFunction• ProcessJoinFunction• BroadcastProcessFunction• KeyedBroadcastProcessFunction上面四个我也没有用过• ProcessWindowFunction用在开窗之后• ProcessAllWindow
2020-08-18 00:20:23 292
原创 八 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 422
原创 六 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 227
原创 打包插件
<build> <plugins> <!-- 打包插件, 否则 scala 类不会编译并打包进去 --> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <vers
2020-08-06 13:31:20 668
原创 五 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 360
原创 四 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 367
原创 三 搭建 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 1498
原创 七 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 1209
原创 hive timestamp类型增加小时
hive -e "insert overwrite table test.mydate select from_unixtime( unix_timestamp(deptno )+6*60*60)from test.mydate;"
2020-08-01 15:18:28 5162
空空如也
hive 创建JsonSerDe 类型表每次使用datagrip运行sql时出现错误
2022-05-19
hive on spark 打开文件过多错误
2022-05-19
clickhouse出现 Connection refused 的异常
2021-03-14
clickhouse 如何实现字段自增
2020-12-13
shell 定义数组中有特殊的符号
2020-10-11
flink kekby 分区问题
2020-09-09
Python BeautifulSoup获取属性值怎么?
2019-09-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人