hadoop/hive/hbase 简单区别及应用场景
1、hadoop:它是一个分布式计算+分布式文件系统,前者其实就是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数据库作为它的表
HDFS和Hbase究竟是什么?
HDFS容错率很高,即便是在系统崩溃的情况下,也能够在节点之间快速传输数据。HBase是非关系数据库,是开源的Not-Only-SQL数据库,它的运行建立在Hadoop上。HBase依赖于CAP定理(Consistency, Availability, and Partition Tolerance)中的CP项。
HDFS最适于执行批次分析。然而,它最大的缺点是无法执行实时分析,而实时分析是信息科技行业的标配。HBase能够处理大规模数据,它不适于批次分析,但它可以向Hadoop实时地调用数据。
HDFS和HBase都可以处理结构、半结构和非结构数据。因为HDFS建立在旧的MapReduce框架上,所以它缺乏内存引擎,数据分析速度较慢。相反,HBase使用了内存引擎,大大提高了数据的读写速度。
HDFS执行的数据分析过程是透明的。HBase与之相反,因为其结构基于NoSQL,它通过在不同的关键字下进行排序而获取数据。
通过实例来加强对HDFS和HBase的理解
实例1
Cloudera对欧洲银行使用HBase的过程进行优化
HBase是实时数据处理环境的最佳典范。我们的一个客户是某欧洲著名银行,下面要举的就是这个客户的例子,恰到好处的说明了问题。我们同时使用了Apache Storm和Apache Hbase,来分析应用服务器和网页服务器上的日志数据,想以此得到一些新发现。因为单位时间内我们需要处理大量的数据,所以我们最终决定使用HBase而不是HDFS。HDFS不能处理高速流动的数据。结果令人震惊,搜索时间从3天变成了3分钟。
实例2
使用HDFS和MapReduce作为全球快速消费品巨头的分析方案
我们的一位客户是全球饮料业巨头,它要求我们做一些批次分析,这些分析必须精确到某一特定仓库的进出量。分析中需要使用一些迭代分析和序列分析。HDFS和MapReduce就很适应这种工作需求,表现要比建立在HBase上的Hive要好。MapReduce解决数据预处理,将数据准备好作下一步的分析。之后Hive接管任务,去做顾客分析。结果非常好,出顾客分析报告的时间由3天缩短为3小时。
HDFS 和 HBase 比较表格
hadoop/hive/hbase 简单区别及应用场景相关推荐
- oracle+olh+hive,hadoop+hive+hbase的简单安装 | YallonKing
hadoop+hive+hbase的简单安装 hadoop.hive.hbase下载地址:http://mirror.bit.edu.cn/apache/ (一)hadoop安装: 解压hadoop- ...
- ES, MongoDB, HBase的区别和使用场景
原文网址:ES, MongoDB, HBase的区别和使用场景_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍技术选型:ES, MongoDB, HBase的区别和使用场景. 简要对比 支持情 ...
- hadoop hive hbase 入门学习 (二)
hadoop 自学系列 hadoop hive hbase 入门学习 (一) hadoop安装.hdfs学习及mapreduce学习 hadoop 软件下载 (hadoo ...
- Hbase hive kudu的区别和使用场景
Hive 一句话描述Hive:基于Hadoop的一个一个数据仓库工具:可以将结构化的数据文件映射为一张数据表,并提供完整的sql查询功能,可以将sql语句转化为mapreduce任务运行:也正是由于这 ...
- hadoop hive hbase 集群搭建
摘要:去年开发BI系统,其中ETL用到了Hadoop和Hive,我用三台Dell服务器,搭建了一个Hadoop集群,用于开发测试. 在接下来的几篇中,我会介绍些BI架构设计的内容,以及在开发中遇到的困 ...
- 大数据相关书籍(包含Java, Scala, R, Linux, Spark, Hadoop, Hive, Hbase, Sqoop, Flume, Strom)
下面书单,有一部分英文版原版,当然价格也相对高一点,英文版部分需要在在亚马逊搜索 ,中文版大部分在京东有售! <Hadoop核心技术> 翟周伟 著 <Storm分布式实时计算模式 & ...
- hadoop+hive+hbase+spark补充内容
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Linux安装Scala步骤 一.下载Scala安装包 从scala官方网站地址:http://www.scala-lang.org/download ...
- hadoop+hive+hbase的大数据行业应用-交通轨迹分析
案例描述 项目概要 项目背景: 随着互联网的深入发展,打车再也不是乘客呆呆的站在路口等待车辆的经过.随着各种打车软件的发展,打车可以足不出户,就可以约到自己想要搭乘的汽车.本实验主要是来探究生活中存在 ...
- Hadoop Hive与Hbase关系 整合
用hbase做数据库,但因为hbase没有类sql查询方式,所以操作和计算数据很不方便,于是整合hive,让hive支撑在hbase数据库层面 的 hql查询.hive也即 做数据仓库 1. 基于Ha ...
最新文章
- COMP 0137 Machine Vision
- Java能抵挡住JavaScript的进攻吗?
- 如何用Python一门语言通吃高性能并发、GPU计算和深度学习
- 我去,剑桥硕士重委员会可还行~我颤抖地拿起了ethz的课程描述
- jquery 操作字符串、数组、对象常用方法
- 管理11gRAC基本命令 (转载) 很详细
- 理解Javascritp中的引用
- 《面向对象的思考过程(原书第4版)》一1.11 组合
- git add remote_最全的git常用命令(建议收藏)
- 修改系统提供视图类的显示字体
- HTTP与HTTPS简介
- 计算机等级考试网络数据,全国计算机等级考试三级信息、网络、数据库上机编程题15道...
- 华为路由器怎么配置虚拟服务器,华为路由器配置实例详细备注讲解
- css3的媒体查询(Media Queries)
- swft入门学习-第二天
- 学习笔记——基于FPGA的SD卡学习(1)
- 网络流——最大流问题
- java、C语言数组反转
- Android应用程序如何进行系统签名
- WCF的服务部署方法