You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by Caizhi Weng <ts...@gmail.com> on 2021/11/12 03:32:30 UTC
Re: FlinkSQL 1.12 Temporal Joins 多表关联问题
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 <wu...@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
>
Re: Re: FlinkSQL 1.12 Temporal Joins 多表关联问题
Posted by WuKong <wu...@foxmail.com>.
Hi :
第一个 我了解了Cache 不太适合我的场景,因为我的表都是几十亿量级,同时 我要根据一些关键键 去数据库里查询,所以 我先在Job 中 聚合一些主键,通过In 条件 去查询。
第二个 好像是我理解的问题,最初想通过Flink Sql 把整体逻辑 下发到数据库去查询,因为有些OLAP 引擎 查询性能是可以接受的
---
Best,
WuKong
发件人: Caizhi Weng
发送时间: 2021-11-12 11:32
收件人: flink中文邮件组
主题: Re: FlinkSQL 1.12 Temporal Joins 多表关联问题
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 <wu...@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
>