大数据之hadoop / hive / hbase 的区别是什么?有什么应用场景?

栏目: 数据库 · 发布时间: 7年前

内容简介:它是一个通俗的说是一个它的优势是对历史数据进行处理,用时下流行的说法是离线计算,因为它的

它是一个 分布式计算+分布式文件系统 ,前者其实就是 MapReduce ,后者是 HDFS 。后者可以独立运行,前者可以选择性使用,也可以不使用

2. hive

通俗的说是一个 数据仓库 ,仓库中的数据是被hdfs管理的数据文件,它支持类似 sql 语句的功能,你可以通过该语句完成分布式环境下的计算功能, hive会把语句转换成MapReduce,然后交给hadoop执行 。这里的计算,仅限于查找和分析,而不是更新、增加和删除。

它的优势是对历史数据进行处理,用时下流行的说法是离线计算,因为它的 底层是MapReduce ,MapReduce在实时计算上性能很差。它的做法是把数据文件加载进来作为一个hive表(或者外部表),让你觉得你的sql操作的是传统的表。

3. hbase

通俗的说,hbase的作用类似于数据库,传统数据库管理的是集中的本地数据文件,而 hbase基于hdfs实现对分布式数据文件的管理,比如增删改查 。也就是说,hbase只是利用hadoop的hdfs帮助其管理数据的持久化文件(HFile), 它跟MapReduce没任何关系。

hbase的优势在于实时计算,所有实时数据都直接存入hbase中,客户端通过API直接访问hbase,实现实时计算。由于它使用的是nosql,或者说是列式结构,从而提高了查找性能,使其能运用于大数据场景,这是它跟MapReduce的区别。

总结

hadoop是hive和hbase的基础,hive依赖hadoop,而hbase仅依赖hadoop的hdfs模块。

hive适用于 离线数据的分析 ,操作的是通用格式的(如通用的日志文件)、被hadoop管理的数据文件,它支持类sql,比编写MapReduce的 java 代码来的更加方便,它的定位是数据仓库,存储和分析历史数据。

hbase适用于 实时计算 ,采用列式结构的nosql,操作的是自己生成的特殊格式的HFile、被hadoop管理的数据文件,它的定位是数据库,或者叫DBMS。

hive可以直接操作hdfs中的文件作为它的表的数据,也可以使用hbase数据库作为它的表。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

从零开始做产品经理

从零开始做产品经理

萧七公子 / 中国华侨出版社 / 2016-12-1 / 27.9

《从零开始做产品经理:产品经理的第一本书》根据产品经理的能力需求与成长体系,共分为八章内容,从了解产品开始,到挖掘用户需求、进行产品设计、管理团队、进行项目管理、产品运营、把握产品的生命周期,以及产品经理的成长路径,全面阐释了产品经理的修炼之道。《从零开始做产品经理:产品经理的第一本书》书中信息量大,图文并茂,论点与论据相得益彰,并且融合了丰富的案例与故事,使得整个阅读过程妙趣横生而且迅速开“悟道......一起来看看 《从零开始做产品经理》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具