推荐大数据相关技术文章:
大数据技术文章汇总-Hadoop、MapReduce、Storm、Spark、Flink
Hive是一个构建在Hadoop上的数据仓库框架。最初,Hive是由Facebook开发,后来移交由Apache软件基金会开发,并作为一个Apache开源项目。
Hive和传统数据仓库一样,主要用来协助分析 表,支持决策。与传统数据仓库较大的区别是:Hive 可以处理超大规模的数据,可扩展性和容错性非常强。
Hive 将所有数据存储在HDFS中,并建立在Hadoop 之上,大部分的查询、计算由MapReduce完成。
Hadoop 生态系统
Hadoop是一个开源框架来存储和处理大型数据在分布式环境中。它包含两个模块,一个是MapReduce,另外一个是Hadoop分布式文件系统(HDFS)。
Hadoop生态系统包含了用于协助Hadoop的不同的子项目(工具)模块,如Sqoop, Pig 和 Hive。
Hive 和传统数据库的异同
Hive采用了类SQL的查询语言HQL(Hive Query Language),底层还是MapReduce。Hive本身是数据仓库,并不是数据库系统。
Hive数据访问执行延迟高,不适合在线查询数据。
Hive在企业大数据分析平台中的应用
当前企业中部署的大数据分析平台,除Hadoop的基本组件HDFS和MapReduce外,还结合使用Hive、Pig、Hbase、Mahout,从而满足不同业务场景需求。
上图是企业中一种常见的大数据分析平台部署框架 ,在这种部署架构中:
Hive 系统架构
下图显示Hive的主要组成模块、Hive如何与Hadoop交互工作、以及从外部访问Hive的几种典型方式。
Hive主要由以下三个模块组成:
把SQL 转化为MapReduce 任务的步骤
当Hive接收到一条HQL语句后,需要与Hadoop交互工作来完成该操作。HQL首先进入驱动模块,由驱动模块中的编译器解析编译,并由优化器对该操作进行优化计算,然后交给执行器去执行。执行器通常启动一个或多个MR任务,有时也不启动(如SELECT * FROM tb1,全表扫描,不存在投影和选择操作)。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!