|
Hive是一个构建在Hadoop之上的数据仓库工具,由Facebook公司开发,并在2008年8月开源。Hive在某种程度上可以看作是用户编程接口,其本身并不存储和处理数据,而是依赖HDFS来存储数据,依赖MapReduce(或者Tez、Spark)来处理数据。Hive定义了简单的类似SQL的查询语言——HiveQL,它与大部分SQL语法兼容。 当采用MapReduce作为执行引擎时,HiveQL语句可以快速实现简单的MapReduce任务,这样用户通过编写的HiveQL语句就可以运行MapReduce任务,不必编写复杂的MapReduce应用程序。对于Java开发工程师而言,就不必花费大量精力在记忆常见的数据运算与底层的MapReduce Java API的对应关系上;对于数据库管理员来说,可以很容易把原来构建在关系数据库上的数据仓库应用程序移植到Hadoop平台上。所以说,Hive是一个可以有效、合理、直观地组织和使用数据的分析工具。 现在,Hive作为Hadoop平台上的数据仓库工具,其应用已经十分广泛,主要是因为它具有的特点非常适合数据仓库应用程序。首先,当采用MapReduce作为执行引擎时,Hive把HiveQL语句转换成MapReduce任务后,采用批处理的方式对海量数据进行处理。数据仓库存储的是静态数据,构建于数据仓库上的应用程序只进行相关的静态数据分析,不需要快速响应给出结果,而且数据本身也不会频繁变化,因而很适合采用MapReduce进行批处理。其次,Hive本身还提供了一系列对数据进行提取转化加载的工具,可以存储、查询和分析存储在Hadoop中的大规模数据。这些工具能够很好地满足数据仓库各种应用场景,包括维护海量数据、对数据进行挖掘、形成意见和报告等。 【出处】林子雨.大数据技术原理与应用(第3版).人民邮电出版社,2021年1月.
|