使用 TiSpark 读取 TiFlash
TiSpark 目前提供类似 TiDB 中 engine 隔离的方式读取 TiFlash,方式是通过配置参数 spark.tispark.isolation_read_engines
。参数值默认为 tikv,tiflash
,表示根据 CBO 自动选择从 TiFlash 或从 TiKV 读取数据。如果将该参数值设置成 tiflash
,表示强制从 TiFlash 读取数据。
注意
设为 tiflash
时,所有查询的表都会只读取 TiFlash 副本,设为 tikv
则只读取 TiKV 副本。设为 tiflash
时,要求查询所用到的表都必须已创建了 TiFlash 副本,对于未创建 TiFlash 副本的表的查询会报错。
可以使用以下任意一种方式进行设置:
在
spark-defaults.conf
文件中添加:spark.tispark.isolation_read_engines tiflash
在启动 Spark shell 或 Thrift server 时,启动命令中添加
--conf spark.tispark.isolation_read_engines=tiflash
Spark shell 中实时设置:
spark.conf.set("spark.tispark.isolation_read_engines", "tiflash")
Thrift server 通过 beeline 连接后实时设置:
set spark.tispark.isolation_read_engines=tiflash