flink
文章平均质量分 64
cclovezbf
这个作者很懒,什么都没留下…
展开
-
flink学习之state
同时判断clickcntState次数是否>=10如果大于就将该userid 输出到sink。有valueState listState mapstate。1.如果一个用户1s翻1页,或者速度更快,连续10次,那么就认为用户是机器人。别人只能通过截屏,提取文字的方式盗版小说。clickcntState 保留用户1s1页连续点击次数。lastClickState 保留用户上一次的点击时间。如果间隔<1s clickcntState就+1。如果>1s clickcntState就置于0。原创 2023-09-07 18:41:33 · 375 阅读 · 0 评论 -
flink-cdc之读取mysql变化数据
由于打印的日志太多 我们可以用fastjson稍微封装下 然后传给sink去处理,根据update delete insert实时更新下游数据。修改一条数据 age=1 ->age=2。原创 2023-07-13 19:15:05 · 1832 阅读 · 0 评论 -
flink内存参数配置学习
直接上官网配置 JobManager 内存 | Apache Flink配置 JobManager 内存 # JobManager 是 Flink 集群的控制单元。它由三种不同的组件组成:ResourceManager、Dispatcher 和每个正在运行作业的 JobMaster。本篇文档将介绍 JobManager 内存在整体上以及细粒度上的配置方法。本文接下来介绍的内存配置方法适用于 1.11 及以上版本。原创 2023-05-05 15:58:21 · 2058 阅读 · 0 评论 -
flink学习之sql-client之踩坑记录
注意当你使用这个模式运行一个流式查询的时候,Flink 会将结果持续的打印在当前的屏幕之上。如果这个流式查询的输入是有限的数据集, 那么Flink在处理完所有的数据之后,会自动的停止作业,同时屏幕上的打印也会相应的停止。--也可以不用hadoop 其实这里的时候就该反应过来,如果写过flink table api就知道连接hive的时候也是这两个参数。记住我们是搞flink遇到的这个问题,那么这个类和flink肯定相关,找到一个我们引入flinkjar最多的工程。网上的千篇一律是抄袭的。原创 2022-11-16 18:15:52 · 5987 阅读 · 1 评论 -
flink案例之求TopN
因为这个 充分发挥了并行的优势,同时数据来一条处理一条。//这里处理一个窗口内的所有数据可以拿到topN。这里有个问题是同时计算所有每个url的访问量还是分别计算每个url的访问量 同时计算。.aggregate() //这里的只是窗口内来一条数据计算一下每个url的count,并没有排序。.keyBy(data -> true)//这里是划分到一个并行度了。这三种 第一种看起来是最复杂的两个keyBy,但是目前是最推荐第一种的。需求:每隔2s 求之前10s内的url的访问量topN。原创 2022-09-27 16:14:31 · 1405 阅读 · 0 评论 -
flink案例之统计每隔一段时间内url的访问量
3.统计访问量 需要reduceFunction 或者aggregateFunction还是process。reduce的话要变成tuple 其余的aggere和process都可以。注意 我们要的结果肯定是url1->10 url2->15。需求:每隔10s统计每个url的访问量。2.每个url 需要key by。1.每隔10s 那么需要开窗。原创 2022-09-26 16:47:19 · 1282 阅读 · 0 评论 -
flink接入http数据写到hive
因为http的数据一般很少,我这个是看班车的数据 一天差不多是3w多条。需求很奇怪,但是无所谓了。原创 2022-09-26 16:31:20 · 901 阅读 · 0 评论 -
flink遇到的问题
解决办法 添加flink-clients jar。1.测试flink sql的时候。没有无参构造器,加上即可。原创 2022-09-26 12:31:05 · 1953 阅读 · 0 评论 -
flink窗口函数之processWindowFucntion
功能上来看都还行,感觉reduce这种在大数据量的情况下更占优势,而process逻辑处理更清楚,因为数据都到齐了我想怎么算怎么算。前面学习了reduceFunction 和aggregateFunction。现在来学习processFunction。后者是窗口内的数据全部到齐了之后一起处理。前者是窗口内的数据来一条处理一条。原创 2022-09-23 18:09:37 · 800 阅读 · 0 评论 -
flink窗口聚合函数之aggregateFuction学习
因为是分布式计算,累加器在多台机器++,然后最后会聚合一次。或者我们需要的累加值,其实这里和spark的累加器好像是一个意思。所以还是用个tuple,上面也说了uv用set ,pv用int 所以 tuple注意来一个event 就要累加一次,我们既要存uv的信息也要存pv的信息。out 用个tuple。案例-同时计算uv 和pv为, uv是用户访问量,pv是页面点击量。每来一条记录 数据+1 所以用个int和long就行。注意我在代码里打印了merge,但是这里为什么没有输出呢?原创 2022-09-23 16:29:49 · 1106 阅读 · 0 评论 -
flink窗口函数之reduceFuction学习
按道理都是10条数据的。很简单是因为只有6条数据在开启的窗口里。然后拿着new new value 和value4进行合并,得到new new new value...注意源码注意,reduce就是combine两个value成为一个value,注意类型是一样的,然后拿着new value 和value3 再进行合并,得到一个new new value。特性是 流式函数中数据是连绵不绝的 value1 value2。简单案例,统计每个用户窗口时间内的访问量 (也可以是每个url被访问的量)原创 2022-09-23 14:47:36 · 668 阅读 · 0 评论 -
flink获取kafka的key value timestamp header
flilnk在消费kafka数据的时候,我们习惯性的add一个kafkaConsumer,似乎万年不变,但是单我们需求变化的时候,我们该怎么办?现在有需求,我们要获取kafka的的timestamp,然后跟进入flink的时间的对比,看flink处理数据的延迟时间有多少?注意 这里的DataStreamSource 的类型是string,而这个string就是kafka的value。还可以获取 partition offset 这些信息,看自己了。最简单的办法,百度。这位是用scala写的。原创 2022-09-23 10:57:23 · 2885 阅读 · 0 评论 -
flink kafka offse如何提交
那么当flink消费kafka数据的时候,该group针对的该topic 的offset 如何提交呢?如何保证flink能够exactly once 消费.Flink消费kafka的offset 会不会有什么问题呢?原创 2022-06-08 16:43:33 · 3167 阅读 · 0 评论 -
flink官网学习之-keyby
https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/datastream/operators/overview/#keyby重点 1.keyby后分布到不同的分区 2.根据hash分区 3.如果是pojo没有重写hashCode那么就是根据object的hashcode()进行分区的 4.如果是数组就是不能keyby的在java和...原创 2021-07-09 12:15:51 · 2851 阅读 · 0 评论 -
flink官网学习-iterations
https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/datastream/overview/#iterations学习还是官网的好。package spark;import org.apache.flink.api.common.functions.FilterFunction;import org.apache.flink.api.common.functions.MapFunction;import原创 2021-07-09 10:54:23 · 345 阅读 · 0 评论 -
flink之keyby groupby区别
之前学习spark 的时候对rdd和ds经常用的groupby操作,在flink中居然变少了取而代之的是keyby顾名思义,keyby是根据key的hashcode对分区数取模For instance, if we know that the load of the parallel partitions of a DataStream is skewed, we might wa...原创 2019-10-23 10:35:40 · 11641 阅读 · 3 评论 -
flink之延迟数据处理watermark allowedLateness() sideOutputLateData()
针对eventtime处理乱序数据,如何保证在需要的窗口内获得指定的数据?flink采用watermark allowedLateness() sideOutputLateData()三个机制来保证获取数据先来示例import org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.strea...原创 2019-10-23 09:44:25 · 3674 阅读 · 2 评论