文档章节

区分 hdfs hbase hive hbase适用场景

八戒_o
 八戒_o
发布于 2015/11/19 09:15
字数 944
阅读 1139
收藏 1

Hive

不想用程序语言开发MapReduce的朋友比如DB们,熟悉SQL的朋友可以使用Hive开离线的进行数据处理与分析工作。

注意Hive现在适合在离线下进行数据的操作,就是说不适合在挂在真实的生产环境中进行实时的在线查询或操作,因为一个字“慢”。相反

起源于FaceBook,Hive在Hadoop中扮演数据仓库的角色。建立在Hadoop集群的最顶层,对存储在Hadoop群上的数据提供类SQL的接口进行操作。你可以用 HiveQL进行select,join,等等操作。

如果你有数据仓库的需求并且你擅长写SQL并且不想写MapReduce jobs就可以用Hive代替。

HBase

HBase作为面向列的数据库运行在HDFS之上,HDFS缺乏随即读写操作,HBase正是为此而出现。HBase以Google BigTable为蓝本,以键值对的形式存储。项目的目标就是快速在主机内数十亿行数据中定位所需的数据并访问它。

HBase是一个数据库,一个NoSql的数据库,像其他数据库一样提供随即读写功能,Hadoop不能满足实时需要,HBase正可以满足。如果你需要实时访问一些数据,就把它存入HBase

你可以用Hadoop作为静态数据仓库,HBase作为数据存储,放那些进行一些操作会改变的数据。

 hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储。而hbase是作为分布式数据库,而hive是作为分布式数据仓库。当然hive还是借用hadoop的MapReduce来完成一些hive中的命令的执行。


  1. 什么场景下应用Hbase?

  • 成熟的数据分析主题,查询模式已经确立,并且不会轻易改变。

  • 传统的关系型数据库已经无法承受负荷,高速插入,大量读取。

  • 适合海量的,但同时也是简单的操作(例如:key-value)。

官方解释:

Use Apache HBase™ when you need random, realtime read/write access to your Big Data. This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware. Apache HBase is an open-source, distributed, versioned, non-relational database modeled after Google's Bigtable: A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, Apache HBase provides Bigtable-like capabilities on top of Hadoop and HDFS.

Pig VS Hive

Hive更适合于数据仓库的任务,Hive主要用于静态的结构以及需要经常分析的工作。Hive与SQL相似促使 其成为Hadoop与其他BI工具结合的理想交集。

Pig赋予开发人员在大数据集领域更多的灵活性,并允许开发简洁的脚本用于转换数据流以便嵌入到较大的 应用程序。

Pig相比Hive相对轻量,它主要的优势是相比于直接使用Hadoop Java APIs可大幅削减代码量。正因为如此,Pig仍然是吸引大量的软件开发人员。

Hive和Pig都可以与HBase组合使用,Hive和Pig还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单

Hive VS HBase

Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。

想象你在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。

Hive query就是MapReduce jobs可以从5分钟到数小时不止,HBase是非常高效的,肯定比Hive高效的多。

© 著作权归作者所有

八戒_o
粉丝 25
博文 123
码字总数 43412
作品 0
成都
程序员
私信 提问
HBase实战 | Hive数据导入云HBase

网络环境 专线:用户需要把hbase集群的VPC相关网络信息配置到专线里面,可直通hbase环境 公有云虚拟机VPC环境:选择和hbase通VPC 其他:需要开hbase公网 注意:默认导入hbase数据,依赖的hba...

hbase小能手
2018/11/14
0
0
HBase 和 Hive 的差别是什么,各自适用在什么场景中?

https://www.zhihu.com/question/21677041/answer/185664626 先放结论:Hbase和Hive在大数据架构中处在不同位置: Hbase主要解决实时数据查询问题 Hive主要解决数据处理和计算问题,一般是配...

chenhao_asd
2018/04/24
0
0
利用EMR Hive关联云HBase

云HBase需要借助外部Hive对多表进行关联分析,后续云HBase将集成Spark,更加建议使用Spark分析HBase数据。本文简单介绍下如何利用EMR的Hive关联云HBase的表。 1. 环境准备 购买按量计费的EMR...

巴客
2018/10/14
0
0
好程序员大数据分享:Hbase精解

好程序员大数据分享:Hbase精解,为什么有hbase?hbase是什么?Hbase的架构。   一、 为什么有hbase?   数据量越来越大,传统的关系型数据库不能满足存储和查询的需求。而hive虽然能满足存...

好程序员IT
05/27
16
0
Hive Hbase区别 整理

Hive是为了简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样。在这种情况下,就需要Hive这样的用戶编程接口。Hive本身不...

李超
2015/04/17
334
0

没有更多内容

加载失败,请刷新页面

加载更多

VUE- 引用视频组件

安装依赖 cnpm install vue-video-player -S cnpm install video.js -S 全局引用: 在main.js中 import VuevideoPlayer from 'vue-video-player';import 'video.js/dist/video-js.css......

流石一刻
21分钟前
2
0
树基础知识

1.树的定义(递归方式定义) 一棵树是一些节点的集合。这个集合可以是空集;若不是空集,则树由称作根(root)的节点r以及0个或多个非空的(子)树T1,T2,...Tk组成,这些子树中每一棵的跟都...

贾峰uk
23分钟前
2
0
Mockito 2 参数匹配器

Mockito 通过使用 equals() 这种自然的 Java 样式来校验参数值。有时候,当需要有其他一些灵活性的时候,你可能会要求使用参数匹配(argument matchers)。 请参考下面的代码: //stubbing u...

honeymoose
25分钟前
2
0
js中将字符串转换成json的三种方式

使用ajax的开发项目过程中,经常需要将json格式的字符串返回到前端,前端解析成js对象(JSON )。 ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了...

物种起源-达尔文
40分钟前
6
0
centos7下面python3.7安装

我这里使用的是CentOS7,默认系统自带python2.7的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的...

chenhongjiang
45分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部