使用 TiSpark 读取 TiFlash

Posted 添香小铺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 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 副本的表的查询会报错。

可以使用以下任意一种方式进行设置:

  1. 在 spark-defaults.conf 文件中添加:

    spark.tispark.isolation_read_engines tiflash

  2. 在启动 Spark shell 或 Thrift server 时,启动命令中添加 --conf spark.tispark.isolation_read_engines=tiflash

  3. Spark shell 中实时设置:spark.conf.set("spark.tispark.isolation_read_engines", "tiflash")

  4. Thrift server 通过 beeline 连接后实时设置:set spark.tispark.isolation_read_engines=tiflash

以上是关于使用 TiSpark 读取 TiFlash的主要内容,如果未能解决你的问题,请参考以下文章

基于 TiSpark 的海量数据批量处理技术

TiSpark 原理之下推丨TiDB 工具分享

TiSpark 原理之下推丨TiDB 工具分享

TiDB HTAP关键组件Tiflash

TiDB HTAP关键组件Tiflash

TiDB HTAP 上手指南丨添加 TiFlash 副本的工作原理