spark 写tidb_11 TiSpark 简介与实战 - 11.1 TiSpark 架构与原理 - 《TiDB实战(TiDB in Action)》 - 书栈网 · BookStack...

TiSpark是PingCAP推出的OLAP产品,结合Spark、TiKV和TiFlash,为用户提供HTAP需求。它内置TiKV和PD Java Client,通过gRPC通信,支持Spark SQL在TiKV上运行。TiSpark在写入数据时需通过TiDB进行锁表和Region预切分,Driver侧通过PD获取TiDB元数据,改写Spark SQL执行计划,Executor侧定制物理算子从TiKV读取数据。TiSpark利用TiKV的Java Client实现Schema解析和Key-Value Pair的编码解码,通过协处理器下推计算,提高查询效率。
摘要由CSDN通过智能技术生成

11.1 TiSpark 架构与原理

TiSpark 是 PingCAP 为解决用户复杂 OLAP 需求而推出的产品。它借助 Spark 平台,同时结合 TiKV 以及 TiFlash 分布式行列混合集群的优势,和 TiDB 一起为用户一站式解决 HTAP (Hybrid Transactional/Analytical Processing) 的需求。TiSpark 依赖于 TiKV 集群和 Placement Driver (PD),也需要你搭建一个 Spark 集群。

本文主要介绍 TiSpark 架构和原理。本文假设你对 Spark 有基本认知。你可以参阅 Apache Spark 官网 了解 Spark 的相关信息。

11.1.1 概述

TiSpark 是将 Spark SQL 直接运行在分布式存储引擎 TiKV 上的 OLAP 解决方案。其架构图如下:

TiSpark 内置实现 TiKV 和 PD Java Client,让 TiSpark 可以通过 gRPC 与 TiKV 和 PD 通信,从 TiKV / TiFlash 中获取 Key-Value Pair 和表结构用于支持 TiSpark SQL 计算,从 PD 获取数据在 TiKV 上的具体 Region 信息及其副本的物理定位。

TiSpark 在分布式写入数据时需要通过 TiDB 来进行锁表和 Region 预切分操作,保证数据写入正确性和高效性

TiSpark Driver 侧:通过 PD CLient 从 PD 中获取 TiDB metadata 信息,并将 TiDB 的 metadata 信息转化 Spark 的支持的 metadata 信息。转化成功之后 TiSpark 可以看到 TiDB的表。

劫持和改写 Spark SQL 的执行计划ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值