使用TiDB自带的TiSpark,与 使用外置的Spark, 通过jdbc读取TiDB数据,然后分析.这两个有区别吗?

您好,从 TiSpark v2.3 开始,若想要直接从 TiKV 读取数据,只需要在 spark-defaults.conf 中加入

spark.sql.extensions org.apache.spark.sql.TiExtensions

这个配置即可直接使用 Spark SQL 进行查询了,具体行为可见 https://github.com/pingcap/tispark/blob/master/docs/userguide.md#demonstration

可使用 use $database 语法直接切换当前 catalog 至 TiDB 库,或者使用 $database.$table 来指定表名。
若存在 Hive 库与 TiDB 库重名的情况,可以参考 TiSpark从TiDB读取数据,怎么写入Hive?怎么解决Hive库与TiDB库名冲突的问题? 这里的解决思路,由于在那个回答里已经回复,所以这里不再叙述。若有其他问题,欢迎继续提出问题~

2 个赞