1. 术语
1. 术语
1.1. Kyuubi
Kyuubi 是构建在 Apache Spark 之上的统一多租户 JDBC 接口,用于大规模数据处理与分析。
1.1.1. JDBC
Java 数据库连接(JDBC)API 是 Java 编程语言与各类数据库 SQL 数据库及其他表格类数据源(如电子表格或纯文本文件)之间实现数据库无关连接的行业标准。JDBC API 提供了基于调用层级的 API,用于 SQL 数据库访问。
JDBC 技术使你能够利用 Java 编程语言的“一次编写,到处运行”特性,构建需要访问企业数据的应用程序。借助支持 JDBC 技术的驱动程序,即使在异构环境中,你也可以连接所有企业数据。
https://www.oracle.com/java/technologies/javase/javase-tech-database.html
通常,业务开发与大数据分析之间存在鸿沟。如果将二者强行耦合,会使相应系统难以运维和优化;反之,如果将二者解耦,则可以使两者的价值都得到最大化。业务专家可以专注于自身的业务开发,而大数据工程师则可以持续优化服务端的性能与稳定性。Kyuubi 通过一个易用的 JDBC 接口将二者无缝结合。
1.1.1.1. Apache Hive
Apache Hive™ 数据仓库软件便于使用 SQL 对存储在分布式存储中的大规模数据集进行读取、写入和管理。可以将结构投影到已存储的数据上。它提供了命令行工具和 JDBC 驱动程序,以便用户连接到 Hive。
Kyuubi 支持 Hive JDBC 驱动程序,帮助你将慢查询从 Hive 无缝迁移到 Spark SQL。
1.1.1.2. Apache Thrift
Apache Thrift 软件框架用于可扩展的跨语言服务开发,它将软件栈与代码生成引擎结合在一起,构建能够在 C++、Java、Python、PHP、Ruby、Erlang、Perl、Haskell、C#、Cocoa、JavaScript、Node.js、Smalltalk、OCaml 和 Delphi 等语言之间高效、无缝协同工作的服务。
1.1.2. Server
Server(服务器)是一个守护进程,用于处理并发的连接和查询请求,并将这些请求转换为针对查询引擎的各种操作,从而完成对客户端的响应。
别名:Kyuubi Server / Kyuubi Instance / k.i.
1.1.3. ServerSpace
ServerSpace 用于注册服务器,并将它们作为一个服务层统一暴露给客户端。
1.1.4. Engine
Engine(引擎)通过 Kyuubi 服务器处理所有查询。它在某个 Kyuubi 服务器中创建,并可以通过注册到引擎命名空间的方式与其他 Kyuubi 服务器共享。其所有能力主要由 Spark SQL 提供。
别名:查询引擎 / 引擎实例 / e.i.
1.1.5. EngineSpace
EngineSpace 在内部被服务器用于注册引擎并与引擎进行交互。
1.1.5.1. Apache Spark
Apache Spark™ 是一个用于大规模数据处理的统一分析引擎。
1.1.6. 多租户
Kyuubi 在以下链路中保证端到端的多租户隔离与共享
Client --> Kyuubi --> Query Engine(Spark) --> Resource Manager --> Data Storage Layer1.1.7. 高可用 / 负载均衡
作为一项企业级服务,SLA 承诺至关重要。以高可用(HA)模式部署 Kyuubi 可以帮助你满足这一要求。
1.1.7.1. Apache ZooKeeper
Apache ZooKeeper 是一个用于开发和维护开源服务器的项目,该服务器支持高可靠性的分布式协调。
1.1.7.2. Apache Curator
Apache Curator 是 Apache ZooKeeper(一种分布式协调服务)的 Java/JVM 客户端库。它包含一个高层 API 框架和一系列工具,使使用 Apache ZooKeeper 更加简单、可靠。它还提供了针对常见用例的配方(recipes)以及诸如服务发现和 Java 8 异步 DSL 之类的扩展。
1.2. 数据湖与湖仓
Kyuubi 以最简洁的纯 SQL 方式统一了数据湖与湖仓的访问,同时借助身份认证和 SQL 标准授权机制,这也是最安全的方式。
1.2.1. Apache Iceberg
Apache Iceberg 是面向大规模分析型数据集的开放表格式。Iceberg 为 Trino 和 Spark 增加了表的概念,这些表使用高性能格式,其使用方式与 SQL 表完全一致。
1.2.2. Delta Lake
Delta Lake 是一个开源存储层,为 Apache Spark™ 和大数据工作负载带来 ACID 事务能力。
1.2.3. Apache Hudi
Apache Hudi 负责在 DFS(HDFS 或云存储)上摄取并管理大规模分析型数据集的存储。
评论
登录后参与评论
KnowForge