
flink
文章平均质量分 66
woloqun
这个作者很懒,什么都没留下…
展开
-
flink规则引擎设计思路
在我们的规则引擎里,数据主体通常作为关联数据的主键id,所以在数据预处理阶段,我们需要尽可能的将数据主体梳理全,并补充到数据中。这里就需要介绍下”维度数据“模块。原创 2023-01-11 20:06:20 · 3893 阅读 · 1 评论 -
事件流匹配的另类方式
一个用户的行为数据流:"A","B","A","C","B","D","C","A","B","B","C","D",从这段事件流中,用户一共完成两次:ABCD。直接说下实现思路,为了演示方便,这是用系统时间代替时间时间,用户的历史状态保存在内存里,状态的保存方式"0_0_0_0"(ABCD四个事件,初始状态用0表示,后续逐渐替换成实践戳,具体细节看下图)如果有一个实时数据需求:一个用户在指定事件内依次完成了事件A,B,C,D,那就给该用户推送消息。在不使用Flink Cep的情况下,有什么办法呢?....原创 2022-08-09 19:50:19 · 785 阅读 · 0 评论 -
flink sql包冲突异常
使用flink on yarn方式提交Flink sql,抛出如下异常org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: Unable to instantiate java compiler at org.apache.flink.client.progr...原创 2020-04-21 14:34:16 · 16462 阅读 · 5 评论 -
从checkpoint恢复flink job
flink使用checkpoint方式保存task的状态,当task失败时,可以从之前checkpoint地方恢复状态;如果说整个应用挂了,如何根据之前checkpoint来恢复应用的状态;首先应用挂了的话,它默认会删除之前checkpoint数据,当然我们可以在代码中设置应用退出时保留checkpoint数据CheckpointConfig config = env.getChec...原创 2020-03-26 18:26:47 · 13174 阅读 · 3 评论 -
flink cep pattern动态加载
通常我们在提交一个flink cep任务,流程基本上是:开发,打包,部署;例如我们有一个任务:计算在60秒内,连续两次登陆失败的用户begin("begin").where(_.status=='fail').next("next").where(_.status=="fail").within(Time.seconds(60))然后又来一个任务:计算60秒内,用户登陆失败1次,然后第二...原创 2020-03-05 11:27:31 · 14178 阅读 · 14 评论