Hadoop上手容易吗

2021-01-29 17:20发布

15条回答
想当熊猫
2楼 · 2021-01-29 18:00

不是很容易bai,但是推荐一些Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。

一、学习路线图

Hadoop家族学习路线图 开篇必读

Hive学习路线图

Mahout学习路线图

二、编程实践

Hadoop历史版本安装

用Maven构建Hadoop项目

Hadoop编程调用HDFS

用Maven构建Mahout项目

Mahout推荐算法API详解

用MapReduce实现矩阵乘法

从源代码剖析Mahout推荐引擎

Mahout分步式程序开发 基于物品的协同过滤ItemCF

Mahout分步式程序开发 聚类Kmeans

PageRank算法并行实现

三、案例分析

海量Web日志分析 用Hadoop提取KPI统计指标

用Hadoop构建电影推荐系统

用Mahout构建职位推荐引擎

Mahout构建图书推荐系统

PeopleRank从社交网络中发现个体价值


kitidog2016
3楼 · 2021-01-29 18:44

想学习Hadoop,可是苦于自己没有任何的基础,不知道该如何下手,也不知道自己能不能学会。其实零基础学习hadoop,没有想象的那么困难。现在我把自己的学习思路整理一下,希望对大家有帮助。

怎么才能学好Hadoop,进入云的世界,这里给几点建议:

1.打好你的Java基础,C我就不说了,那是基本功。

2.详细研究,理解一下现在大型网站包括Sina,腾讯网(门户),Weibo,天猫,京东(电商)的架构与实现,先从自己的角度去理解,然后去跟实际情况做比对,提升自己对数据和技术的敏感程度。在这个阶段,如果能分门别类的规划出不同类型网站的需求和使用的特定方向的技术,对“云”和“大数据”的理解就更加透彻而非表层停留。

3.科班的同学,在学校的以基础为根基,在公司的以业务为导向,这样的技术才不盲目,这样的技术才脚踏实地。对很多人来说,技术都不是一生的职业导向,那么,提升自己的眼界,站在更高的角度思考问题就显得尤为重要,从自己,到团队,公司,再到整个业界,眼界宽广了,技术也就是你的左膀右臂。

Hadoop分为两个大块:HDFS和MapReduce。

HDFS - Hadoop Distributed FileSystem。这个概念很好,但是其实我不觉得很实用。但是如果你之后要往Non SQL方面深入的话这个还是很重要,HDFS是HBASE的基础,Hbase又可以延伸到Big Table,DynamoDB,Mango等。HDFS概念不难,Hadoop The Definitive Guide里面讲的很清楚,看书就好。

MapReduce -前面说最好看英文版,因为不管中文怎么翻译,Map,Reduce都是没办法像读英文那样容易理解的。这里面有个YARN的概念,是最最最重要的。MapReduce是管数据怎么流动的,YARN是管集群中的资源怎么分配的。除了YARN以外,MapReduce还有几个很重要的概念,比如Partition, combine, shuffle, sort,都在书里很小的位置,但是都对理解整个MapReduce非常有帮助。

关于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有免费试用时间,可以在这上面学习。最重要的是你可以尝试各种不同的配置对于任务的影响,比如不同的版本,不同的container size,memory大小等等,这对于学习Spark非常有帮助。

我直接是白手起家搞hadoop的,没有看权威指南,不懂就google之。我开始也没研究源代码,我先研究Hadoop是怎么跑起来的,怎么工作的。然后过了一段时间,我去看《Hadoop权威指南》,和实践相印证,上手很快。Hadoop这个课题太大,人家花了几年时间研究出来的,你想搞个毕设就想剖析清楚,这个有点不现实。

我的建议是,只研究hadoop的一到两个模块就行了。在这几个中间选一两个研究就可以了。

目前炒的很热,可以说是“如日中天”,好像不会Hadoop、不知道MapReduce就不是搞大规模数据处理似的;貌似数据库的一些人不喜欢Hadoop。

随着互联网或者数据库数据量的不断增大,分布式真的可以替代数据中心吗?这个值得考虑,毕竟框架是Google提出来的,提出时势必会考虑google自身的技术和经济能力,试问当下有几个公司有google的实力?

