Hi!

这是说每次主流来一条数据,都要去维表里查询一次吗?然后你想每次攒一批数据,一次性查询以提高性能?

如果是的话,一部分维表(如 jdbc 和 hbase)支持 cache 功能 [1]。cache 功能可以在每次 cache 刷新的时候把数据加载到
task manager 内存中,这样主流来数据时只需要从 task manager 内存中查询对应数据即可,不必去外部系统查询。

另外查询逻辑下沉到数据库具体指的是什么?能否详细说明一下。

[1]
https://nightlies.apache.org/flink/flink-docs-master/zh/docs/connectors/table/jdbc/#lookup-cache

WuKong <wukon...@foxmail.com> 于2021年11月11日周四 下午5:42写道:

> Hi :
>    现在有个场景, 我有一张Kafka的表,需要基于这张Kafka的流表 进行事件触发,去关联DB的多表 来拉宽数据 。比如: select *
> from kafkaTableA AS A
>    join DBTableB FOR SYSTEM_TIME AS OF A.`PROCTIME` AS B ON valueB =
> B.columnB
>    join DBTableC FOR SYSTEM_TIME AS OF A.`PROCTIME` AS C  ON valueC =
> C.columnC 。
>   目前有两个问题:
>    1.  我看数据库里 是单表去查询数据的数据的,
>          select * from DBTableB where B.columnB   = valueB
>          select * from DBTableC where C.columnC   = valueC
>       这里我可以配置 把整个查询逻辑 下沉到数据库去做吗?
>   2. 我想把Kafka 里的数据 积累一点之后 通过微批的形式 IN 查询 请问 有没有可能这么做?
>
>
>
> ---
> Best,
> WuKong
>

回复