首先要知道 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. 策略模式demo

    /** StrategyContext. */ public class StrategyContext { private Strategy strategy; // 传入的是Strategy的实现 ...

  2. 非线性优化-SLAM14CP6

    在前声明下面有一部分直接引用高翔老师SLAM14讲中的内容.因为我实在是看不懂.临时放在这里.以后有用到再做详细研究. 在SLAM14讲的CP2中第一次引入运动方程以及观测方程来描述物体带着传感器在空 ...

  3. postman-error:SyntaxError: Invalid shorthand property initializer

    SyntaxError: Invalid shorthand property initializer 速记属性初始值设定项无效 原因:

  4. python机器学习——朴素贝叶斯算法

    背景与原理: 朴素贝叶斯算法是机器学习领域最经典的算法之一,仍然是用来解决分类问题的. 那么对于分类问题,我们的模型始终是:用$m$组数据,每条数据形如$(x_{1},...,x_{n},y)$,表示 ...

  5. Ajax属性

    如何创建一个 Ajax <script>         window.onload=function(){             1)创建一个异步调用对象             va ...

  6. redis事务和锁机制、持久化操作RDB/AOF

    一.Redis事务介绍 Redis事务是一个单独的隔离操作 :事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的命令请求所打断.Redis事务的主要作用就是串联多个 ...

  7. AD使用积累 - AD原理图界面选中所有器件但不选中电气连接线

    1.在随意一个器件上右键,选择查找相似对象. 2.在弹出的界面选择如下两项: 3.点击确定,会高亮所有元器件,这时再进行框选就可以只选中器件.

  8. 什么是DI

    属性的依赖注入,spring在通过IOC创建对象的时候,如果对象还有属性,就一并给赋值进去DI是在IOC的基础上进行对象的属性注入

  9. 四、用CSS制作图形以及简单动画

    一.利用阴影画一个月亮 说明:画月亮,需要先画一个圆,然后利用box-shadow属性,生成阴影,再将圆的颜色变为透明即可. <html> <head></head> ...

  10. 关于安装Wind金融终端后,启动QT后频繁跳出WDF.dll文件注册成功窗口的问题

    安装Wind金融终端后,启动QT后频繁跳出WDF.dll文件注册成功窗口的信息. 经过排查后发现,主要问题出在系统环境变量上. 安装了wind金融终端后,用户系统环境变量PATH里多了两个wind相关 ...