大数据与Hadoop之间的关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据与Hadoop之间的关系相关的知识,希望对你有一定的参考价值。

数据在近些年来越来越火热,人们在提到大数据遇到了很多相关概念上的问题,比如云计算、 Hadoop等等。那么,大数据是什么、Hadoop是什么,大数据和Hadoop有什么关系呢?
大数据目前定义:大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具在合理时间内获取、管理、处理、并整理为帮助企业经营决策。
大数据目前分为四大块:大数据技术、大数据工程、大数据科学和大数据应用。其中云计算是属于大数据技术的范畴,是一种通过Internet以服务的方式提供动态可伸缩的虚拟化的资源的计算模式。那么这种计算模式如何实现呢,Hadoop的来临解决了这个问题,Hadoop是Apache(阿帕切)的一个开源项目,它是一个对大量数据进行分布式处理的软件架构,在这个架构下组织的成员HDFS(Hadoop分布式文件系统),MapReduce、 Hbase 、Zookeeper(一个针对大型分布式系统的可靠协调系统),hive(基于Hadoop的一个数据仓库工具)等。
1.云计算属于大数据中的大数据技术范畴。
2.云计算包含大数据。
3.云和大数据是两个领域。
云计算是指利用由大量计算节点构成的可动态调整的虚拟化计算资源,通过并行化和分布式计算技术,实现业务质量的可控的大数据处理的计算技术。而作为云计算技术中的佼佼者,Hadoop以其低成本和高效率的特性赢得了市场的认可。
Hadoop项目的目标是建立一个可扩展开源软件框架,能够对大数据进行可靠的分布式处理。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。HDFS是一个分布式文件系统,具有低成本、高可靠性性、高吞吐量的特点。MapReduce是一个变成模型和软件框架。
简单理解,Hadoop是一个开源的大数据分析软件,或者说编程模式。它是通过分布式的方式处理大数据的,因为开元的原因现在很多的企业或多或少的在运用hadoop的技术来解决一些大数据的问题,在数据仓库方面hadoop是非常强大的。但在数据集市以及实时的分析展现层面,hadoop也有着明显的不足,现在一个比较好的解决方案是架设hadoop的数据仓库而数据集市以及实时分析展现层面使用永洪科技的大数据产品,能够很好地解决hadoop的分时间长以及其他的问题。
Hadoop大数据技术案例
让Hadoop和其他大数据技术如此引人注目的部分原因是,他们让企业找到问题的答案,而在此之前他们甚至不知道问题是什么。这可能会产生引出新产品的想法,或者帮助确定改善运营效率的方法。不过,也有一些已经明确的大数据用例,无论是互联网巨头如谷歌,Facebook和LinkedIn还是更多的传统企业。它们包括:
情感分析: Hadoop与先进的文本分析工具结合,分析社会化媒体和社交网络发布的非结构化的文本,包括Tweets和Facebook,以确定用户对特定公司,品牌或产品的情绪。分析既可以专注于宏观层面的情绪,也可以细分到个人用户的情绪。
风险建模:财务公司、银行等公司使用Hadoop和下一代数据仓库分析大量交易数据,以确定金融资产的风险,模拟市场行为为潜在的“假设”方案做准备,并根据风险为潜在客户打分。
欺诈检测:金融公司、零售商等使用大数据技术将客户行为与历史交易数据结合来检测欺诈行为。例如,信用卡公司使用大数据技术识别可能的被盗卡的交易行为。
客户流失分析:企业使用Hadoop和大数据技术分析客户行为数据并确定分析模型,该模型指出哪些客户最有可能流向存在竞争关系的供应商或服务商。企业就能采取最有效的措施挽留欲流失客户。
用户体验分析:面向消费者的企业使用Hadoop和其他大数据技术将之前单一客户互动渠道(如呼叫中心,网上聊天,微博等)数据整合在一起,以获得对客户体验的完整视图。这使企业能够了解客户交互渠道之间的相互影响,从而优化整个客户生命周期的用户体验。
当然,上述这些都只是大数据用例的举例。事实上,在所有企业中大数据最引人注目的用例可能尚未被发现。这就是大数据的希望。
参考技术A Hadoop中有很多方法可以加入多个数据集。MapReduce提供了Map端和Reduce端的数据连接。这些连接是非平凡的连接,并且可能会是非常昂贵的操作。Pig和Hive也具有同等的能力来申请连接到多个数据集。Pig提供了复制连接,合并连接和倾斜连接(skewed join),并且Hive提供了map端的连接和完整外部连接来分析数据。

