一种基于HiveSQL的增加任务并行度与建立中间表组合的优化查询方法
2021-03-14郑灵逸李擎
现代计算机 2021年36期
郑灵逸,李擎
(1.北京信息科技大学自动化学院,北京 100192;2.高动态导航技术北京市重点实验室,北京 100192)
0 引言
在如今的大数据时代[1],大数据的处理和查询越来越成为研究的重点和技术攻克的难关,其中主要的问题在于数据量级庞大并且数据每日更新,一方面很难对如此大量的数据做到有效的管理,另一方面也很难从数据量为Pb[2]的数据中得到所需要的数据。MySql 作为一种最流行的关系型数据库,它有着查询效率高、数据准确且无数据重复的特点,在数据量为Gb的数据处理场景当中被广泛使用。然而,在大数据处理场景之下[3],MySql存在明显的缺点,MySql在使用大量存储过程中每个连接的内存使用量将会大大增加,由于MySql 不允许调试存储的特点,使得开发和维护存储过程都较为困难。为了能够更好存储和处理Pb 级别的数据量,从大数据应用场景下提取所需要的数据,许多学者将Hadoop生态系统下的Hive数据库作为大数据场景下的存储和处理工具,并将SQL 作为Hive的查询工具。Hadoop 是一个开发和运行处理大数据的软件平台,是Apache 的一个用Java 语言实现的开源软件框架,实现通过大量计算机组成的集群对海量数据进行分布式计算。Hadoop 的核心是HDFS[4]、MapReduce 和YARN,这使得它具有可靠、高效、可伸缩的特点[5]。Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,是一种可以存储、查询和分析存储在Hadoop 中的大规模数据的工具。Hive 数据库由于其具有提供类SQL 查询语言HQL[6]、为超大数据集设计了计算和扩展能力[7]以及提供统一的元数据管理等优点,是其他大数据处理技术无法比拟的。……
登录APP查看全文
