初接触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高效的多。
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2014-03/98978.htm
相关推荐
### Hadoop开源项目分析 #### 一、Hadoop概述与背景 Hadoop作为一个分布式系统的基础架构,由Apache基金会开发和维护。它允许开发者无需深入了解分布式计算底层细节即可编写分布式程序,利用集群的强大处理能力...
以上是对Hadoop技术及其在大数据技术体系中的应用的详细解读,涵盖了技术原理、生态系统、应用场景等多个方面。通过学习和理解这些知识点,可以深入掌握大数据处理的核心技术,并能够运用到实际的项目中。
《Hadoop技术内幕》是一本深入探讨Hadoop生态系统核心组件的专业书籍,涵盖了Hadoop Common、HDFS(Hadoop Distributed File System)以及YARN(Yet Another Resource Negotiator)的架构设计与实现原理。...
《Hadoop技术详解》这本书是关于Hadoop操作的详尽指南,它涵盖了Hadoop生态系统中的核心组件、工作原理以及实际操作技巧。Hadoop是大数据处理领域的重要工具,它以其分布式计算框架闻名,允许企业在大规模数据集上...
Hadoop开源云计算平台_12858263Hadoop开源云计算平台Hadoop开源云计算平台Hadoop开源云计算平台
"Hadoop大数据技术项目化教程.pptx" 《Hadoop大数据技术项目化教程》是一本全面介绍Hadoop大数据处理技术的书籍,通过理论与实践相结合的方式,深入浅出地讲解了Hadoop的核心概念、技术原理、应用方法和实战案例。 ...
Hadoop是Apache基金会的一个开源项目,它为海量数据的存储和处理提供了一个分布式计算平台,是大数据处理领域的重要工具。随着大数据时代的到来,Hadoop的重要性日益凸显,因为它能够有效地处理PB级别的数据,解决了...
Hadoop是一个广泛使用的开源分布式存储和计算平台,它由Apache基金会开发。Hadoop允许用户在不了解分布式底层细节的情况下编写和运行分布式应用,以处理大规模数据集。Hadoop被设计用来充分利用廉价的商用硬件,实现...
它受到了Google的云计算技术的启发,但也有自己独特的设计和实现。Hadoop 主要由两个核心组件构成:Hadoop 分布式文件系统(HDFS)和MapReduce编程模型。 **Hadoop项目简介** Hadoop 起源于Google的论文,包括...
由于给定的文件内容部分涉及到PDF电子书的提供信息,并非技术知识点,故这部分内容将被忽略,重点将放在标题与描述所提到的Hadoop海量数据处理技术上。 Hadoop是一个由Apache软件基金会开发的开源框架,旨在支持...
Hadoop是Apache软件基金会的一个开源项目,它为大数据处理提供了一个分布式计算框架,广泛应用于互联网公司和传统企业的数据处理场景。 首先,我们要理解Hadoop的基本架构。Hadoop由两个主要组件构成:Hadoop ...
【Hadoop 技术文档】 Hadoop 是一个开源的分布式计算框架,由Apache基金会开发,主要设计用于处理和存储大规模数据集。它借鉴了Google的MapReduce编程模型和Google File System(GFS)的设计理念,提供了高容错性和...
开源分布式数据库Hadoop PPT,Hadoop 使用了POSIX的设计来实现对文件系统文件流的读取。HDFS(Hadoop FileSystem)原来是Apache Nutch搜索引擎(从Lucene发展而来)开发的一个部分,后来独立出来作为一个Apache子...
Hadoop 体系架构是大数据处理的核心组件之一,它由MapReduce引擎和分布式文件系统两部分组成。MapReduce引擎能够在整个集群上执行Map和Reduce任务并报告结果,而分布式文件系统提供了一种存储模式,可以跨节点复制...
根据提供的文件信息,我们可以推断出这是一本关于Hadoop技术的电子书,该书提供了PDF格式供读者下载,并带有书签目录以便于导航。接下来,我们将深入探讨Hadoop技术的相关知识点。 ### Hadoop概述 Hadoop是一个...
Hadoop技术概述 Hadoop技术是一个可靠的、可扩展的分布式系统架构,由Apache软件基金会开发。它是一个大数据的生态圈,不仅包括基本框架,还包括周边框架,如Flume、Hive、Hbase等。Hadoop的主要特点是扩容能力、低...