(无主题)

2021-05-30 文章 Hongyuan Ma
退订



如何使用flink对时间跨度为1年的历史数据流进行处理,快速得到结果

2021-03-10 文章 Hongyuan Ma
大佬们,如果我有时间跨度为1年的历史数据,我想知道这些历史数据经flink处理后的输出是什么,我应该这么做?
我的业务代码中有用到state和window.
我尝试过根据历史数据,减去历史数据的起始时间戳,再加上当前时间戳(比如历史数据的时间戳timestamp属于[100秒~150秒],当前系统时间是第200秒, 
那就timestamp-100+200=>[200秒,250秒])。再使用定时器定时发送数据到kafka,模拟生成数据流,最后把flink输出结果的时间戳再减回去。
但如果历史数据时间跨度很长的话(比如一年),我这样就要等特别久,有没有办法对时间跨度为1年的历史数据,快速进行处理,得到结果?


向大佬们问好,
马宏元

回复:pyflink 如何使用session window对相同pv数据聚合

2021-03-08 文章 Hongyuan Ma
我也想知道,我看文档,目前pyflink似乎还不支持processfunction


在2021年03月08日 19:03,kk 写道:
hi,all:
一账号一段时间内连续操作为一个pv,间隔时间超过阈值后会记为新的pv。系统需要获取流式日志,使用日志统计实时数据的各项指标。但是我们在使用session
window的时候无法使用udaf(自定义聚合函数)对相同pv日志进行聚合统计。
希望知道的大佬能给点建议。感谢!!!

session_window = Session.with_gap("60.second").on("pv_time").alias("w")
t_env.from_path('source') \
   .window(session_window) \
   .group_by("w,pv_id") \
   .select("pv_id,get_act(act)").insert_into("sink")



回复:flink如何在无数据流的情况下也能实现state定时输出的功能

2021-02-28 文章 Hongyuan Ma
我也想知道。◕‿◕。 onTimer定时器不是按系统时间来的


在2021年03月01日 15:16,dushang 写道:
我想在每天早上八点中定时将state输出到mysql中,利用timer的话是需要在八点附近有一条数据流过来并且判断一下时间才能输出,如何实现在没有数据流过来的时候仍然定时输出state?谢谢



--
Sent from: http://apache-flink.147419.n8.nabble.com/

大佬们, assignTimestampsAndWatermarks() 支持将eventTime设置为未来的时间吗

2021-02-22 文章 Hongyuan Ma
我想预测某个轨迹点后续5秒的轨迹, 并设置eventTime为未来的时间
我使用AscendingTimestampExtractor 但是报了 WARN Timestamp monotony violated xxx < 
yyy


// 对于每个轨迹点, 预测输出其后续10秒的点, 比如A车10秒时来了一条, B车15秒时来了一条
stream.flatmap()  // 预测出A车11~20秒的轨迹, B车16~25秒时的轨迹
.assignTimestamps(new AscendingTimestampExtractor()) // 设置eventTime为预测计算出的未来的时间
.window(1s) // 收集预测出的第16, 第17秒...第20秒时的A, B两个轨迹点
.process() // 对某一秒时的轨迹点进行两两距离计算, 距离过近就发送一条警报消息

大佬们, keyby()两次, 然后再window(), 会有几个窗口?

2021-02-21 文章 Hongyuan Ma
大佬们, 如果keyby两次然后再调用window()的话是只根据最后一次keyby的键生成n个窗口, 还是在前一次keyby的基础上生成m*n个窗口?


像下面这样写, 最后的窗口是只按area划分的吗?
// 我想对不同车(id)的轨迹进行预测, 然后统计各个区域(area)内的轨迹信息
stream.keyby("id")
.flatmap() // 根据id 对轨迹进行预测, 在里面使用key state
.assignTime() // 修改轨迹eventTime为预测出的时间
.keyby("area")
.window() // 根据区域划分窗口
.process() // 统计各个区域内的轨迹



如何在pyflink中使用全量窗口聚合ProcessWindowFunction

2021-02-18 文章 Hongyuan Ma
向您问好,


我是一名pyflink的新手。我希望能够在Tumble Window中使用processWindowFunction, 
对窗口内数据进行全量计算并最终输出0行或者多行。我查阅了pyflink的datastreamAPI和TableAPI,都没有找到完整的示例。pyflink 
的datastreamAPI目前似乎还没有实现window()。而我对TableAPI的使用方法还不太明确。
假如我使用java实现了“public class MyProcessWindowFunctextends ProcessWindowFunction 
{}”, 打成jar包在pyflink中注册为udf, 
有可能在TableAPI中通过select语句调用它吗, select语句可以正确地返回0行或者多行结果吗?如果能提供一个pyflink简单的 
processWindowFunction的示例, 我将不胜感激!




提前感谢您的帮助!
马宏元