Tispark读取TiDB与TiDB数据源数据不一致问题

【 TiDB 使用环境】测试
【 TiDB 版本】7.0.1
【TiSpark版本】3.1.5
【复现路径】库中表数量达到了7000+,在tidb中新建表
spark-shell

  1. 使用spark.sql(“use tidb_catalog.xx”)选择要统计表数量的数据库
    这里会报一些WARNING
    WARN HiveConf: HiveConf of name hive.stats.jdbc.timeout does not exist
    WARN HiveConf: HiveConf of name hive.stats.retries.wait does not exist
    WARN Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 2.3.0
    WARN setMetaStoreSchemaVersion called but recording version is disabled
    WARN Failed to get database global_temp, returning NoSuchObjectException
  2. 使用spark.sql(“show tables”).count()

tidb client

  1. show tables

【遇到的问题:问题现象及影响】tidb中新建的表,直接读取表的数量和通过spark-shell读取表的数量不一致
随着tidb中表的增加,spark sql查出来的表数量会减少,该现象是在表增加到一定数量时出现的

-------------------分割线--------------------
切换成jdbc连接tidb,发现数据是一致的
所以怀疑是不是tispark问题,是不是因为某些tispark配置项问题?
【资源配置】
【附件:截图/日志/监控】

干嘛不直接用tiflash

警告说找不到global_temp这个库。不会是正好缺少这个库下面的表吧。

有其他的日志信息嘛?

问下官方或者git issue 我们也遇到过数据不一致的问题

应该是spark支持性存在问题

tispark 是特殊场景考虑?

不是该库下面的

没有其他日志信息了,主要就是tispark读出来的和tidb数据不一致

1 个赞

表里的数据都不一致吗

就是指定数据库下面的表不一致,表里面的行数我没看

后续 tispark 其实基本不推荐使用了。
第一个告警是因为默认去 hive 拿数据。

这个可能是个bug

等候大佬结果

7.0 了,上 tiflash 吧。