一个重要的事实是,通过使用各种工具,比如MapReduce、Pig和Hive等,数据可以基于它们的内置功能和实际需求来使用它们。至于在Hadoop分析大量数据,Anoop指出,通常,在大数据/Hadoop的世界,一些问题可能并不复杂,并且解决方案也是直截了当的,但面临的挑战是数据量。在这种情况下需要不同的解决办法来解决问题。

一些分析任务是从日志文件中统计明确的ID的数目、在特定的日期范围内改造存储的数据、以及网友排名等。所有这些任务都可以通过Hadoop中的多种工具和技术如MapReduce、Hive、Pig、Giraph和Mahout等来解决。这些工具在自定义例程的帮助下可以灵活地扩展它们的能力。
参考技术B

大数据开发人员可以通过Hadoop提供的系统级服务支持从而帮助企业完成大数据改造,对于开发人员来说,只需要关注于具体的服务实现就可以了,系统级功能已经由Hadoop提供了实现。所以,Hadoop是大数据开发人员的重要基础

由于Hadoop对硬件的要求并不高,所以很多初学者(有Ja-va基础)都是从Hadoop开始学习大数据的,目前很多商用大数据平台也是基于Hadoop的。

参考技术C 包含 的关系 参考技术D hadoop是一个开源的大数据分析软件,或者说编程模式。它是通过分布式的方式处理大数据的,因为开元的原因现在很多的企业或多或少的在运用hadoop的技术来解决一些大数据的问题,在数据仓库方面hadoop是非常强大的。但在数据集市以及实时的分析展现层面,hadoop也有着明显的不足,现在一个比较好的解决方案是架设hadoop的数据仓库而数据集市以及实时分析展现层面使用永洪科技的大数据产品,能够很好地解决hadoop的分时间长以及其他的问题。本回答被提问者和网友采纳

大数据入门:各种大数据技术介绍

大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来。为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选择合适的技术,了解大数据各种技术之间的关系,选择合适的语言。
我们可以带着下面问题来阅读本文章:
1.hadoop都包含什么技术
2.Cloudera公司与hadoop的关系是什么,都有什么产品,产品有什么特性
3.Spark与hadoop的关联是什么?
4.Storm与hadoop的关联是什么?


技术分享



hadoop家族
创始人:Doug Cutting
整个Hadoop家族由以下几个子项目组成:

Hadoop Common:
Hadoop体系最底层的一个模块,为Hadoop各子项目提供各 种工具,如:配置文件和日志操作等。详细可查看
Hadoop技术内幕 深入解析HADOOP COMMON和HDFS架构设计与实现原理大全1-9章

HDFS:

是Hadoop应用程序中主要的分布式储存系统, HDFS集群包含了一个NameNode(主节点),这个节点负责管理所有文件系统的元数据及存储了真实数据的DataNode(数据节点,可以有很多)。HDFS针对海量数据所设计,所以相比传统文件系统在大批量小文件上的优化,HDFS优化的则是对小批量大型文件的访问和存储。下面为详细资料:
什么是HDFS及HDFS架构设计
HDFS+MapReduce+Hive快速入门
Hadoop2.2.0中HDFS为何具有高可用性
Java创建hdfs文件实例

MapReduce:

