首先要知道 Hive 和 HBase 两者的区别,我们必须要知道两者的作用和在大数据中扮演的角色

概念

Hive

1.Hive 是 hadoop 数据仓库管理工具,严格来说,不是数据库,本身是不存储数据和处理数据的,其依赖于 HDFS 存储数据,依赖于 MapReducer 进行数据处理。

2.Hive 的优点是学习成本低,可以通过类 SQL 语句(HSQL)快速实现简单的 MR 任务,不必开发专门的 MR 程序。

3.由于 Hive 是依赖于 MapReducer 处理数据的,因此有很高的延迟性,不适用于实时数据处理(数据查询,数据插入,数据分析),适用于离线数据的批处理。

HBase

1.HBase 是一种分布式、可扩展、支持海量数据存储的 NOSQL 数据库

2.HBase 主要适用于海量数据的实时数据处理(随机读写)

3.由于 HDFS 不支持随机读写,而 HBase 正是为此而诞生的,弥补了 HDFS 的不可随机读写。

共同点

hbase 与 hive 都是架构在 hadoop 之上的。都是用 HDFS 作为底层存储。

区别

1.Hive 是建立在 Hadoop 之上为了减少 MapReduce jobs 编写工作的批处理系统,HBase 是为了支持弥补 Hadoop 对实时操作的缺陷的项目 。总的来说,hive 是适用于离线数据的批处理,hbase 是适用于实时数据的处理。

2.Hive 本身不存储和计算数据,它完全依赖于 HDFS 存储数据和 MapReduce 处理数据,Hive 中的表纯逻辑。

3.hbase 是物理表,不是逻辑表,提供一个超大的内存 hash 表,搜索引擎通过它来存储索引,方便查询操作。

4.由于 HDFS 的不可随机读写,hive 是不支持随机写操作,而 hbase 支持随机写入操作。

5.HBase 只支持简单的键查询,不支持复杂的条件查询

关系

在大数据架构中,Hive 和 HBase 是协作关系,这里就举例一种常用的协作关系,具体流程如下图:

流程:

1.Hive 创建一张外部表与 HBase 表关联,因此只需对 Hive 表进行查询即可,Hive 表会自动从关联的 HBase 表中获取数据

2.采集的数据保存到 HBase 表,因为 HBase 表支持随机写操作,这个可以根据业务需求决定

3.Hive 通过 HSQ 语句创建 MR 任务去处理分析数据

3.MR 将分析的结果最终存储到常用的数据库(Mysql 数据库)

4.web 端从数据库获取数据进行可视化

Hive 与 HBase 之间的区别和联系的更多相关文章

  1. 大数据学习系列之五 ----- Hive整合HBase图文详解

    引言 在上一篇 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机) 和之前的大数据学习系列之二 ----- HBase环境搭建(单机) 中成功搭建了Hive和HBase的环 ...

  2. hive与hbase的联系与区别

    hive与hbase的联系与区别: 共同点: 1.hbase与hive都是架构在hadoop之上的.都是用hadoop作为底层存储. 他们的底层是要通过mapreduce分布式计算的,hbase.hi ...

  3. Hive和HBase的区别 转载:https://www.cnblogs.com/guoruibing/articles/9894521.html

    1.Hive和HBase的区别 1)hive是sql语言,通过数据库的方式来操作hdfs文件系统,为了简化编程,底层计算方式为mapreduce. 2)hive是面向行存储的数据库. 3)Hive本身 ...

  4. [转帖]hive与hbase的联系与区别:

    https://www.cnblogs.com/xubiao/p/5571176.html 原作者写的很好.. 这里面简单学习总结一下.. 都是bigdata的工具, 都是基于google的bigta ...

  5. hive、Hbase、mysql的区别

    1.Hive和HBase的区别 1)hive是sql语言,通过数据库的方式来操作hdfs文件系统,为了简化编程,底层计算方式为mapreduce. 2)hive是面向行存储的数据库. 3)Hive本身 ...

  6. Hive与HBase区别

    对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用. ====Hive是什么?Apache Hiv ...

  7. 夏梦竹谈Hive vs. HBase的区别

    对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用.  Hive是什么? Apache Hive是 ...

  8. HIVE和HBASE区别11

    对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用.  Hive是什么? Apache Hive是 ...

  9. [转载] Hive与HBase的联系与区别

    转载自http://blog.csdn.net/wangmuming/article/details/23954527和http://www.cnblogs.com/justinzhang/p/427 ...

  10. hive和hbase区别和联系

    作者:有点文链接:https://www.zhihu.com/question/21677041/answer/185664626来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

随机推荐

  1. Kubernetes--管理Pod对象的容器(1)

    Pod是Kubernetes系统的基础单元,是资源对象模型中可由用户创建或部署的最小组件,也是在Kubernetes系统上运行容器化应用的资源对象.其他的大多数资源对象都是用于支撑和扩展Pod对象功能 ...

  2. ASCII,unicode与utf-8的区别

    ASCII,unicode与utf-8的区别: ASCII码只有127个字母被编到计算机中,无法处理中文,ASCII 编码是 1 个字节 unicode是为了解决因各国标准不同而产生乱码的问题.uni ...

  3. react复制文案到剪切板

    这里使用别人写好的插件. 1.安装要用到的插件:copy-to-clipboard: 2.导入: import copy from 'copy-to-clipboard'; 3.使用: copy(co ...

  4. java中锁的应用(synchronized)

    在面试菜鸟的时候碰到的锁的编程问题,没答好,记录一下: package com.xielu.test; /** * Hello world! * */ public class App { priva ...

  5. 【C++小程序】《我要抽签》b1.0做好了~

    也许是的,得横空出世了 如你所见 这款基于\(C++\)能模仿Mrs. Yao抽签系统的cpp终于做完了啦~ 初期功能很少.\(BUG\)极多. 所以为了您的体验:) 请遵守格式 代码: #inclu ...

  6. 在uni-app中调用高德地图去导航

    1.判断一下是不是在微信环境 2.微信环境调用微信自带的地图导航 3.h5环境跳转去高德地图 guide() { let self = this; console.log("self.lat ...

  7. 高德地图使用websocket后重新设置点进行优化

    // 设置第一次点赋值,重新定义一个新数组,将设备号为对象名,索引值作为键值 const getListNEW = useCallback( (params, reload, gps) => { ...

  8. centos6放行防火墙8080端口操作

    1. 进入防火墙文件: [ vi /etc/sysconfig/iptables ] 2. 放行8080端口: [ -A RH-Firewall-1-INPUT -m state --state NE ...

  9. 【第4次作业】CNN实战

    使用VGG模型进行猫狗大战 import numpy as np import matplotlib.pyplot as plt import os import torch import torch ...

  10. JS变量之间赋值,修改变量值,原变量会随之改变的问题

    现象: 开发vue项目的过程中,需要多次用到一份基础数据,为减少代码量,提高一下复用效果,便用变量A来定义,在项目中需要用到时就用变量A进行赋值. 在项目中调用时,我新定义一个变量B,再将变量A赋值给 ...