如何开始探索BigData、Hadoop及其生态系统组件?

如何开始探索BigData、Hadoop及其生态系统组件?,hadoop,bigdata,Hadoop,Bigdata,我刚刚开始探索BigData技术和Hadoop框架 但是,对如此多的生态系统组件和框架感到困惑。你能建议我们从一个有条理的开始学习吗 我的意思是应该关注哪一个生态系统组成部分?有什么特别的还是全部的 非常感谢您的帮助 Ranit我建议首先使用Hadoop,它是其他许多系统的基础。查看主站点:并查看Cloudera,它们提供了一个名为CDH的虚拟映像,它随附了所有预安装的内容,因此您无需处理安装问题即可立即投入使用: 之后,我将研究HDFS,只是为了进一步了解Hadoop如何存储这些数据,然后它将

我刚刚开始探索BigData技术和Hadoop框架

但是,对如此多的生态系统组件和框架感到困惑。你能建议我们从一个有条理的开始学习吗

我的意思是应该关注哪一个生态系统组成部分?有什么特别的还是全部的

非常感谢您的帮助


Ranit

我建议首先使用Hadoop,它是其他许多系统的基础。查看主站点:并查看Cloudera,它们提供了一个名为CDH的虚拟映像,它随附了所有预安装的内容,因此您无需处理安装问题即可立即投入使用:

之后,我将研究HDFS,只是为了进一步了解Hadoop如何存储这些数据,然后它将取决于您试图解决的问题类型,每个特定的系统处理一个特定且通常不同的问题:

Hive/Cassandra:用于类似数据库的交互 Pig:用于数据转换。 Spark:用于实时数据分析 有关更多详细信息,请查看此链接:


我希望您会觉得这很有用。

我建议您首先使用Hadoop,它是其他许多系统的基础。查看主站点:并查看Cloudera,它们提供了一个名为CDH的虚拟映像,它随附了所有预安装的内容,因此您无需处理安装问题即可立即投入使用:

之后,我将研究HDFS,只是为了进一步了解Hadoop如何存储这些数据,然后它将取决于您试图解决的问题类型,每个特定的系统处理一个特定且通常不同的问题:

Hive/Cassandra:用于类似数据库的交互 Pig:用于数据转换。 Spark:用于实时数据分析 有关更多详细信息,请查看此链接:


我希望你觉得这很有用。

几个月前我在Quora上写了这个答案。希望这将有助于:

一,。浏览一些关于Hadoop的介绍性视频 在直接开始使用hadoop之前,了解hadoop的一些高级概念是非常重要的。这些介绍性视频将有助于理解Hadoop的范围以及它可以应用的用例。网上有很多关于这方面的资源,浏览任何视频都是有益的

二,。理解MapReduce 帮助我的第二件事是了解Map Reduce是什么以及它是如何工作的。这篇文章很好地解释了这一点:

这里还有一个不错的教程:

对于第1点和第2点,进行第一周视频讲座的前四节讲座。这里很好地解释了分布式计算和map-reduce的整个概念

三,。Cloudera虚拟机入门 一旦您了解了Hadoop的基础知识,就可以下载cloudera提供的VM并开始在其上运行一些Hadoop命令。您可以从以下链接下载虚拟机:

熟悉虚拟机上的基本Hadoop命令并了解其工作原理会很好

四,。设置独立/伪分布式Hadoop 一旦您熟悉使用VM的Hadoop,我建议您在机器上设置自己的独立Hadoop。Michael G.Noll在本博客中很好地解释了安装步骤:在Ubuntu Linux单节点集群上运行Hadoop-Michael G.Noll

五,。理解Hadoop生态系统 熟悉Hadoop生态系统中的其他组件会很好,如ApachePig、Hive、Hbase、Flume NG、Hue等。所有这些组件都有不同的用途,了解所有这些组件的一些信息对于围绕Hadoop生态系统构建任何产品都非常有帮助。您可以轻松地在您的机器上安装所有这些,并开始使用它们。Cloudera VM by已经安装了其中大部分

六,。写地图减少工作
一旦您完成了步骤1-5,我不认为编写Map Reduce是一项挑战。最终指南对此进行了详细解释。如果MapReduce真的让你很感兴趣,我建议你读一读阿南德·拉贾拉曼、朱尔·莱斯科维奇和杰弗里·厄尔曼的《挖掘海量数据集》一书。这本书是关于斯坦福的。

几个月前我在Quora上写的。希望这将有助于:

一,。浏览一些关于Hadoop的介绍性视频 在直接开始使用hadoop之前,了解hadoop的一些高级概念是非常重要的。这些介绍性视频将有助于理解Hadoop的范围以及它可以应用的用例。网上有很多关于这方面的资源,浏览任何视频都是有益的