是一个软件框架,用以轻松编写处理海量(TB级)数据的并行应用程序,以可靠和容错的方式连接大型集群中上万个节点(商用硬件)。
详细可查看:
Hadoop简介(1):什么是Map/Reduce
Hadoop MapReduce基础
MapReduce工作原理讲解
手把手交你写Mapreduce程序实例并部署在Hadoop2.2.0上运行

Hive:

Apache Hive是Hadoop的一个数据仓库系统,促进了数据的综述(将结构化的数据文件映射为一张数据库表)、即席查询以及存储在Hadoop兼容系统中的大型数据集分析。Hive提供完整的SQL查询功能——HiveQL语言,同时当使用这个语言表达一个逻辑变得低效和繁琐时,HiveQL还允许传统的Map/Reduce程序员使用自己定制的Mapper和Reducer。hive类似CloudBase,基于hadoop分布式计算平台上的提供data warehouse的sql功能的一套软件。使得存储在hadoop里面的海量数据 的汇总,即席查询简单化。
详细可查看:
Hive的起源及详细介绍
hive详解视频


Pig:

Apache Pig是一个用于大型数据集分析的平台,它包含了一个用于数据分析应用的高级语言以及评估这些应用的基础设施。Pig应用的闪光特性在于它们的结构经得起大量的并行,也就是说让它们支撑起非常大的数据集。Pig的基础设施层包含了产生Map-Reduce任务的编译器。Pig的语言层当前包含了一个原生语言——Pig Latin,开发的初衷是易于编程和保证可扩展性。
Pig是SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进MapReduce模型的Map和Reduce中,并且用户可以定义自己的功能。Yahoo网格运算部门开发的又一个克隆Google的项目Sawzall。
详细可查看:
pig入门简单操作及语法包括支持数据类型、函数、关键字、操作符等
hadoop家族Pig和Hive有什么不同?



HBase:

Apache HBase是Hadoop数据库,一个分布式、可扩展的大数据存储。它提供了大数据集上随机和实时的读/写访问,并针对了商用服务器集群上的大型表格做出优化——上百亿行,上千万列。其核心是Google Bigtable论文的开源实现,分布式列式存储。就像Bigtable利用GFS(Google File System)提供的分布式数据存储一样,它是Apache Hadoop在HDFS基础上提供的一个类Bigatable。
详细可查看:
hbase与传统数据的区别
HBASE分布式安装视频下载分享

ZooKeeper:

Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
详细可查看:
什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么

Avro:

Avro是doug cutting主持的RPC项目,有点类似Google的protobuf和Facebook的thrift。avro用来做以后hadoop的RPC,使hadoop的RPC模块通信速度更快、数据结构更紧凑。


Sqoop:
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库中数据导入Hadoop的HDFS中,也可以将HDFS中数据导入关系型数据库中。
详细可查看:
Sqoop详细介绍包括:sqoop命令,原理,流程

Mahout:

Apache Mahout是个可扩展的机器学习和数据挖掘库,当前Mahout支持主要的4个用例:
推荐挖掘:搜集用户动作并以此给用户推荐可能喜欢的事物。
聚集:收集文件并进行相关文件分组。
分类:从现有的分类文档中学习,寻找文档中的相似特征,并为无标签的文档进行正确的归类。
频繁项集挖掘:将一组项分组,并识别哪些个别项会经常一起出现。


Cassandra:

Apache Cassandra是一个高性能、可线性扩展、高有效性数据库,可以运行在商用硬件或云基础设施上打造完美的任务关键性数据平台。在横跨数据中心的复制中,Cassandra同类最佳,为用户提供更低的延时以及更可靠的灾难备份。通过log-structured update、反规范化和物化视图的强支持以及强大的内置缓存,Cassandra的数据模型提供了方便的二级索引(column indexe)。

Chukwa:

