flink
xuehuagongzi000
这个作者很懒,什么都没留下…
展开
-
flinkSql的union all然后group by写入mysql
从两个流里面输入和一个流里面输入,效果一样1、代码package flinkSqlimport java.text.SimpleDateFormatimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.functions.timestamps.BoundedOutOfOrdernessTimestampExtractorimport org.apache原创 2021-11-10 22:31:47 · 809 阅读 · 0 评论 -
flinkSql的group by写入mysql
1、代码package flinkSqlimport java.text.SimpleDateFormatimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.functions.timestamps.BoundedOutOfOrdernessTimestampExtractorimport org.apache.flink.streaming.api.s.原创 2021-11-10 22:03:22 · 2449 阅读 · 0 评论 -
blink的后续计划
1、tt收集mysql binlog如果有update和delete怎么处理2、目前TT数据默认保存3天,不支持修改3、Shard是否和分区一样4、消费时间能否设置为latest5、join如果没有update应该是一条新的数据和整个动态表进行join,如果有update怎么办6、ads写入应该是不能实现checkpoint的故障恢复的7、kafka信息内容是什么样,顺序消费,消费者组案例1:grouping sets案例2、union all案例3、having..原创 2021-11-03 08:49:27 · 1283 阅读 · 0 评论 -
Flink的ProcessFunction的测输出流
package flinkSourseimport org.apache.flink.streaming.api.functions.ProcessFunctionimport org.apache.flink.streaming.api.scala._import org.apache.flink.util.Collectorobject FlinkProcessSideOutput { def main(args: Array[String]): Unit = { val ex.原创 2021-10-31 23:47:54 · 481 阅读 · 0 评论 -
flink的state方法
1、默认是500Lms一次checkpoint,watermark周期性生成,默认是200ms2、失败重启策略3、如果连续两次温度差值超过10,则报警package flinkSourseimport akka.stream.TLSClientAuth.Noneimport org.apache.flink.api.common.functions.RichFlatMapFunctionimport org.apache.flink.api.common.restartstra原创 2021-10-31 23:20:55 · 319 阅读 · 0 评论 -
flink的窗口方法
1、watermark周期性生成,默认是200ms,可以修改为500msexecutionEnvironment.getConfig.setAutoWatermarkInterval(500)2、WindowAssigner包括TumblingProcessingTimeWindows SlidingProcessingTimeWindows3、window的APIsum,max,min,reduce(传入reduceFucntion )、aggreation增量计算,来一条数据就进行计算,等到原创 2021-10-31 22:01:26 · 137 阅读 · 0 评论 -
flink的sink方法
1、写入到mysql时 利用到了RichFunciton的生命周期,但是当实时计算出错不能保证状态的一致性,没有实现了两段锁提交协议package flinkSourseimport java.sql.{Connection, DriverManager, PreparedStatement}import org.apache.flink.api.common.serialization.SimpleStringSchemaimport org.apache.flink.configur原创 2021-10-31 20:37:20 · 692 阅读 · 0 评论 -
flink的transform方法
1、简单转化算子(map,flatmap,filter这些)datastream和keyedStream都可以有,但是datastream没有聚合算子,只有keyedStream才有。键值转换后的才有滚动聚合算子sum(),min(),max() ,minBy(),maxBy(),reduce()2、键值转换后的才有滚动聚合算子sum(),min(),max() ,minBy(),maxBy()min是来一条数据就和历史数据比较,然后输出最小值,格式还是SensorReading类型,如果取min(原创 2021-10-31 20:35:05 · 529 阅读 · 0 评论 -
flink sql 之从dataStream和ddl中定义eventTime,group window,over window(4)
代码package flinkSqlimport flinkSourse.SensorReadingimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.functions.timestamps.BoundedOutOfOrdernessTimestampExtractorimport org.apache.flink.streaming.api.scala.原创 2021-10-30 18:10:16 · 230 阅读 · 0 评论 -
flink sql 之从dataStream和ddl中定义processtime(3)
代码package flinkSqlimport java.sql.Timestampimport flinkSourse.SensorReadingimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.functions.timestamps.BoundedOutOfOrdernessTimestampExtractorimport org.apache原创 2021-10-30 18:08:15 · 360 阅读 · 0 评论 -
flink sql之定义blink planner 并有source和sink(2)
1、代码package flinkSqlimport org.apache.flink.api.scala.ExecutionEnvironmentimport org.apache.flink.streaming.api.scala._import org.apache.flink.table.api.{DataTypes, EnvironmentSettings, Table, TableEnvironment}import org.apache.flink.table.api.scal原创 2021-10-30 18:05:02 · 393 阅读 · 0 评论 -
flink sql 之world count 案例入门(1)
package flinkSqlimport java.text.SimpleDateFormatimport flinkProject.ReceiptEventimport flinkSourse.SensorReadingimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.scala._import org.apache.flink.table.api.原创 2021-10-30 18:01:23 · 314 阅读 · 0 评论 -
flink -table-API文档参考(0)
upset当有key的时候就更新,如果没有就insert,必须有key文件系统和kafka不支持撤回模式和更新插入模式原创 2021-10-27 07:04:00 · 108 阅读 · 0 评论 -
Flink项目4 双流connect&intervalJoin项目
1、一个是订单流,一个是对账流定时器螫不区分key的,是项目视角的package flinkProjectimport java.text.SimpleDateFormatimport flinkSourse.SensorReadingimport org.apache.flink.api.common.state.{ValueState, ValueStateDescriptor}import org.apache.flink.configuration.Configuration原创 2021-10-24 23:25:02 · 1600 阅读 · 0 评论 -
Flink项目2-实时流量统计PV&UV
实时流量统计PV&UV原创 2021-10-22 10:03:58 · 1375 阅读 · 0 评论 -
Flink项目1.2- 实时页面统计-热门页面topN方法二
方法一:Flink项目之 实时页面统计-热门页面topN_xuehuagongzi000的博客-CSDN博客(2)、window后➕windowAll方法package flinkProjectimport java.sql.Timestampimport java.text.SimpleDateFormatimport java.utilimport java.util.Mapimport org.apache.flink.api.common.functions.Agg.原创 2021-10-17 15:40:04 · 233 阅读 · 0 评论 -
Flink项目1.1- 实时页面统计-热门页面topN
1、需求2、正常情况下不考虑乱序的时候(没有窗口延迟关闭1min和延迟数据的侧输出流)event时间窗口滑动窗口10min,滚动5s输出 [10:15:45-10:25:50), [10:15:50-10:25:55), [10:15:55-10:25:60)watermark:延时1s定时器:windowEnd+1s(但是定时器的加1s输出需要依赖watermark的更新,所以在watermark+2s才会触发)aggDataStream需要窗口触发才会输出输入的原..原创 2021-10-17 01:47:01 · 475 阅读 · 2 评论 -
flink项目
1、2、3、4、很典型的案例5、6、7、两条流原创 2021-10-16 20:52:32 · 156 阅读 · 0 评论 -
flink的souce方法
主要包括有界流和无界流import java.util.Propertiesimport org.apache.flink.api.common.serialization.SimpleStringSchemaimport org.apache.flink.streaming.api.functions.source.SourceFunctionimport org.apache.flink.streaming.api.scala._import org.apache.flink.strea原创 2021-10-09 20:52:23 · 103 阅读 · 0 评论 -
flink检查点checkPoint算法
1、barrier是加入到数据流里面的一个标示(检查点分界线)。jobmanager发放checkpoint的指令给source,然后向下传递。之前waterMark的算法是前面所有并行分区任务的waterMark都推进到当前的一个时间时(取最小的waterMark值),才往下推进任务。barier也一样,当上游并行的所有的barier都到齐的时候,表示上游所有数据都处理完了,才可以进行保存,这就叫做barier对齐。2、事例:even偶数,odd奇数jobmanager在sou..原创 2021-10-04 18:10:30 · 286 阅读 · 0 评论 -
flink状态一致性
1、什么是状态一致性2、状态一致性的分类原创 2021-10-04 12:49:10 · 75 阅读 · 0 评论 -
状态后端(state backends 状态数据存在哪里)
一、状态后端主要两个作用:1、本地的状态管理,比如各个state是如何进行状态的存储和访问的 2、checkPoint状态存储到哪里二、有哪些状态后端可以选择?不同场景选择不同的状态后端。...原创 2021-10-03 20:58:11 · 370 阅读 · 0 评论 -
Flink的ProcessFunction的状态和定时器
DataStream.process(processFucntion)KeyedDataStream .process(keyedProcessFunction)windowStream .process(processWindowFunction)connectedStream.process(CoProcessFunction)windowAllSteam.process(processAllWindowFunction)原创 2021-09-30 00:09:46 · 309 阅读 · 0 评论 -
waterMark相关
1、waterMark概念:取自所有到达数据时间戳的最大值-延迟时间,所以保持单调递增的窗口内的数据是按照eventTime分桶的时间窗口数据watermark 是每条数据上带了一个时间戳,其含义是:watermark之前的数据都到齐了,在这个之后不会收到小于或等于该时间戳的数据。eventTime值为1501750584000(2017-08-03 08:56:24.000),watermark策略为偏移4秒,这条数据的watermark时间就是 1501750584000 - 4000原创 2021-09-21 23:13:24 · 173 阅读 · 0 评论 -
仅用java+IntelliJ IDEA+Maven搭建Flink项目
1、背景只在有java+intellij(自带maven)的环境快速搭建flink项目2、步骤(亲测有效)一、在IntelliJ IDEA中创建Flink项目第一步:启动IntelliJ IDEA,创建一个新的项目,如下图所示:第二步:选择Maven项目,并选择"Create from archetype":第三步:自己添加Flink的archetype添加flink-quickstart-scala的archetype如下图:repository是可选的第四步:原创 2021-08-18 20:52:50 · 1870 阅读 · 4 评论 -
flink的state、checkpoint和重启策略
State的作用state是Flink程序某个时刻某个task/operator的状态,state数据是程序运行中某一时刻数据结果。首先要将state和checkpoint概念区分开,可以理解为checkpoint是要把state数据持久化存储起来,checkpoint默认情况下会存储在JoManager的内存中。checkpoint表示一个Flink job在一个特定时刻的一份全局状态快照,...原创 2020-02-15 16:02:44 · 729 阅读 · 0 评论 -
flink和spark的区别
1、spark本身是无状态的,所以我们可以把它看成一个rdd一个算子一个rdd的去处理,就是说可以看成分段处理,但是flink是有状态的,我们要把它看成一个个event记录去处理,当遇到窗口时会进行阻塞等待,窗口的聚合操作是无状态的。过了窗口后DataStream的算子聚合操作就是有状态的操作了,所以flink要把聚合操作都放到窗口操作之前,才能进行无状态的聚合操作。而spark全程都是无状态的,...原创 2019-12-10 18:45:46 · 1262 阅读 · 0 评论 -
Flink run 方式提交(生产环境在yarn集群上直接提交的方式)
1、案例#!/bin/bash########################. /etc/profile. ~/.bash_profile########################SCRIPT_NAME=$(readlink -f "$0")hostname=`hostname`dir=`dirname ${SCRIPT_NAME}`cd $dirnohup ...原创 2019-12-04 14:57:11 · 4643 阅读 · 0 评论 -
fink DataStream算子及案例
目录1、分类DataStreamkeyedStreamwindow Stream重要案例DataStreamProcessFunctionWindowAllDataStream → AllWindowedStreamkeyedStreamwindow Stream(1)、分组和非分组Windows。(2)、预定义窗口分配器滚动窗口滑动窗口...原创 2019-11-21 14:10:34 · 397 阅读 · 0 评论 -
flink按照eventTime处理流&watermark
1、日志查找当前时间戳网站:http://coolaf.com/tool/unix要在时间戳后面加000000002 1569813325000000002 1569813325000000002 1569813345000000002 1569813345000000002 1569813368000000002 1569813368000000002 156981344...原创 2019-09-30 11:46:28 · 794 阅读 · 0 评论 -
flink按照processTime处理流
1、日志类型offset = 8336399570, key = 10865354946, value = 14:36:51,465[INFO][resin-port-8573-90242 controller.StatController.init(311)] - uid=7143aba7e035a5af544849dfaded0753|pid=864314032460198|sver=...原创 2019-09-30 10:42:27 · 2686 阅读 · 0 评论 -
flink 读取kafka 入到mysql案例
1、mysql结果:2、maven文件 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5...原创 2019-09-26 10:40:58 · 709 阅读 · 0 评论 -
flink 离线计算helloworld
1、scala版本和flink包的版本一定要对应上。flink版本和kafka-flink版本也一定要对应上。否则程序会报错。 <dependencies> <dependency> <groupId>org.apache.flink</groupId> <artifa...原创 2019-09-26 08:35:33 · 2035 阅读 · 0 评论