使用 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