Apache Chukwa是个开源的数据收集系统,用以监视大型分布系统。建立于HDFS和Map/Reduce框架之上,继承了Hadoop的可扩展性和稳定性。Chukwa同样包含了一个灵活和强大的工具包,用以显示、监视和分析结果,以保证数据的使用达到最佳效果。

Ambari:

Apache Ambari是一个基于web的工具,用于配置、管理和监视Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘,比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对它们的性能特性进行诊断。



HCatalog

Apache HCatalog是Hadoop建立数据的映射表和存储管理服务,它包括:
提供一个共享模式和数据类型机制。
提供一个抽象表,这样用户就不需要关注数据存储的方式和地址。
为类似Pig、MapReduce及Hive这些数据处理工具提供互操作性。

------------------------------------------------------------------------------------------------------------------------------------------------

Chukwa:

Chukwa是基于Hadoop的大集群监控系统,由yahoo贡献。


------------------------------------------------------------------------------------------------------------------------------------------------

Cloudera系列产品:
创始组织:Cloudera公司
1.Cloudera Manager:
有四大功能
(1)管理
(2)监控
(3)诊断
(4)集成
Cloudera Manager四大功能

2.Cloudera CDH:英文名称:CDH (Cloudera‘s Distribution, including Apache Hadoop)
Cloudera对hadoop做了相应的改变。
Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。
详细可以查看
Cloudera Hadoop什么是CDH及CDH版本介绍
相关资料
CDH3实战Hadoop(HDFS) , HBase , Zookeeper , Flume , Hive
CDH4安装实践HDFS、HBase、Zookeeper、Hive、Oozie、Sqoop
Hadoop CDH四种安装方式总结及实例指导
hadoop的CDH4及CDH5系列文档下载分享


3.Cloudera Flume
Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。


Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。
Flume采用了多Master的方式。为了保证配置数据的一致性,Flume[1]引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。
详细可查看:
什么是 flume 日志收集,flume的特性
什么是 flume 日志收集,flume的原理是什么,flume会遇到什么问题

4.Cloudera Impala

Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL。除了像Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)。Impala还提供了一个熟悉的面向批量或实时查询和统一平台。
详细可查看:

什么是impala,如何安装使用Impala
5.Cloudera   hue
Hue是cdh专门的一套web管理器,它包括3个部分hue ui,hue server,hue db。hue提供所有的cdh组件的shell界面的接口。你可以在hue编写mr,查看修改hdfs的文件,管理hive的元数据,运行Sqoop,编写Oozie工作流等大量工作。
详细可查看:
cloudera hue安装及Oozie的安装
什么是Oozie?Oozie简介
Cloudera Hue 使用经验分享,遇到的问题及解决方案


------------------------------------------------------------------------------------------------------------------------------------------------

Spark

创始组织:加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发


Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

可以详细了解
科普Spark,Spark是什么,如何使用Spark(1)
科普Spark,Spark核心是什么,如何使用Spark(2)
优酷土豆用Spark完善大数据分析
Hadoop新成员Hadoop-Cloudera公司将Spark加入Hadoop


-----------------------------------------------------------------------------------------------------------------------------------------------

Storm

创始人:Twitter
Twitter将Storm正式开源了,这是一个分布式的、容错的实时计算系统,它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType开发的实时处理系统,BackType现在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure写的。

详细可以了解:
storm入门介绍
Storm-0.9.0.1安装部署 指导
总体认识storm包括概念,场景,组成
大数据架构师:hadoop、Storm改选哪一个?
大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合

 

原文链接:

http://www.aboutyun.com/thread-7569-1-1.html































































































































































































以上是关于大数据与Hadoop之间的关系的主要内容,如果未能解决你的问题,请参考以下文章

大数据开发之Sqoop详细介绍

hadoop是啥意思?与大数据有啥关系?

大数据入门:各种大数据技术介绍

如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是啥关系?

hadoop和hive之间有啥关系?

大数据和Hadoop什么关系?为什么大数据要学习Hadoop?