catalog 查询数据量不对问题

【详述】
两个集群(都是3fe):1个存算分离 3.3.20, 1个存算一体 3.2.12

有一个场景:在存算分离集群上使用 jdbc catalog 创建 存算一体得catalog,然后使用catalog 查询同一个表时,查询得count() 数量居然不一致。使用catalog 查询得数量少很多。 不用catalog 查询得是 3.7亿多,用catalog 查询得才 800w+,差得也太多了

外部catalog

CREATE EXTERNAL CATALOG `wl_catalog_1000038`
PROPERTIES (
"driver_class"  =  "com.mysql.jdbc.Driver",
"driver_url"  =  "file:///home/sr_catalog/mysql_catalog/mysql-connector-java-8.0.28.jar",
"type"  =  "jdbc",
"user"  =  "sr_1000038",
"jdbc_uri"  =  "jdbc:mysql://xxx:9030"
)

麻烦大佬看下啥问题

【背景】
【业务影响】线上catalog 使用

弄两个profile看看

存算一体,正常查询结果的profile:
存算一体-非catalog的profile.txt (49.8 KB)

存算分离,使用catalog查询结果的profile:
存算分离-catalog的profile.txt (15.8 KB)

大佬,看下

这个like去掉再抓一个profile

refresh external table hive.<库表>.<表名>; 刷新一下元数据看看

去掉like查询也不对

存算分离-去掉like的profile.txt (23.1 KB)

你找一下target集群的profile看一下,估计是哪里带了一个limit

refresh external table wl_catalog_1000038.rx_bd_1000038.stage_fact_events;

refresh 后执行还是不对:
refresh后的profile.txt (24.7 KB)

目标集群看到的profile : 目标集群的profile.txt (40.0 KB)

“sql_select_limit”:{“defaultValue”:9223372036854775807,“actualValue”:10000000}

你的目标集群设置了 sql_select_limit session 变量导致的

这个是哪里的配置?如何修改配置?

这个参数跟当前dbeaver 的设置数据一致。感觉不是这个参数吧?

target 集群 show variables like ‘%sql_select_limit%’;

不要用deaver,直接用原生的指令

是的,这个设置成 9223372036854775807 ?

大佬,可以设置成 9223372036854775807 ?

哦哦,这是jdbc不是hive,看错了

大佬,目标集群设置后还是不对啊

目标集群设置sql_select_limit

存算分离查询的结果