小米集团SQL on Hadoop实践与优化:从架构到解决方案

版权申诉
0 下载量 182 浏览量 更新于2024-07-05 收藏 2.84MB PDF 举报
本文档深入探讨了在小米集团内部对SQL on Hadoop技术的应用与优化实践,作者是周康,他分享了该团队作为元数据服务和Ad-hoc查询服务提供商的角色,服务范围涵盖了Hive、Kylin、Druid、Doris和MiQuery等工具。主要讨论内容分为两个部分:概述和小米的实践与优化。 在概述部分,作者首先介绍了小米的集群架构,包括7个海外集群,其中包含大量数据,如11个表、450万+分区和超过20万的SparkSQL查询。有效查询数分别达到了10万次(HiveSQL)和25万次(SparkSQL)。这展示了大数据处理在小米的广泛应用和高并发需求。 SQL on Hadoop路由方案是核心部分,面临的主要挑战是如何提供统一的访问接口、灵活的智能引擎以及适应不同的场景需求。为此,团队采用了SQLProxy方案,它作为一个统一接入点,根据场景不同划分为HiveSQL和SparkSQL服务。SQLProxy通过改造SparkThriftServer,实现了去中心化、无Hadoop依赖,并支持按Session和队列限制并发连接,同时还提供了HTTP模式下的自定义鉴权功能。 针对PowerBI的需求,SQLProxy进行了个性化改造,允许其与PowerBI无缝集成,支持SparkSQL,但PowerBI原生不支持Kylin、Druid和Doris。通过PowerBIonSQLProxy,用户可以使用HTTP模式接入,享受对多种OLAP引擎的支持,且能自定义认证逻辑和业务数据权限。 Hiveserver2的部署架构也得到了关注,包括LVS的权重调整、元数据服务的动态扩展以及服务的Online和StandBy模式,以确保高可用性和资源管理的灵活性。SparkSQLOLAP方案则提出了SparkSQL服务化的解决方案,强调了Session级别的隔离、资源管理和基于Metastore的元数据管理。 整体而言,本文详细描述了小米在利用SQL on Hadoop技术应对海量数据处理中的实践策略和优化过程,对于其他企业寻求同类问题的解决方案具有很高的参考价值。