{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

学习大数据Hadoop需要哪些基础?

wizChenwizChen 回答0 收藏1
收藏问题

3条回答

jone5679

jone5679

回答于2022-06-28 15:28

Hadoop是目前被广泛使用的大数据平台,Hadoop平台主要有Hadoop Common、HDFS、Hadoop Yarn、Hadoop MapReduce和Hadoop Ozone。

Hadoop平台目前被行业使用多年,有健全的生态和大量的应用案例,同时Hadoop对硬件的要求比较低,非常适合初学者自学。目前很多商用大数据平台也是基于Hadoop构建的,所以Hadoop是大数据开发的一个重要内容。

学习Hadoop开发需要有三个基础知识,下面进行分别介绍:

第一:Linux操作系统知识。通常情况下,Hadoop平台是构建在Linux系统之上的,所以学习Hadoop首先要学习Linux操作系统的使用。目前比较流行的Linux操作系统包括CentOS和Ubuntu,这两个Linux系列操作系统有广泛的应用场景。学习Linux并不复杂,通常情况下可以在虚拟机上完成,很多初学者都是在虚拟机上搭建一个伪分布式集群,然后完成Hadoop实验。

第二:编程语言。目前在Hadoop平台下多采用Java和Python来完成程序的编写,由于Hadoop本身是采用Java语言编写的,所以在Hadoop平台下采用Java语言是比较方便的选择,Hadoop的官方demo往往也是采用Java语言实现的。Python语言由于比较简单,同时Python有丰富的库可以使用,所以目前使用Python完成Hadoop平台的开发也是一个比较常见的选择。另外,在Spark平台下Scala也有广泛的应用。

第三:算法。大数据的核心就是数据价值化的过程,而算法设计则是数据价值化的基础。因此,大数据平台的开发离不开算法,要想学习Hadoop开发一定要有一个扎实的算法基础。

Hadoop平台自身有非常丰富的开发组件,所以学习Hadoop的过程还是比较漫长的,由于大数据开发有较强的场景特征,所以建议结合具体的场景来完成Hadoop平台的学习。

大数据是我的主要研究方向之一,目前我也在带大数据方向的研究生,我会陆续在头条写一些关于大数据方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有大数据方面的问题,也可以咨询我。

谢谢!

评论0 赞同0
  •  加载中...
fancyLuo

fancyLuo

回答于2022-06-28 15:28

我们都知道现在学习大数据,Hadoop是其中一个必学的技术,简单来说,Hadoop是在分布式服务器集群上存储海量数据并运行分布式分析应用的一种方法。那Hadoop该学习哪些内容?需要了解什么呢?有Hadoop经典学习资料吗?

HDFS

HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(large data set)的应用程序。

MapReduce

通俗说MapReduce是一套从海量源数据提取分析元素末后返回结果集的编程模型,将文件分布式存储到硬盘是第一步,而从海量数据中提取分析我们需要的内容就是MapReduce做的事了。

MapReduce的基本原理就是:将大的数据分析分成小块逐个分析,然后再将提取出来的数据汇总分析,从而获得我们想要的内容。当然怎么分块分析,怎么做Reduce操作非常复杂,Hadoop已经提供了数据分析的实现,我们只需要编写简单的需求命令即可达成我们想要的数据。

关于Hadoop的使用方式:

感觉现在各个公司使用Hadoop的方式都不一样,主要我觉得有两种吧。

第一种是long running cluster形式,比如Yahoo,不要小看这个好像已经没什么存在感的公司,Yahoo可是Hadoop的元老之一。这种就是建立一个Data Center,然后有几个上千Node的Hadoop Cluster一直在运行。比较早期进入Big Data领域的公司一般都在使用或者使用过这种方式。

另一种是只使用MapReduce类型。毕竟现在是Cloud时代,比如AWS的Elastic MapReduce。这种是把数据存在别的更便宜的地方,比如s3,自己的data center, sql database等等,需要分析数据的时候开启一个Hadoop Cluster,Hive/Pig/Spark/Presto/Java分析完了就关掉。不用自己做Admin的工作,方便简洁。

所以个人如果要学Hadoop的话我也建议第二种,AWS有免费试用时间(但是EMR并不免费,所以不要建了几千个Node一个月后发现破产了),可以在这上面学习。更重要的是你可以尝试各种不同的配置对于任务的影响,比如不同的版本,不同的container size,memory大小等等,这对于学习Spark非常有帮助。

总的来说Hadoop适合应用于大数据存储和大数据分析的应用,适合于服务器几千台到几万台的集群运行,支持PB级的存储容量。Hadoop典型应用有:搜索、日志处理、推荐系统、数据分析、视频图像分析、数据保存等。

大数据产业已进入发展的“快车道”,急需大量优秀的大数据人才作为后盾。能够在大数据行业崛起的初期进入到这个行业当中来,才有机会成为时代的弄潮儿。千锋大数据开发新进企业级服务器实战教学,20周带你一站式搞定匪夷所思的大数据开发技术。

评论0 赞同0
  •  加载中...
xioqua

xioqua

回答于2022-06-28 15:28

接触过Core Java,数据库概念和任何Linux操作系统。(教程:http://codingdict.com/article/8105)

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<