问题一:flink如何在无数据流的情况下也能实现state定时输出的功能?
我想在每天早上八点中定时将state输出到mysql中,利用timer的话是需要在八点附近有一条数据流过来并且判断一下时间才能输出,如何实现在没有数据流过来的时候仍然定时输出state?谢谢
参考回答:
定时器触发不需要有数据,可以设置一个八点的定时器定时触发,具体操作可以百度
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/359126
问题二:Flink sql的state ttl设置有问题怎么做?
想问下state ttl能针对单表设置吗?*来自志愿者整理的flink邮件归档
参考回答:
或许你可以参考这个:
[image: image.png]
https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/table/config/
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/359731
问题三:rocksdb状态后端最多保留checkpoints有问题怎么做?
作业中使用了增量式的rocksdb状态后端,请问如果再设置了最多保留checkpoints个数的话,会不会造成rocksdb state恢复失败?例如,假设完整的state恢复需要最近10个chk,但因为设置了最多保留checkpoints个数为5的话,状态是不是恢复不了了?*来自志愿者整理的flink邮件归档
参考回答:
rocksdb 增量 checkpoint 不是你这么理解的,总的不会恢复不了。原因可以参考下面的材料
-
https://flink.apache.org/features/2018/01/30/incremental-checkpointing.html
官方 blog 介绍
- https://www.bilibili.com/video/BV1db411e7x2 施博士的介绍,大概 24 分钟开始讲
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/359735
问题四:流与流 left join有办法实现吗?
我们现在场景有两个流join,A流left joinB流,A流比B流晚到,而且最晚比B流晚到3小时,用flink sql有啥方法实现吗?*来自志愿者整理的flink邮件归档
参考回答:
sql可以定义cep,捕获匹配流和超时流
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/359737
问题五:求教:动态字段的处理怎么做?
现状: 目前实时数仓的存储和对外数据服务使用hbase,列是不固定的。 举个例子,如果用户新增了一个指标并生成了数据,来源系统的数据总线(kafka)会把生成的数据发送过来(没有声明是新的指标), hbase中需要增加一个指标名称的列并保存和更新相应数据。(实际场景比这个复杂一些) 之前是用python脚本(数据平台完全是python开发的)实现的,实现很简单,但是性能上有一些瓶颈。现在想切换到pyflink,不知道有没有好的方式。 python脚本优化过后(消费kafka->逻辑加工->写入hbase)大概3000条/秒,能勉强满足现有数据的峰值处理。但是数据一直在增长,可见的未来性能一定跟不上了。 请问有没有处理过类似问题的专家方便解答一下?*来自志愿者整理的flink邮件归档
参考回答:
由于你的DDL是变化的,无法提前预知所有字段,所以首先可以确定的是这个场景无法使用Flink SQL解决。
如果使用DataStream解决的话是可行的,唯一可能存在的问题就是目前社区没有提供DataStream的HBase sink。
如果你需要在DataStream中使用HBase sink的话,可能需要你自定义一个HBase sink或者基于社区的HBase SQL connector做一些更改。不过这些更改是需要在Java代码层面的。
至于其他的处理逻辑可以用pyFlink很方便的改写。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/359740