HBase与Hive
二者对比
1.Hive
- 数据仓库:本质其实就相当于将hdfs中已经存储的文件在Mysql中做了一个双射关系,以方便用HQL去管理查询。
- 用于数据分析、清洗:Hive适用于离线的数据分析和清洗,延迟较高。
- 基于HDFS、MapReduce:Hive存储的数据依旧在DataNode上,编写的HQL语句终将是转换为MapReduce代码执行。
2.HBase
- 数据库:是一种面向列族存储的非关系型数据库。
- 用于存储结构化和非结构化数据:适用于单表非关系型数据的存储,不适合做关联查询,类似JOIN等操作。
- 基于HDFS:数据持久化存储的体现形式是HFile,存放于DataNode中,被ResionServer以region的形式进行管理。
- 延迟较低,接入在线业务使用:面对大量的企业数据,HBase可以实现单表大量数据的存储,同时提供了高校的数据访问速度。
HBase与Hive集成
1.环境配置
- 编辑/etc/profile
export HBASE_HOME=xxx
export HIVE_HOME=xxx
- 操作Hive可能对HBase产生影响,所以Hive需要持有操作HBase的jar包,可以使用软连接的形式
- 修改hive-site.xml中zookeeper属性
<property>
<name>hive.zookeeper.quorum</name>
<value>hostname1,2...</value>
</property>
<property>
<name>hive.zookeeper.client.port</name>
<value>2181</value>
</property>