有人说过(具体名字忘了),在中国,云计算就是忽悠,是炒作;也有人说,云计算是必然的发展趋势,毕竟好多公司都在这么玩。在Copy to China的年代,云计算到底是什么,好像很难说清楚吧?

结论:当下很火,找工作绝对不成问题,看这种形式,似乎也是未来发展的方向;但是这种行业预测的问题,大佬们都经常犯错,我们没到那个级别,还跟着瞎预测啥啊,好好练好内功,这才是关键。


张成秀 - 快乐开心每一天
4楼 · 2021-01-30 09:49

Hadoop是大数据的核心内容,相对来说有一定的难度,但是只要会好的学习方法就应该是比较容易上手的

请叫我雷锋叔叔啊
5楼 · 2021-01-30 11:41

还可以,只要前边Java这一块儿学的很扎实,Hadoop就不算很难

小叮当
6楼 · 2021-01-31 11:17

很多想入门的朋友在问大牛如何入门大数据Hadoop的时候,大牛们都会随便甩一句——看官方文档。然而对于新手而言,官网文档晦涩难懂,并且英文对很多人而言也不太友好,因此在这里并不推荐大家去官网学习。

大数据从提出到现在已经走了14个年头了,关于Hadoop的书籍可说是数不胜数,该如何选取一本合适的书非常难以抉择。先去上网做了一些调查。发现很多人都推荐《Hadoop实战》和《Hadoop权威指南》。首先《Hadoop》实战这本书写的还是非常清晰的,但是版本是基于1.0版本的,现在最新的Hadoop已经出到3.0以上了,并且稳定的版本也在2.8。


因此Hadoop1.0对于新手来说太过落后,在此并不推荐。《Hadoop权威指南》是 Tom White 所著,他是最顶尖的Hadoop专家之一,一直为Hadoop提交高质量的代码。目前《Hadoop权威指南》最新的版本是第四版,这本书无论对于新手和老手都非常合适,因为它极其全面,新手可以拿来入门,老手可以当做字典来使用,当某些技术点不太记得的时候可以随手查阅。

除了《Hadoop权威指南》第四版之外,还推荐一本名为《Hadoop+Spark生态操作与实战指南》的书,该书是基于Hadoop2.7版本的书,在市面上也是属于非常新的版本了。并且这本书很薄,涉及的知识点没有那么深入,但是对于新手来说肯定够用,而且花费的时间也很短,想最快速上手的同学可以选择尝试。

亦橙
7楼 · 2021-01-31 22:03

还可以 相对你前面基础打好了 后面学习应该会简单一些

无需指教
8楼 · 2021-02-01 08:58

还是挺容易上手的

是你的小甜心呀
9楼 · 2021-02-01 09:21

不是很容易,但是推荐一些Hadoop家族系列文章,主要介绍Hadoop家族产bai品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。

一、学习路线图

Hadoop家族学习路线图 开篇必读

Hive学习路线图

Mahout学习路线图

二、编程实践

Hadoop历史版本安装

用Maven构建Hadoop项目

Hadoop编程调用HDFS

用Maven构建Mahout项目

Mahout推荐算法API详解

用MapReduce实现矩阵乘法

从源代码剖析Mahout推荐引擎

Mahout分步式程序开发 基于物品的协同过滤ItemCF

Mahout分步式程序开发 聚类Kmeans

PageRank算法并行实现

三、案例分析

海量Web日志分析 用Hadoop提取KPI统计指标

用Hadoop构建电影推荐系统

用Mahout构建职位推荐引擎

Mahout构建图书推荐系统

PeopleRank从社交网络中发现个体价值


