1.Hive是由Facebook公司开发的一个构建在Hadoop之上的数据仓库工具,在某种程度上可以看作是用户编程接口,其本身并不存储和处理数据
2.Hive一般依赖于分布式文件系统HDFS,而传统数据库则依赖于本地文件系统,Hive和传统关系数据库都支持分区,传统关系数据库很难实现横向扩展,Hive具有很好的水平扩展性
3.Hive的用户接口模块包括:HWI(Hive Web Interface),JDBC/ODBC,Thrift Server
4.Impala和Hive、HDFS、HBase等工具可以统一部署在一个Hadoop平台上,Hive本身不存储和处理数据,依赖HDFS存储数据,依赖MapReduce处理数据,HiveQL语法与传统的SQL语法很相似
5.数据仓库的特性:面向主题的(Subject Oriented),集成的(Integrated),相对稳定的(Non-Volatile),反映历史变化
6.HDFS作为高可靠的底层存储,用来存储Hive的海量数据,MapReduce对这些海量数据进行批处理,实现Hive的高性能计算,当采用MapRedue作为Hive的执行引擎时,用HiveQL语句编写的处理逻辑,最终都要转化为MapReduce任务来运行,HBase与Hive的功能是互补的,它实现了Hive不能提供的功能
7.Hive的三个主要模块:用户接口模块,用户查询模块,元数据存储模块
8.采用MapReduce作为Hive的执行引擎时:当用户向Hive输入一段命令或查询(即HiveQL语句)时,Hive需要与Hadoop交互工作来完成该操作,命令或查询首先进入到驱动模块,由驱动模块中的编译器进行解析编译,并由优化器对该操作进行优化计算,然后交给执行器去执行,执行器通常的任务是启动一个或多个MapReduce任务,有时也不需要启动MapReduce任务
标签:HDFS,存储,每日,MapReduce,Hive,Hadoop,博客,模块 From: https://www.cnblogs.com/LiuLyuancn/p/17778232.html