Hive
不想用程序语言开发MapReduce的朋友好比DB们,熟悉SQL的朋友可使用Hive开离线的进行数据处理与分析工做。数据库
注意Hive如今适合在离线下进行数据的操做,就是说不适合在挂在真实的生产环境中进行实时的在线查询或操做,由于一个字“慢”。相反架构
起源于FaceBook,Hive在Hadoop中扮演数据仓库的角色。创建在Hadoop集群的最顶层,对存储在Hadoop群上的数据提供类SQL的接口进行操做。你能够用 HiveQL进行select,join,等等操做。dom
若是你有数据仓库的需求而且你擅长写SQL而且不想写MapReduce jobs就能够用Hive代替。分布式
HBaseide
HBase做为面向列的数据库运行在HDFS之上,HDFS缺少随即读写操做,HBase正是为此而出现。HBase以Google BigTable为蓝本,以键值对的形式存储。项目的目标就是快速在主机内数十亿行数据中定位所需的数据并访问它。工具
HBase是一个数据库,一个NoSql的数据库,像其余数据库同样提供随即读写功能,Hadoop不能知足实时须要,HBase正能够知足。若是你须要实时访问一些数据,就把它存入HBase。oop
你能够用Hadoop做为静态数据仓库,HBase做为数据存储,放那些进行一些操做会改变的数据。
HDFS和HBase的区别:
Hbase: Hadoop database 的简称,也就是基于Hadoop数据库,是一种NoSQL数据库,主要适用于海量明细数据(十亿、百亿)的随机实时查询,如日志明细、交易清单、轨迹行为等。
Hive:Hive是Hadoop数据仓库,严格来说,不是数据库,主要是让开发人员能够通过SQL来计算和处理HDFS上的结构化数据,适用于离线的批量数据计算。
通过元数据来描述Hdfs上的结构化文本数据,通俗点来说,就是定义一张表来描述HDFS上的结构化文本,包括各列数据名称,数据类型是什么等,方便我们处理数据,当前很多SQL ON Hadoop的计算引擎均用的是hive的元数据,如Spark SQL、Impala等;
基于第一点,通过SQL来处理和计算HDFS的数据,Hive会将SQL翻译为Mapreduce来处理数据;
了解更多大数据培训课程相关技术知识欢迎关注小编!