关于 flinksql 维表的问题

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

关于 flinksql 维表的问题

WeiXubin
我想实现将MySQL中的 A 表数据预先查询出来进行缓存,用于给流表 B 进行 join关联。接下来定时查询并更新 A 表内的缓存数据,请问目前
FlinkSQL 可以实现吗?



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

Re: 关于 flinksql 维表的问题

LakeShen
实现肯定可以实现,不过这个周期性加载 Mysql 并更新的 Cache 的功能,可能需要你自己定制化开发下。

Best,
LakeShen

WeiXubin <[hidden email]> 于2021年5月22日周六 下午4:09写道:

> 我想实现将MySQL中的 A 表数据预先查询出来进行缓存,用于给流表 B 进行 join关联。接下来定时查询并更新 A 表内的缓存数据,请问目前
> FlinkSQL 可以实现吗?
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re:关于 flinksql 维表的问题

Michael Ran
In reply to this post by WeiXubin
可以设置ttl,但是做不到固定时间 更新
在 2021-05-22 16:08:58,"WeiXubin" <[hidden email]> 写道:
>我想实现将MySQL中的 A 表数据预先查询出来进行缓存,用于给流表 B 进行 join关联。接下来定时查询并更新 A 表内的缓存数据,请问目前
>FlinkSQL 可以实现吗?
>
>
>
>--
>Sent from: http://apache-flink.147419.n8.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: 关于 flinksql 维表的问题

Zorro
In reply to this post by WeiXubin
Flink的MySQL connector支持在temporal join中启用 Lookup Cache
<https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/connectors/table/jdbc/#lookup-cache>
,您可以考虑采用这种方式实现,不过这种方式与您描述的操作过程存在一定区别:
1. 维表(即A表)数据不是在启动时全量加载的,而是在运行时动态加载的
2. 当维表中查询不到所需行时,会查询MySQL数据库
3. 数据过期或刷新是基于行的,而不是整个表

如果需要完全实现您所描述的操作,目前只能采用Flink DataStream自定义实现,不过我认为目前Flink MySQL的Lookup
Cache已经可以绝大程度的减少数据库访问,可以支撑大部分的Join场景,建议直接使用。

如果要启用Flink MySQL的Lookup Cache,可在with中增加如下参数:
1. lookup.cache.max-rows 缓存的最大行数
2. lookup.cache.ttl 缓存行的过期时间



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

Re: 关于 flinksql 维表的问题

datayangl
我感觉楼主的意思 是mysql的数据源预加载后 定期重新拉取,和lookup join 还不太一样,如果loopup不能做到更新数据。 我理解对吗,各位?



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

Re: 关于 flinksql 维表的问题

WeiXubin
In reply to this post by Zorro
感谢各位的建议



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

Re: 关于 flinksql 维表的问题

chenchencc
In reply to this post by WeiXubin
mysql cdc connectot可以实现



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

Re: 关于 flinksql 维表的问题

WeiXubin
你好,可以麻烦详细描述一下吗? 谢谢



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