《Spark大数据分析:核心概念、技术及实践》一1.6 分布式SQL查询引擎

简介:
  本节书摘来自华章出版社《Spark大数据分析:核心概念、技术及实践》一书中的第1章,第1.6节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问云栖社区“华章计算机”公众号查看。


1.6 分布式SQL查询引擎

如前所述,SQL是最常用来查询和分析数据的语言之一。它易学且有群众基础(了解SQL的人远比了解编程语言如Java的人多)。基本上,Hive就是因此而诞生。不过,Hive依赖于MapReduce,因为它把HiveQL查询转换成MapReduce的作业任务。

MapReduce是一个强大的框架。然而,它用于处理批量数据,它有大吞吐量和高延迟。对于数据转换或者ETL(提取、转换、加载)作业来说,它的表现非常棒,但在交互式查询或实时分析方面则不是一个完美的平台。Hive继承了MapReduce的限制。这促进了使用不同架构的低延迟查询引擎的诞生。

本节讨论了几个没有使用MapReduce的开源且低延迟的分布式SQL查询引擎。Spark SQL也可以作为分布式查询引擎,但此处暂不涉及,第7章会详细讨论。

1.6.1 Impala

Impala是一个开源的数据分析软件。它提供了SQL接口来分析存储在HDFS和HBase中的大数据集,支持HiveQL以及Hive支持的类SQL语言,可用于批处理和实时查询。

Impala没有使用MapReduce。相反,它使用了一种专业的分布式查询引擎来避免高延迟。它的架构和商用数据库MPP(大规模并行处理)类似。带来的好处就是:它提供了比Hive快一个数量级的响应时间。

1.6.2 Presto

Presto也是一个用于分析大数据集的开源分布式SQL查询引擎。目前,它提供的SQL接口可以分析HDFS、Cassandra和关系数据库中的数据。它支持太字节和拍字节级数据的交互式分析查询。另外,它还支持组合多数据源进行查询。

Presto在架构上与Impala类似,没有用MapReduce来分析HDFS数据,而是实现了MPP架构。

1.6.3 Apache Drill

Apache Drill是另一个用于分析存储在HDFS或NoSQL数据库中大数据集的开源分布式SQL查询引擎,其灵感来源于Google的Dremel。它可以用来对拍字节级数据执行快速的交互式即席查询。和Presto与Impala类似,它实现了一个集群式的MPP架构。它支持ANSI SQL和JDBC/ODBC接口,所以可以使用在任何支持JDBC/ODBC的BI或数据可视化应用中。

Apache Drill的主要特性包括:动态模式发现,灵活的数据模型,去中心化的元数据和可扩展性。使用Drill查询数据集时,模式规范并不是必需的。它使用自描述的格式(如Avro、JSON、Parquet和NoSQL)所提供的信息来决定数据集的模式。它也能处理查询中模式的更改。

Drill支持层级式的数据模型来查询复杂数据。它可以查询复杂的嵌套数据结构。比如,它可以用来查询存储在JSON或Parquet中的嵌套数据而不用“铺平”它们。

在Drill中,中心化的元数据也不是必需的。它通过数据源的存储插件获取元数据。因为不依赖中心化的元数据,所以Drill可以用来从多个数据源中立即查询数据,比如,Hive、HBase和文件。因此,它可以用作一个数据可视化平台。

Dirll兼容Hive。可以在Hive环境中使用Drill来实现对现有Hive表的快速、交互式的即席查询。它支持Hive的元数据、UDF(用户定义的函数)和文件格式。

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
9月前
|
人工智能 安全 Java
分布式 Multi Agent 安全高可用探索与实践
在人工智能加速发展的今天,AI Agent 正在成为推动“人工智能+”战略落地的核心引擎。无论是技术趋势还是政策导向,都预示着一场深刻的变革正在发生。如果你也在探索 Agent 的应用场景,欢迎关注 AgentScope 项目,或尝试使用阿里云 MSE + Higress + Nacos 构建属于你的 AI 原生应用。一起,走进智能体的新世界。
1734 100
|
9月前
|
关系型数据库 Apache 微服务
《聊聊分布式》分布式系统基石:深入理解CAP理论及其工程实践
CAP理论指出分布式系统中一致性、可用性、分区容错性三者不可兼得,必须根据业务需求进行权衡。实际应用中,不同场景选择不同策略:金融系统重一致(CP),社交应用重可用(AP),内网系统可选CA。现代架构更趋向动态调整与混合策略,灵活应对复杂需求。
|
11月前
|
数据采集 消息中间件 监控
单机与分布式:社交媒体热点采集的实践经验
在舆情监控与数据分析中,单机脚本适合小规模采集如微博热榜,而小红书等大规模、高时效性需求则需分布式架构。通过Redis队列、代理IP与多节点协作,可提升采集效率与稳定性,适应数据规模与变化速度。架构选择应根据实际需求,兼顾扩展性与维护成本。
412 2
|
人工智能 安全 应用服务中间件
阿里巴巴 MCP 分布式落地实践:快速转换 HSF 到 MCP server
本文分享了阿里巴巴内部将大规模HSF服务快速转换为MCP Server的实践经验,通过Higress网关实现MCP协议卸载,无需修改代码即可接入MCP生态。文章分析了MCP生态面临的挑战,如协议快速迭代和SDK不稳定性,并详细介绍了操作步骤及组件功能。强调MCP虽非终极解决方案,但作为AI业务工程化的起点具有重要意义。最后总结指出,MCP只是AI原生应用发展的第一步,未来还有更多可能性值得探索。
1724 49
|
10月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1595 152
|
10月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1106 156
|
10月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
10月前
|
消息中间件 缓存 监控
中间件架构设计与实践:构建高性能分布式系统的核心基石
摘要 本文系统探讨了中间件技术及其在分布式系统中的核心价值。作者首先定义了中间件作为连接系统组件的"神经网络",强调其在数据传输、系统稳定性和扩展性中的关键作用。随后详细分类了中间件体系,包括通信中间件(如RabbitMQ/Kafka)、数据中间件(如Redis/MyCAT)等类型。文章重点剖析了消息中间件的实现机制,通过Spring Boot代码示例展示了消息生产者的完整实现,涵盖消息ID生成、持久化、批量发送及重试机制等关键技术点。最后,作者指出中间件架构设计对系统性能的决定性影响,
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
4111 57

热门文章

最新文章