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>

相关推荐