Hive是建立在Hadoop文件系统上的数据仓库,它提供了一系列工具,能够对存储在HDFS中的数据进行数据提取、转换和加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的工具。
Hive定义了简单的类SQL查询语言,称为HQL,它可以将结构化的数据文件映射为一张数据表,允许熟悉 SQL 的用户查询数据,也允许熟悉 MapReduce 的开发者开发自定义的 mapper和 reducer来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作,相对于Java代码编写的MapReduce来说,Hive的优势更加明显。
由于Hive采用了SQL的查询语言HQL,因此很容易将Hive理解为数据库。其实从结构上来看,Hive和数据库除了拥有类似的查询语言,再无类似之处。接下来,我们以传统数据库MySQL和Hive的对比为例,通过他们的对比来帮助大家理解Hive的特性,具体如表1所示。
表1 Hive与传统数据库对比
什么是Hive?它有哪些特点和特性?通过上面的详细介绍,同学们都了解了吗?如果还想了解更多这方面的知识和相关资料,可以关注小千,后期分享更多Python知识。