二,。理解MapReduce 帮助我的第二件事是了解Map Reduce是什么以及它是如何工作的。这篇文章很好地解释了这一点:

这里还有一个不错的教程:

对于第1点和第2点,通过 第一周视频讲座的前四次讲座。这里很好地解释了分布式计算和map-reduce的整个概念

三,。Cloudera虚拟机入门 一旦您了解了Hadoop的基础知识,就可以下载cloudera提供的VM并开始在其上运行一些Hadoop命令。您可以从以下链接下载虚拟机:

熟悉虚拟机上的基本Hadoop命令并了解其工作原理会很好

四,。设置独立/伪分布式Hadoop 一旦您熟悉使用VM的Hadoop,我建议您在机器上设置自己的独立Hadoop。Michael G.Noll在本博客中很好地解释了安装步骤:在Ubuntu Linux单节点集群上运行Hadoop-Michael G.Noll

五,。理解Hadoop生态系统 熟悉Hadoop生态系统中的其他组件会很好,如ApachePig、Hive、Hbase、Flume NG、Hue等。所有这些组件都有不同的用途,了解所有这些组件的一些信息对于围绕Hadoop生态系统构建任何产品都非常有帮助。您可以轻松地在您的机器上安装所有这些,并开始使用它们。Cloudera VM by已经安装了其中大部分

六,。写地图减少工作
一旦您完成了步骤1-5,我不认为编写Map Reduce是一项挑战。最终指南对此进行了详细解释。如果MapReduce真的让你很感兴趣,我建议你读一读阿南德·拉贾拉曼、朱尔·莱斯科维奇和杰弗里·D·厄尔曼的《挖掘海量数据集》一书:斯坦福大学的网页

大数据本身不是一项技术,而是一个概念

你可以想到数据库,数据库本身不是一项技术,它是一个概念。Oracle、DB2等都是数据库技术

回到大数据,这个概念被用来处理难以用传统数据库或技术分析的巨大数据。人们认为hadoop是bigdata的同义词,但让我再次告诉你们,hadoop只不过是Apache开发的一种实现bigdata概念的技术

Hadoop有自己的名为hdfs的文件系统,它使用mapreduce来解决大数据问题。除了Hadoop之外,还有一个类似于sql的hive,但在内部它使用map reduce。Hbase类似于nosql数据库。Pig是在内部使用mapreduce的脚本语言

大数据有很多许可版本,如MapR、Hortonworks、Cloudera等


因此,从Hadoop开始学习——HDFS、Mapreduce、纱线、Hive。

大数据本身不是一项技术,而是一个概念

你可以想到数据库,数据库本身不是一项技术,它是一个概念。Oracle、DB2等都是数据库技术

回到大数据,这个概念被用来处理难以用传统数据库或技术分析的巨大数据。人们认为hadoop是bigdata的同义词,但让我再次告诉你们,hadoop只不过是Apache开发的一种实现bigdata概念的技术

Hadoop有自己的名为hdfs的文件系统,它使用mapreduce来解决大数据问题。除了Hadoop之外,还有一个类似于sql的hive,但在内部它使用map reduce。Hbase类似于nosql数据库。Pig是在内部使用mapreduce的脚本语言

大数据有很多许可版本,如MapR、Hortonworks、Cloudera等

因此,从Hadoop开始学习——HDFS、Mapreduce、Thread、Hive。

大数据是一个宽泛的术语,指的是如此庞大或复杂的数据集,以至于传统的数据处理应用程序无法满足需要。挑战包括分析、捕获、数据整理、搜索、共享、存储、传输、可视化和信息隐私——来自维基百科

是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集

Hadoop中有四个主要模块

1.Hadoop Common:支持其他Hadoop模块的公共实用程序

2.Hadoop分布式文件系统HDFS™: 提供对应用程序数据的高吞吐量访问的分布式文件系统

3.Hadoop Thread:作业调度和集群资源管理的框架

4.Hadoop MapReduce:用于并行处理大型数据集的基于纱线的系统

在进一步讨论之前,请注意,我们有三种不同类型的数据

结构化:结构化数据具有强模式,在写和读操作期间将检查模式。e、 g.Oracle、MySQL服务器等RDBMS系统中的数据

非结构化:数据没有任何结构,可以是任何形式—Web服务器日志、电子邮件、图像等

半结构化:数据不是严格结构化的,但具有某种结构。e、 g.XML文件

根据要处理的数据类型,我们必须选择正确的技术

还有一些项目,它们是o部分 f Hadoop

糖化血红蛋白™: 一种可扩展的分布式数据库,支持大型表的结构化数据存储

蜂巢™: 提供数据汇总和即席查询的数据仓库基础架构

猪™: 一种用于并行计算的高级数据流语言和执行框架

蜂巢与猪的比较可以在我的另一篇文章中找到

