文档章节

对于公司组建Hadoop基础框架的推荐分析

yimi
 yimi
发布于 2015/01/09 17:02
字数 1049
阅读 31
收藏 0

初接触Hadoop技术的朋友肯定会对它体系下寄生的个个开源项目糊涂了,我敢保证Hive,Pig,HBase这些开源技术会把你搞的有些糊涂,不要紧糊涂的不止你一个,如某个菜鸟的帖子的疑问,when to use Hbase and when to use Hive?....请教了^_^没关系这里我帮大家理清每个技术的原理和思路。

Pig

一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了。当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护。不过现在还是有些公司在用,不过我认为与其使用pig不如使用hive。
Pig是一种数据流语言,用来快速轻松的处理巨大的数据。
Pig包含两个部分:Pig Interface,Pig Latin。
Pig可以非常方便的处理HDFS和HBase的数据,和Hive一样,Pig可以非常高效的处理其需要做的,通过直接操作Pig查询可以节省大量的劳动和时间。当你想在你的数据上做一些转换,并且不想编写MapReduce jobs就可以用Pig.

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作为数据存储,放那些进行一些操作会改变的数据。

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高效的多。

本文转载自:http://www.aboutyun.com/thread-7195-1-1.html

共有 人打赏支持
yimi
粉丝 1
博文 18
码字总数 7909
作品 0
潍坊
高级程序员
私信 提问
Hadoop到底是什么? 到底能做什么?

调研Hadoop颇久,就是想知道hadoop是什么?hadoop能做什么?怎么用hadoop?最主要是这三块,至于投入和风险也会随之出来(浓缩了我几十页的调研方案啊!!!) hadoop是什么? Hadoop是一个开...

天呀鲁哇
2015/03/13
0
3
小白和牛人之间的这15个问答,让你知道该怎么学习大数据

问:不同的语言在数据处理以及算法计算过程中性能的差别是否很大? 答:就目前的经验来看,使用C或者C++的效率确实要比PYTHON高一些,但是没有差到一个数量级的差别。PYTHON程序的维护成本比...

隐姓埋名啊
2017/04/21
1K
2
关于大数据与机器学习,小白和牛人之间的15个典型问答(精华整理)

问:不同的语言在数据处理以及算法计算过程中性能的差别是否很大? 答:就目前的经验来看,使用C或者C++的效率确实要比PYTHON高一些,但是没有差到一个数量级的差别。PYTHON程序的维护成本比...

隐姓埋名啊
2017/04/19
396
1
年薪30~60万,招聘高级研发经理

公司简介: PtMind是由一群来自中国、日本的年轻人共同组建的互联网数据分析公司;我们长期致力于互联网数据统计、挖掘领域;目前PtMind已在中国北京、日本东京建立起相关的研发机构和市场机...

tony_ptmind
2011/03/31
8.3K
12
Apache Kylin 开发员认证培训上海开课!

Apache Kylin 系列认证培训课程针对 Apache Kylin 的使用者,开发者及管理者 提供相关的培训课程,由ApacheKylin 核心贡献者及PMC 成员倾力提供,学员经 认证考试,可获得由 Kyligence 公司提供的...

ApacheKylin
05/22
27
0

没有更多内容

加载失败,请刷新页面

加载更多

闲话高并发的那些神话,看京东架构师如何把它拉下神坛

高并发也算是这几年的热门词汇了,尤其在互联网圈,开口不聊个高并发问题,都不好意思出门。高并发有那么邪乎吗?动不动就千万并发、亿级流量,听上去的确挺吓人。但仔细想想,这么大的并发与...

James-
18分钟前
1
0
Emacs 系列:让我们拥抱 Emacs 和 org 模式

导读 我必须承认,在使用了几十年的 vim 后, 我被 Emacs 吸引了。长期以来,我一直对如何组织安排事情感到沮丧。我也有用过 GTD 和 ZTD 之类的方法,但是像邮件或是大型文件这样的事务真的很...

问题终结者
19分钟前
2
0
解析Node.js通过axios实现网络请求

本次给大家分享一篇node.js通过axios实现网络请求的方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 1、使用Npm 下载axios n...

前端攻城老湿
32分钟前
6
0
深入浅出之React-redux中connect的装饰器用法@connect

这篇文章主要介绍了react-redux中connect的装饰器用法@connect详解,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 通常我们需要一...

前端攻城小牛
33分钟前
3
0
详解css BEM书写规范

BEM是基于组件的web开发方法。其思想是将用户界面分隔为独立的块,从而使开发复杂的UI界面变得更简单和快,且不需要粘贴复制便可复用现有代码。BEM由Block、Element、Modifier组成。选择器里...

前端小攻略
48分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部