赞
踩
1. 前言
前面讲了很多关于集群搭建、以及HDFS和MapReduce的基本操作,接下来终于能学习新的内容了。。
Hive本身是数据仓库,那么什么是数据仓库呢?
数据仓库是为了协助分析报告,支持决策,为需要业务智能的企业提供业务流程的改进和指导,从而节省时间和成本,提高质量。它与数据库系统的区别是,数据库系统可以很好的解决事务处理,实现对数据的“增删改查”操作,而数据仓库则是用来查询分析的数据库,通常不会用来做单条数据的插入、修改和删除。
2. 什么是Hive
Hive是基于Hadoop构建的一套数据仓库分析工具,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据。可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能;也可以将SQl语句转化为MapReduce任务运行,通过SQl去查询分析需要的内容。这套类SQL简称为HQL,使对MapReduce不熟悉的用户利用HQL语言查询、汇总、分析数据,简化MapReduce代码,从而使用Hadoop集群。而MapReduce开发人员可以把自己写的Mapper和Reducer作为插件来支持Hive做更复杂的数据分析。
3. Hive和数据库的异同
Hive与传统的关系型数据库不同,虽然Hive提供了类SQL的查询语言(Hive Query Language),但是引入HQL的主要目的是为了降低学习成本,其底层还是MapReduce。Hive本身是数据仓库,并不是数据库系统。
Hive和数据库的主要区别在于:查询语言、存储位置、数据格式、数据更新、索引、执行、执行延迟、可扩展性和数据规模几方面:
SQL语言到底和HQL语言有什么区别?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。