HBASE不会取代Map Reduce。HBase是可扩展的分布式数据库,Map Reduce是用于分布式数据处理的编程模型。Map Reduce可能在处理过程中作用于HBASE中的数据

您可以将HIVE/HBASE用于结构化/半结构化数据,并使用Hadoop Map Reduce进行处理

您可以使用SQOOP从传统的RDBMS数据库Oracle、SQL Server等导入结构化数据,并使用Hadoop Map Reduce进行处理

您可以使用FLUME处理非结构化数据,并使用Hadoop Map Reduce进行处理

看看:

配置单元应用于对一段时间内收集的数据进行分析查询。e、 g计算趋势,汇总网站日志,但不能用于实时查询

HBase适合大数据的实时查询。Facebook将其用于信息传递和实时分析

PIG可用于构造数据流、运行计划作业、处理大量数据、聚合/汇总数据并存储到关系数据库系统中。适用于临时分析

Hive可以用于特殊数据分析,但它不能像PIG那样支持所有非结构化数据格式

ZooKeeper是一种集中式服务,用于维护配置信息、命名、提供分布式同步以及提供对各种分布式系统非常有用的组服务。没有ZooKeeper,HBase无法运行

ApacheSpark是一个通用的计算引擎,提供大规模的快速数据分析。Spark基于HDFS构建,但绕过MapReduce,而是使用自己的数据处理框架。ApacheSpark的常见用例包括实时查询、事件流处理、迭代算法、复杂操作和机器学习

看门人™: 一个可扩展的机器学习和数据挖掘库

泰兹™: 一个基于Hadoop Thread的通用数据流编程框架,它提供了一个强大而灵活的引擎来执行任意DAG任务,以处理批处理和交互式用例的数据。Tez被Hive收养了™, 猪™ 以及Hadoop生态系统中的其他框架,以及其他商业软件(如ETL工具)来取代Hadoop™ MapReduce作为底层执行引擎

我只介绍了Hadoop生态系统的一些关键组件。如果你想看看生态系统的所有组成部分,看看这个

如果上面的表格很难消化,请看一下

但要理解所有这些系统,我希望您先从网站开始,然后再浏览其他文章。

大数据是一个宽泛的术语,指的是如此庞大或复杂的数据集,以至于传统的数据处理应用程序不足以满足需要。挑战包括分析、捕获、数据整理、搜索、共享、存储、传输、可视化和信息隐私——来自维基百科

是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集

Hadoop中有四个主要模块

1.Hadoop Common:支持其他Hadoop模块的公共实用程序

2.Hadoop分布式文件系统HDFS™: 提供对应用程序数据的高吞吐量访问的分布式文件系统

3.Hadoop Thread:作业调度和集群资源管理的框架

4.Hadoop MapReduce:用于并行处理大型数据集的基于纱线的系统

在进一步讨论之前,请注意,我们有三种不同类型的数据

结构化:结构化数据具有强模式,在写和读操作期间将检查模式。e、 g.Oracle、MySQL服务器等RDBMS系统中的数据

非结构化:数据没有任何结构,可以是任何形式—Web服务器日志、电子邮件、图像等

半结构化:数据不是严格结构化的,但具有某种结构。e、 g.XML文件

根据要处理的数据类型,我们必须选择正确的技术

还有一些项目,它们是Hadoop的一部分

糖化血红蛋白™: 一种可扩展的分布式数据库,支持大型表的结构化数据存储

蜂巢™: 提供数据汇总和即席查询的数据仓库基础架构

猪™: 一种用于并行计算的高级数据流语言和执行框架

蜂巢与猪的比较可以在我的另一篇文章中找到

HBASE不会取代Map Reduce。HBase是可扩展的分布式数据库,Map-Reduce是分布式进程的编程模型 数据的压缩。Map Reduce可能在处理过程中作用于HBASE中的数据

您可以将HIVE/HBASE用于结构化/半结构化数据,并使用Hadoop Map Reduce进行处理

您可以使用SQOOP从传统的RDBMS数据库Oracle、SQL Server等导入结构化数据,并使用Hadoop Map Reduce进行处理

您可以使用FLUME处理非结构化数据,并使用Hadoop Map Reduce进行处理

看看:

配置单元应用于对一段时间内收集的数据进行分析查询。e、 g计算趋势,汇总网站日志,但不能用于实时查询

HBase适合大数据的实时查询。Facebook将其用于信息传递和实时分析

PIG可用于构造数据流、运行计划作业、处理大量数据、聚合/汇总数据并存储到关系数据库系统中。适用于临时分析

Hive可以用于特殊数据分析,但它不能像PIG那样支持所有非结构化数据格式

ZooKeeper是一种集中式服务,用于维护配置信息、命名、提供分布式同步以及提供对各种分布式系统非常有用的组服务。没有ZooKeeper,HBase无法运行

