flink sql在实时数仓中,关联hbase维表频繁变化的问题

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

flink sql在实时数仓中,关联hbase维表频繁变化的问题

Jim Chen
大家好:
    我们现在在用flink sql在做实时数仓,架构大概是kafka关联hbase维表,然后写入clickhouse。hbase维表是频繁变化的
现在遇到的几个比较棘手的问题:
1、自己在实现AsyncTableFunction做异步io的时候,发现性能还是不够。后来就加入本地缓存,但是缓存一致性出现问题,不知道该如何解决
2、写入hbase的时候,是批量写的,无法保证有序,维表频繁变化的话,顺序不对,会造成结果有问题
3、hbase维表,可能5s后才会更新,但是此时kafka数据流已经过去了,关联的数据都是空

    不知道,针对上面的场景,有什么好的解决思路或者方案
Reply | Threaded
Open this post in threaded view
|

答复: flink sql在实时数仓中,关联hbase维表频繁变化的问题

zhao liang
第三条我有个大概的想法,kafka数据把原有时间戳减去一个你觉得足够的延迟时间,生成一个新的时间戳,flink用这个时间做watermark,原有时间保留用来和habse进行匹配。

发件人: Jim Chen <[hidden email]>
日期: 星期一, 2020年8月17日 16:36
收件人: user-zh <[hidden email]>
主题: flink sql在实时数仓中,关联hbase维表频繁变化的问题
大家好:
    我们现在在用flink sql在做实时数仓,架构大概是kafka关联hbase维表,然后写入clickhouse。hbase维表是频繁变化的
现在遇到的几个比较棘手的问题:
1、自己在实现AsyncTableFunction做异步io的时候,发现性能还是不够。后来就加入本地缓存,但是缓存一致性出现问题,不知道该如何解决
2、写入hbase的时候,是批量写的,无法保证有序,维表频繁变化的话,顺序不对,会造成结果有问题
3、hbase维表,可能5s后才会更新,但是此时kafka数据流已经过去了,关联的数据都是空

    不知道,针对上面的场景,有什么好的解决思路或者方案
Reply | Threaded
Open this post in threaded view
|

Re: flink sql在实时数仓中,关联hbase维表频繁变化的问题

shizk233
In reply to this post by Jim Chen
有没有可能把维表数据也作为数据流从kafka输入呢

Jim Chen <[hidden email]> 于2020年8月17日周一 下午4:36写道:

> 大家好:
>     我们现在在用flink sql在做实时数仓,架构大概是kafka关联hbase维表,然后写入clickhouse。hbase维表是频繁变化的
> 现在遇到的几个比较棘手的问题:
> 1、自己在实现AsyncTableFunction做异步io的时候,发现性能还是不够。后来就加入本地缓存,但是缓存一致性出现问题,不知道该如何解决
> 2、写入hbase的时候,是批量写的,无法保证有序,维表频繁变化的话,顺序不对,会造成结果有问题
> 3、hbase维表,可能5s后才会更新,但是此时kafka数据流已经过去了,关联的数据都是空
>
>     不知道,针对上面的场景,有什么好的解决思路或者方案
>
Reply | Threaded
Open this post in threaded view
|

Re: flink sql在实时数仓中,关联hbase维表频繁变化的问题

china_tao
In reply to this post by Jim Chen
个人觉得还是取舍的问题,我们现在用flink sql 做实时数仓,维度表暂时用mysql,与业务商定好更新事件后,配置flink sql
jdbc的lookup.cache.ttl参数来设置刷新时间,不知道你项目中,是维表数据变更后,需要秒级关联到消息中?



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink sql在实时数仓中,关联hbase维表频繁变化的问题

Jim Chen
In reply to this post by shizk233
这个不行的话

shizk233 <[hidden email]> 于2020年8月17日周一 下午11:23写道:

> 有没有可能把维表数据也作为数据流从kafka输入呢
>
> Jim Chen <[hidden email]> 于2020年8月17日周一 下午4:36写道:
>
> > 大家好:
> >     我们现在在用flink
> sql在做实时数仓,架构大概是kafka关联hbase维表,然后写入clickhouse。hbase维表是频繁变化的
> > 现在遇到的几个比较棘手的问题:
> > 1、自己在实现AsyncTableFunction做异步io的时候,发现性能还是不够。后来就加入本地缓存,但是缓存一致性出现问题,不知道该如何解决
> > 2、写入hbase的时候,是批量写的,无法保证有序,维表频繁变化的话,顺序不对,会造成结果有问题
> > 3、hbase维表,可能5s后才会更新,但是此时kafka数据流已经过去了,关联的数据都是空
> >
> >     不知道,针对上面的场景,有什么好的解决思路或者方案
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: flink sql在实时数仓中,关联hbase维表频繁变化的问题

Jim Chen
In reply to this post by china_tao
  我们的维表,大概10个亿左右。每秒大概有4万的请求,要去查询,所以mysql扛不住。 还有就是维表数据变化后,需要秒级进行更新和关联的

china_tao <[hidden email]> 于2020年8月18日周二 下午11:13写道:

> 个人觉得还是取舍的问题,我们现在用flink sql 做实时数仓,维度表暂时用mysql,与业务商定好更新事件后,配置flink sql
> jdbc的lookup.cache.ttl参数来设置刷新时间,不知道你项目中,是维表数据变更后,需要秒级关联到消息中?
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: flink sql在实时数仓中,关联hbase维表频繁变化的问题

Jark
Administrator
这种大吞吐、低延迟的维表关联,感觉得等 cdc 模式的维表 join 才行。

On Tue, 25 Aug 2020 at 15:02, Jim Chen <[hidden email]> wrote:

>   我们的维表,大概10个亿左右。每秒大概有4万的请求,要去查询,所以mysql扛不住。 还有就是维表数据变化后,需要秒级进行更新和关联的
>
> china_tao <[hidden email]> 于2020年8月18日周二 下午11:13写道:
>
> > 个人觉得还是取舍的问题,我们现在用flink sql 做实时数仓,维度表暂时用mysql,与业务商定好更新事件后,配置flink sql
> > jdbc的lookup.cache.ttl参数来设置刷新时间,不知道你项目中,是维表数据变更后,需要秒级关联到消息中?
> >
> >
> >
> > --
> > Sent from: http://apache-flink.147419.n8.nabble.com/
>