Hive与HBase之间的区别和联系_hive hbase-程序员宅基地

技术标签: hive  大数据学习  hadoop  hbase  

目录

概念

Hive

HBase

共同点

区别

关系


首先要知道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端从数据库获取数据进行可视化

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_55868614/article/details/121147275

智能推荐

美化HTML复选框(checkbox)的CSS样式_css checkbox样式美化-程序员宅基地

文章浏览阅读376次。在Web开发中,经常需要使用HTML复选框(checkbox)来实现用户的选择和多选功能。然而,默认的HTML复选框样式通常比较简单和普通,无法满足一些特殊设计需求。为了提升用户体验和界面美观度,我们可以使用CSS来自定义HTML复选框的样式。通过以上的HTML和CSS代码,我们成功地实现了一个自定义样式的HTML复选框。,我们为标签元素留出了空间来放置自定义的复选框样式,同时设置了。,我们将其定位在复选框内的适当位置,并设置了一些样式属性如。在上述代码中,我们使用了一个隐藏的复选框和一个相邻的。_css checkbox样式美化

Qt如何实现后台运行,无界面进程(不是系统托盘)_qt 界面程序转无界面工程-程序员宅基地

文章浏览阅读2.8k次。一招就好:_qt 界面程序转无界面工程

解决安卓模拟器系统中已经是root用户,mount仍然报错:Permission denied_mount: permission denied (are you root?)-程序员宅基地

文章浏览阅读3.4k次。错误信息:root@android:/ # mount -o rw,remount,rw /systemroot@android:/ # mount -o rw,remount,rw /system mount: Permission denied原因分析:可能是系统在启动的时候/system目录已经被分成ro(read-only)权限。所以需要在启动的预先设置为rw权限。1. 找..._mount: permission denied (are you root?)

计算机丢失concrt140,小编教你解决concrt140 dll 【解决教程】 的技巧_-程序员宅基地

文章浏览阅读4.5w次。近日有小伙伴发现电脑出现问题了,在突然遇到concrt140 dll时不知所措了,对于concrt140 dll带来的问题,其实很好解决concrt140 dll带来的问题,下面小编跟大家介绍concrt140 dll解决方法:丢失CONCRT140.dll,怎么办?答:分析及解决:网上下载这个DLL文件,将其放置到system32目录下面。 重启系统,或者在CMD下面运行regsvr32*.dl..._concrt140.dll下载教程

微信小程序源码案例大全_微信小程序switch页面demo-程序员宅基地

文章浏览阅读4.3k次,点赞4次,收藏62次。微信小程序demo:足球,赛事分析 小程序简易导航 小程序demo:办公审批 小程序Demo:电魔方 小程序demo:借阅伴侣 微信小程序demo:投票 微信小程序demo:健康生活 小程序demo:文章列表demo 微商城(含微信小程序)完整源码+配置指南 微信小程序Demo:一个简单的工作系统 微信小程序Demo:用于聚会的小程序 微信小程序Demo:Growth 是一款..._微信小程序switch页面demo

SLAM学习笔记(Code2)----刚体运动、Eigen库_eigen.determinant-程序员宅基地

文章浏览阅读2.2k次。2.1除了#include<iostream>之外的头文件#include <Eigen/Core>//Core:核心#include <Eigen/Dense>//求矩阵的逆、特征值、行列式等#include <Eigen/Geometry>//Eigen的几何模块,可以利用矩阵完成如旋转、平移/***其他***/#include <ctime>//可用于计时,比较哪个程序更快#include <cmath>//包含a_eigen.determinant

随便推点

iptables-程序员宅基地

文章浏览阅读65次。iptables介绍和禁icmpnetfilter --> iptables 防火墙名字是netfilter iptables是命令1.filter(过滤包,用的最多的,)内建三个链: 1.INPUT作用于进入本机的包 2.OUTPUT作用于本机送出的包 3.FORWARD作用于那些跟本机无关的包2.nat (主要用处是..._linux iptables 计数器 实现在哪

Win7/10-Anaconda3-【Python3.7】详细安装教程_python3.7版本的anaconda-程序员宅基地

文章浏览阅读1.1w次,点赞19次,收藏89次。Win7/10-Anaconda3-【Python3.7】详细安装教程一.资源下载二.安装过程2.1 详细过程2.2 环境变量三.检查是否安装成功3.1 检查开始菜单3.2 cmd控制台检查一.资源下载第一种方式(镜像下载)由于Anaconda3-python3.7属于老版本的,所以 Anaconda官网已经不存在了,大家可以去清华镜像下载自己所需要的,为什么去清华镜像下载呢?因为下载的快呀~链接: 清华镜像-Anaconda3-python3.7-5.3.1这个版本.第二种方式这个_python3.7版本的anaconda

《重构-改善既有代码》-程序员宅基地

文章浏览阅读1.2k次,点赞15次,收藏21次。1、如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构哪个程序,使特性的添加比较容易的进行,然后再添加特性2、重构前,先检查自己是否有一套可靠的测试机制,这些测试必须有自我检验能力3、重构技术就是以微小的步伐修改程序,如果你犯下错误,很容易便可发现它4、任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员5、重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

NILM(非侵入式电力负荷监测)学习笔记 —— 准备工作(一)配置环境NILMTK Toolkit_nilmtk学习-程序员宅基地

文章浏览阅读1.9w次,点赞27次,收藏122次。安装Anaconda,Python,pycharm我另一篇文章里面有介绍https://blog.csdn.net/wwb1990/article/details/103883775安装NILMTK有了上面的环境,接下来进入正题。NILMTK官网:http://nilmtk.github.io/因为官方安装流程是基于linux的(官方安装流程),我这里提供windows..._nilmtk学习

k8s-pod 控制器-程序员宅基地

文章浏览阅读826次,点赞20次,收藏28次。如果实际 Pod 数量比指定的多那就结束掉多余的,如果实际数量比指定的少就新启动一些Pod,当 Pod 失败、被删除或者挂掉后,RC 都会去自动创建新的 Pod 来保证副本数量,所以即使只有一个 Pod,我们也应该使用 RC 来管理我们的 Pod。label 与 selector 配合,可以实现对象的“关联”,“Pod 控制器” 与 Pod 是相关联的 —— “Pod 控制器”依赖于 Pod,可以给 Pod 设置 label,然后给“控制器”设置对应的 selector,这就实现了对象的关联。

相关工具设置-程序员宅基地

文章浏览阅读57次。1. ultraEdit设置禁止自动更新: 菜单栏:高级->配置->应用程序布局->其他 取消勾选“自动检查更新”2.xshell 传输文件中设置编码,防止乱码: 文件 -- 属性 -- 选项 -- 连接 -- 使用UTF-8编码3.乱码修改:修改tomcat下配置中,修改: <Connector connectionTimeou..._高级-配置-应用程序布局