相关问题推荐

  • 什么是大数据时代?2021-01-13 21:23
    回答 100

    大数据(big data)一词越来越多地被提及,人们用它来描述和定义信息爆炸时代产生的海量数据,而这个海量数据的时代则被称为大数据时代。随着云时代的来临,大数据(Big data)也吸引了越来越多的关注。大数据(Big data)通常用来形容一个公司创造的大量非结...

  • 回答 84

    Java和大数据的关系:Java是计算机的一门编程语言;可以用来做很多工作,大数据开发属于其中一种;大数据属于互联网方向,就像现在建立在大数据基础上的AI方向一样,他两不是一个同类,但是属于包含和被包含的关系;Java可以用来做大数据工作,大数据开发或者...

  • 回答 52
    已采纳

    学完大数据可以从事很多工作,比如说:hadoop 研发工程师、大数据研发工程师、大数据分析工程师、数据库工程师、hadoop运维工程师、大数据运维工程师、java大数据工程师、spark工程师等等都是我们可以从事的工作岗位!不同的岗位,所具备的技术知识也是不一样...

  • 回答 29

    简言之,大数据是指大数据集,这些数据集经过计算分析可以用于揭示某个方面相关的模式和趋势。大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。大数据的特点:数据量大、数据种类多、 要求实时性强、数据所蕴藏的...

  • 回答 14

    tail -f的时候,发现一个奇怪的现象,首先 我在一个窗口中 tail -f test.txt 然后在另一个窗口中用vim编辑这个文件,增加了几行字符,并保存,这个时候发现第一个窗口中并没有变化,没有将最新的内容显示出来。tail -F,重复上面的实验过程, 发现这次有变化了...

  • 回答 18

    您好针对您的问题,做出以下回答,希望有所帮助!1、大数据行业还是有非常大的人才需求的,对于就业也有不同的岗位可选,比如大数据工程师,大数据运维,大数据架构师,大数据分析师等等,就业难就难在能否找到适合的工作,能否与你的能力和就业预期匹配。2、...

  • 回答 17

    最小的基本单位是Byte应该没多少人不知道吧,下面先按顺序给出所有单位:Byte、KB、MB、GB、TB、PB、EB、ZB、YB、DB、NB,按照进率1024(2的十次方)计算:1Byte = 8 Bit1 KB = 1,024 Bytes 1 MB = 1,024 KB = 1,048,576 Bytes 1 GB = 1,024 MB = 1,048,576...

  • 回答 33

    大数据的定义。大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法通过人脑甚至主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。大数据是对大量、动态、能持续的数据,通过运用新系统、新工具、新...

  • 回答 5

    MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的版本:针对不同的用户,MySQL分为两种不同的版本:MySQL Community Server社区版本,免费,但是Mysql不提供...

  • mysql安装步骤mysql 2022-05-07 18:01
    回答 2

    mysql安装需要先使用yum安装mysql数据库的软件包 ;然后启动数据库服务并运行mysql_secure_installation去除安全隐患,最后登录数据库,便可完成安装

  • 回答 5

    1.查看所有数据库showdatabases;2.查看当前使用的数据库selectdatabase();3.查看数据库使用端口showvariableslike'port';4.查看数据库编码showvariableslike‘%char%’;character_set_client 为客户端编码方式; character_set_connection 为建立连接...

  • 回答 5

    CREATE TABLE IF NOT EXISTS `runoob_tbl`(    `runoob_id` INT UNSIGNED AUTO_INCREMENT,    `runoob_title` VARCHAR(100) NOT NULL,    `runoob_author` VARCHAR(40) NOT NULL,    `submission_date` DATE,    PRI...

  • 回答 9

    学习多久,我觉得看你基础情况。1、如果原来什么语言也没有学过,也没有基础,那我觉得最基础的要先选择一种语言来学习,是VB,C..,pascal,看个人的喜好,一般情况下,选择C语言来学习。2、如果是有过语言的学习,我看应该一个星期差不多,因为语言的理念互通...

  • 回答 7

    添加语句 INSERT插入语句:INSERT INTO 表名 VALUES (‘xx’,‘xx’)不指定插入的列INSERT INTO table_name VALUES (值1, 值2,…)指定插入的列INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,…)查询插入语句: INSERT INTO 插入表 SELECT * FROM 查...

  • 回答 5

    看你什么岗位吧。如果是后端,只会CRUD。应该是可以找到实习的,不过公司应该不会太好。如果是数据库开发岗位,那这应该是不会找到的。

  • 回答 7

    查找数据列 SELECT column1, column2, … FROM table_name; SELECT column_name(s) FROM table_name 

没有解决我的问题,去提问