我刚刚开始探索BigData技术和Hadoop框架。
但是,对如此多的生态系统组件和框架感到困惑。你能建议从一个有条理的学习开始吗?
我的意思是,应该关注哪个生态系统组件?有什么特别的或全部的吗?
非常感谢您的帮助!
随机数
发布于 2014-11-25 21:09:33
几个月前,我在Quora上写下了这个答案。希望这能有所帮助:
浏览上的一些介绍性视频在直接开始使用hadoop之前,对hadoop有一些高层次的概念是非常重要的。这些介绍性视频将有助于理解Hadoop的范围以及可以应用它的用例。网上有很多同样的资源,浏览任何一个视频都会很有帮助。
理解MapReduce第二件事帮助我理解了 Reduce是什么以及它是如何工作的。本文很好地解释了这一点:http://static.googleusercontent……
另一个很好的教程可以在这里找到:http://ksat.me/map-reduce-a-real...
对于第1点和第2点,请完成第一周视频讲座的前四次讲座。这里很好地解释了分布式计算和map reduce的整个概念。https://class.coursera.org/mmds-001/lecture
Cloudera VM Hadoop入门一旦您了解了的基础知识,您就可以下载cloudera提供的VM,并开始在其上运行一些命令。您可以从以下链接下载虚拟机:http://www.cloudera.com/content/...
如果能熟悉虚拟机上的基本Hadoop命令并了解其工作原理,那就更好了。
设置独立/伪分布式我建议您在熟悉使用虚拟机的Hadoop之后,在自己的机器上设置独立的Hadoop。Michael G.Noll在此博客上很好地解释了安装步骤: Running Hadoop on Ubuntu Linux (Single-Node Cluster) - Michael G.Noll
了解Hadoop生态系统熟悉Hadoop生态系统中的其他组件,如Apache Pig、Hive、Hbase、Flume-NG、Hue等,所有这些组件都有不同的用途,了解这些组件将对围绕hadoop生态系统构建任何产品都很有帮助。您可以轻松地在您的计算机上安装所有这些,并开始使用它们。Cloudera VM by已经安装了其中的大部分。
6.编写Map Reduce作业一旦您完成了步骤1-5,我不认为编写Map Reduce将是一个挑战。它在权威指南中有详细的解释。如果你真的对斯坦福很感兴趣,我建议你读一读这本书,作者是Anand Rajaraman,Jure Leskovec和JeffReyD.Ullman:关于斯坦福大学的页面
发布于 2014-11-25 20:37:13
我建议先使用Hadoop,它是很多其他系统的基础。查看主站点:http://hadoop.apache.org/并查看Cloudera,它们提供了一个虚拟映像(称为CDH),它预装了所有内容,因此您可以立即行动起来,而不必处理安装问题:http://www.cloudera.com/content/cloudera/en/downloads/cdh/cdh-5-2-0.html
在那之后,我将研究HDFS,只是为了更多地了解Hadoop如何存储数据,然后它将取决于您试图解决的问题的类型,每个特定的系统解决一个特定的和(通常)不同的问题:
有关更多详细信息,请查看此链接:http://www.cloudera.com/content/cloudera/en/training/library/apache-hadoop-ecosystem.html
我希望你会觉得这很有用。
发布于 2015-11-14 21:28:30
大数据是一个宽泛的术语,用于描述如此庞大或复杂的数据集,以至于传统的数据处理应用程序无法满足需求。挑战包括分析、捕获、数据管理、搜索、共享、存储、传输、可视化和信息隐私-来自wikipedia
是一个框架,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集。
Hadoop中有四个主要模块。
1.Hadoop Common:支持其他Hadoop模块的常用工具。
2.分布式文件系统( 2.Hadoop™2.Hadoop):一种分布式文件系统,提供对应用程序数据的高吞吐量访问。
3.Hadoop YARN:一个用于作业调度和集群资源管理的框架。
4. 4.Hadoop MapReduce:一个基于YARN的系统,用于并行处理大型数据集。
在进一步讨论之前,让我们注意到我们有三种不同类型的数据。
Structured :结构化数据具有强模式,在读写操作时会对模式进行检查。例如,Oracle、MySQL服务器等关系数据库系统中的数据。
Unstructured:数据没有任何结构,可以是任何形式-网络服务器日志,电子邮件,图像等。
Semi-structured:数据不是严格结构化的,但具有一定的结构。例如XML文件
根据要处理的数据类型,我们必须选择正确的技术。
一些更多的项目,它们是Hadoop的一部分
HBase™HBase:一个可扩展的分布式数据库,支持大型表的结构化数据存储。
Hive™:提供数据汇总和即席查询的数据仓库基础设施。
Pig™:一种用于并行计算的高级数据流语言和执行框架
蜂巢与猪的比较可以在我的这个question的其他帖子中找到
HBASE不会取代Map Reduce。HBase是一种可伸缩的分布式数据库,Map Reduce是用于分布式数据处理的编程模型。Map Reduce可能会在处理过程中作用于HBASE中的数据。
您可以针对结构化/半结构化数据使用Hadoop ,并使用Hadoop Map Reduce对其进行处理
您可以使用Hadoop SQOOP从传统的关系型数据库Oracle、SQL Server等导入结构化数据,并使用Hadoop Map Reduce进行处理
您可以使用Hadoop 处理非结构化数据,并使用Hadoop进行处理
看看:Hadoop Use Cases
应使用Hive对一段时间内收集的数据进行分析查询。例如,计算趋势,总结网站日志,但不能用于实时查询。
HBase适合大数据的实时查询。Facebook将其用于消息传递和实时分析。
PIG可用于构建数据流,运行预定作业,处理大量数据,聚合/汇总数据,并将其存储到关系数据库系统中。适用于即席分析。
Hive可用于即席数据分析,但与PIG不同,它不能支持所有非结构化数据格式
ZooKeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务,这些服务对各种分布式系统非常有用。如果没有ZooKeeper,HBase将无法运行。
Apache 是一个通用的计算引擎,提供大规模的快速数据分析。Spark构建在HDFS上,但绕过了MapReduce,转而使用自己的数据处理框架。Apache Spark的常见用例包括实时查询、事件流处理、迭代算法、复杂操作和机器学习。
Mahout™:一个可伸缩的机器学习和数据挖掘库。
:是一个通用的数据流编程框架,构建于™之上,它提供了一个强大而灵活的引擎来执行任意任务的,以处理批处理和交互式用例的数据。MapReduce正被Hadoop生态系统中的Hive™、Pig™和其他框架以及其他商业软件(例如ETL工具)所采用,以取代Hadoop™Tez作为底层执行引擎
我只介绍了Hadoop生态系统的一些关键组件。如果您想了解生态系统所有组件,请查看此ecosystem table
如果上面的表格很难理解,可以在this article上查看生态系统的简化版本
但是为了理解所有这些系统,我希望您先从 网站开始,然后再浏览其他文章。
https://stackoverflow.com/questions/27126719
复制相似问题