Kyuubi概述

Apache Kyuubi是一个分布式和多租户网关,为数据湖查询引擎(例如Spark、Flink或Trino等)提供SQL等查询服务。

功能特性

  • 多租户:Kyuubi通过统一的身份验证授权层为资源获取,数据和元数据访问提供端到端的多租户支持。

  • 高可用:Kyuubi基于ZooKeeper提供了负载均衡,提供了企业级的高可用性,以及无限的客户端高并发。

  • 多工作负载:Kyuubi可以通过一个平台、一个数据副本和一个SQL接口轻松支持多个不同的工作负载。

使用场景

  • 交互式分析:利用Kyuubi可以构建企业级分析平台,用于对大数据进行交互式可视化分析,支持常见的计算框架。Kyuubi支持JDBC和ODBC接口,您可以直接通过SQL或通过BI工具来访问Kyuubi并高效地运行查询。Kyuubi可以在用户级别缓存后台引擎实例,以更好的实现计算资源共享和快速响应,并行处理大量数据的查询并快速返回结果。

  • 批数据处理:Kyuubi提供了SQL接口用于常见的批处理,通常是大型提取、转换、加载(ETL)过程。Kyuubi及其引擎都是存储独立的,支持众多的数据源,并且Kyuubi支持在连接级别隔离后台引擎实例,以便实现更好的计算资源隔离并提升稳定性。

Kyuubi和Livy以及Spark ThriftServer对比

对比项

Kyuubi

Livy

Spark ThriftServer

支持接口

SQL、Scala

SQL、Scala、Python and R

SQL

支持引擎

Spark、Flink、Trino

Spark

Spark

Spark版本

Spark 3.x

Spark 2.x & Spark 3.x

Spark组件自带

协议支持

Thrift + JDBC

HTTP,Thrift + JDBC

Thrift + JDBC

客户端

Kyuubi Beeline

HTTP Client

Spark Beeline

高可用

支持

支持

不支持

资源隔离

支持

支持

不支持

LDAP认证

支持

支持

支持

阿里云EMR版本

  • EMR-3.42.0及后续版本

  • EMR-5.8.0后续版本

  • EMR-3.40.0及之前版本

  • EMR-5.6.0及之前版本

所有版本

参考文档