ApacheSpark是一个通用的计算引擎,提供大规模的快速数据分析。Spark基于HDFS构建,但绕过MapReduce,而是使用自己的数据处理框架。ApacheSpark的常见用例包括实时查询、事件流处理、迭代算法、复杂操作和机器学习

看门人™: 一个可扩展的机器学习和数据挖掘库

泰兹™: 一个基于Hadoop Thread的通用数据流编程框架,它提供了一个强大而灵活的引擎来执行任意DAG任务,以处理批处理和交互式用例的数据。Tez被Hive收养了™, 猪™ 以及Hadoop生态系统中的其他框架,以及其他商业软件(如ETL工具)来取代Hadoop™ MapReduce作为底层执行引擎

我只介绍了Hadoop生态系统的一些关键组件。如果你想看看生态系统的所有组成部分,看看这个

如果上面的表格很难消化,请看一下


但要理解所有这些系统,我希望你们先从网站开始,然后再浏览其他文章。

我为学习Hadoop所做的事情

从头开始安装Hadoop。我的意思是下载CentOs、Hadoop、JAVA等,然后手动安装

b了解HDFS的工作原理

c了解MapReduce的工作原理

d用JAVA编写字数统计


这将帮助您开始学习。

我为学习Hadoop所做的事情

从头开始安装Hadoop。我的意思是下载CentOs、Hadoop、JAVA等,然后手动安装

b了解HDFS的工作原理

c了解MapReduce的工作原理

d用JAVA编写字数统计


这将帮助您开始。

非常感谢您的回复。另一个简短的问题:现在问这个问题可能还为时过早,但是,BigData/Hadoop开发人员在哪些特定领域获得了专业知识?是整个堆栈需要成为技能集,或者说是一个HIVE开发人员,还是仅仅是一个MapReduce编码器?掌握整个堆栈确实很困难。理想情况下,您应该熟练使用flume或kafka日志收集框架,然后处理hive、pig、mapreduce和一些nosql数据库hbase、mongo等。堆栈中的每个项目都解决了特定的目的,一旦您对生态系统有了高水平的了解,您将能够将您的需求与这些项目联系起来Hanks Amar。Cloudera虚拟机是否完全免费用于自学,而完整版本不是试用版?或者,Hortonworks发行版会更好?是的,这是完全免费的,没有任何限制。我没有在Hortonworks上工作过,所以不能对此发表评论,但cloudera one确实很棒!非常感谢,阿马尔。顺便说一句,上面的一些链接似乎被破坏了;您能修好吗?非常感谢您的回复。另一个简短的问题:现在问这个问题可能还为时过早,但是,BigData/Hadoop开发人员在哪些特定领域获得了专业知识?是整个堆栈需要成为技能集,或者说是一个HIVE开发人员,还是仅仅是一个MapReduce编码器?掌握整个堆栈确实很困难。理想情况下,您应该熟练使用flume或kafka日志收集框架,然后处理hive、pig、mapreduce和一些nosql数据库hbase、mongo等。堆栈中的每个项目都解决了特定的目的,一旦您对生态系统有了高水平的了解,您将能够将您的需求与这些项目联系起来Hanks Amar。Cloudera虚拟机是否完全免费用于自学,而完整版本不是试用版?或者,Hortonworks发行版会更好?是的,这是完全免费的
没有任何限制。我没有在Hortonworks上工作过,所以不能对此发表评论,但cloudera one确实很棒!非常感谢,阿马尔。顺便说一句,上面的一些链接似乎被破坏了;你能修好它们吗?谢谢@Deleteman。它确实很有用。我安装了CDH5.2,但不幸的是它至少需要8GB的RAM。所以,我求助于vanilla Hadoop并手动安装了它。好吧,如果你能够毫无问题地安装vanilla Hadoop,那么无论如何你都不需要CDH IMHO。祝你修修补补好运!还有一个困惑。经过大量的配置和调试,我终于用MR插件设置了EclipseLuna,并执行了典型的字数计算程序。它执行并给出正确的o/p。但是,我的疑问是——为什么我不能从Hadoop UI中看到节点和MR工作?甚至日志在Eclipse控制台上也不可见。谢谢@Deleteman。它确实很有用。我安装了CDH5.2,但不幸的是它至少需要8GB的RAM。所以,我求助于vanilla Hadoop并手动安装了它。好吧,如果你能够毫无问题地安装vanilla Hadoop,那么无论如何你都不需要CDH IMHO。祝你修修补补好运!还有一个困惑。经过大量的配置和调试,我终于用MR插件设置了EclipseLuna,并执行了典型的字数计算程序。它执行并给出正确的o/p。但是,我的疑问是——为什么我不能从Hadoop UI中看到节点和MR工作?甚至日志在Eclipse控制台上也不可见。