flink-user-zh mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 111 <xingh...@163.com>
Subject Flink SQL1.10使用Mysql作为维表关联,数据量太大导致task manager time out
Date Thu, 02 Apr 2020 01:55:27 GMT
Hi,
想确认下MySQL JDBC Connector的实现细节,目前了解到的实现是:
1 获取查询sql中的字段和表名,拼接成select a, b, c from t
2 创建并行输入,如果制定了分区字段,会按照分区字段和并行度切分生成where条件,如where
id between xxx and xxx
3 执行sql,加载到内存(不确定后面缓存的实现细节)


目前我们遇到的问题是,我们把mysql作为维表(表的量级在一千500万左右,并行度为10),没有指定分区条件(只有一个slot执行查询,其他的都没有查询任务)。
结果导致只有一个分区查询数据,查询的sql为select xxx from t(全表查询)。
可是现在并行度由于集群的限制,不能调整的过大,如何实现按需查询呢?


之前我们在datastream api中,是使用异步API,根据某个条件单独查询某条数据,所以速度很快;现在需要全部加载过来,资源消耗太大了。
不知道有没有什么优雅的解决方案?


Best,
Xinghalo
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message