flink任务处理下线流水数据,数据遗漏不全(一)

背景

1、test3是单独接受T4301的mqtt主题数据

以下是flink代码

以下是node-red的


跟踪分析

拉出tdengine里面的数据曲线,看是否存在遗漏的情况

 

 少2023-04-05 22:05:48的日志

 

 

 

贴上我的代码

 

小结

1、虽然下线记录比之前的多很多了,但是还是遗漏一些数据,不全!!

2、再看看Test2的程序log,因为Test2是接受所有的,看看这里的T43-1是否存在遗漏情况 


跟踪Test2发现

也少了数据

 

发现Test2和Test3一样的,遗漏一样的数据

Test2的数据量是Test3的四倍!!!

目前没有证据指名是数据量大小导致数据遗漏的,我觉得可能是程序判断有Bug,先把Test3的原因找到!!

数据遗漏的原因,如果不是跟数据量有关

可能的原因1、判断下线的代码有误

我把这里判断的数据改成之前的程序,然后运行看看2023-04-06 11:27发布的Test2  Test3

这个版本不对,== 改成equals();不然2分钟就会存储一次数据  2023-04-06 12:12:00


可能的原因2、tdengine数据莫名其妙的错位

昨天发现很奇怪的现象,数据存在CWW=40多和CWW=0.1交错;上一秒数据是40多,下一秒数据0.1,查遍整个流程的代码,并没有出现,topic写错的情况!!!

然后怀疑是数据到达emqx的时候有混乱排序,把数据的时间改成从Node-red创建时间,而不是在emqx中插入语句的now();

今天并未出现这种现象!!

 所以我打算把所有的topic的now()改成node-red数据发出时创建的时间ts!


 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
为了在Flink处理一段时间的数据,可以使用时间窗口。时间窗口是将数据流分成固定大小的时间段,并在每个时间段内对数据进行聚合操作的一种机制。Flink支持两种类型的时间窗口:滚动窗口和滑动窗口。 滚动窗口是将数据流分成固定大小的、不重叠的时间段,并在每个时间段内对数据进行聚合操作。例如,如果我们将数据流分成大小为5秒的滚动窗口,则第一个窗口将包含第0秒到第5秒的数据,第二个窗口将包含第5秒到第10秒的数据,以此类推。可以使用以下代码在Flink中定义一个滚动窗口: ```python from pyspark.streaming import StreamingContext ssc = StreamingContext(sparkContext, 5) # 创建一个5秒的滚动窗口 ``` 滑动窗口是将数据流分成固定大小的、可能重叠的时间段,并在每个时间段内对数据进行聚合操作。例如,如果我们将数据流分成大小为5秒、滑动步长为2秒的滑动窗口,则第一个窗口将包含第0秒到第5秒的数据,第二个窗口将包含第2秒到第7秒的数据,第三个窗口将包含第4秒到第9秒的数据,以此类推。可以使用以下代码在Flink中定义一个滑动窗口: ```python from pyspark.streaming import StreamingContext ssc = StreamingContext(sparkContext, 5) # 创建一个5秒的滑动窗口 windowedStream = ssc.window(windowDuration=15, slideDuration=5) # 创建一个大小为15秒、滑动步长为5秒的滑动窗口 ``` 在定义了时间窗口后,可以使用Flink提供的各种聚合函数对窗口内的数据进行处理,例如sum、count、max等。可以使用以下代码对窗口内的数据进行求和操作: ```python windowedStream.sum().pprint() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_37591637

请给我持续更新的动力~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值