上QQ阅读APP看书,第一时间看更新
1.2.1 Hive简介
2007年,Facebook公司(现Meta公司)为了对每天产生的海量网络平台数据进行分析而开发了Hive。翌年,Hive成为Apache软件基金会维护的一个开源项目,并逐渐成为顶级项目。Facebook公司设计开发Hive的初衷是让那些熟悉SQL编程方式的人也可以更好地使用Hadoop。数据分析人员在对存储于HDFS中的数据进行分析与管理时,只关注具体业务模型,不需要使用基于Java开发的MapReduce应用程序,而是通过Hive编写Hive Query Language(简称HQL或HiveQL)语句,再调用底层执行引擎MapReduce完成操作。
在Hadoop中MapReduce的主要工作原理是将计算任务切分成多个小单元,分布到各个节点上执行,从而降低计算成本并提高可扩展性。但是使用MapReduce进行数据处理的人员门槛比较高,对于传统数据库开发、管理运维而言,需具备一定编程语言基础并必须掌握基于Java或Python面向MapReduce的应用程序接口(Application Program Interface,API)。此外,数据存储在HDFS中,并没有Schema(模式)的概念。Schema指的是表里面的列、字段、字段名称、字段与字段之间的分隔符等元素,也称为Schema信息。如果将数据从传统的关系数据库迁移至HDFS进行应用,会产生Schema信息的缺失,此时Hive就成为传统数据架构和Hadoop MapReduce之间的“桥梁”。