"2-8+Apache+Kyuubi+(Incubating)+在网易的深度实践"
Apache Kyuubi 是一个分布式、多租户的 Thrift JDBC/ODBC 服务器,专为大规模数据管理和分析设计,它构建在 Apache Spark 之上,并且计划支持更多如 Apache Flink 的计算引擎。作为网易的首个贡献给 Apache 并进入孵化器的开源项目,自 2018 年以来,Kyuubi 旨在提供一个用于数据仓库和数据湖的“开箱即用”工具。
Kyuubi 的主要特点和优势包括:
1. 开源:意味着社区驱动的持续改进和广泛的社区支持。
2. 多租户:支持多个用户或团队共享同一服务,确保资源隔离和安全性。
3. 兼容 Hive JDBC:允许使用 Hive 客户端与 Kyuubi 进行交互,无缝对接现有的 Hive 应用。
4. Spark 计算引擎:利用 Spark 强大的计算能力,提供高效的数据处理。
5. 大规模数据处理能力:设计用于处理海量数据场景。
6. 开箱即用:简化部署和配置流程,便于快速上手使用。
Kyuubi 相比于 HiveServer2 和 SparkThriftServer,有以下显著区别:
1. 对外接口:三者都支持 HiveJDBC,但 Kyuubi 在设计时更注重多租户和扩展性。
2. 计算引擎:HiveServer2 使用 MapReduce,SparkThriftServer 和 Kyuubi 则采用 Spark。
3. SQL 解析优化:Kyuubi 的优化在引擎端进行,而 HiveServer2 和 SparkThriftServer 在服务端。
4. 多租户支持:Kyuubi 提供,而 SparkThriftServer 不支持。
5. 动态资源配置:Kyuubi 实现了引擎粒度的动态配置,而 HiveServer2 只能做到 SQL 粒度,SparkThriftServer 则不支持。
6. 高可用性:Kyuubi 和 HiveServer2 支持,SparkThriftServer 不支持。
7. 并发查询能力:Kyuubi 和 HiveServer2 可扩展,SparkThriftServer 不可扩展。
8. 多版本 Spark 支持:Kyuubi 支持,SparkThriftServer 不支持。
9. 云原生:Kyuubi 设计时考虑了云环境,提供 Minikube 集成测试,而其他两者不支持或无相关测试。
10. 架构设计:Kyuubi 的架构更加适合现代云环境的需求。
在网易内部,Kyuubi 应用于多种业务场景,服务于各种用户画像,可能包括但不限于数据分析人员、数据工程师、数据科学家等,帮助他们高效地访问和处理大规模数据,同时通过多租户管理,确保了资源的有效分配和系统稳定性。由于文档中未提供具体业务场景和用户画像的详细信息,这部分内容无法进一步展开。然而,可以推测,Kyuubi 在网易的实践中可能涉及到实时分析、报表生成、数据挖掘等多种任务。