学习hadoop,首先我们要知道hadoop是什么?

说到底Hadoop只是一项分布式系统的工具,我们在学习的时候要理解分布式系统设计中的原则以及方法,只有这样才能以不变应万变。再一个就是一定要动手,有什么案例,有什么项目一定要亲自动手去敲。

学习的时候不要害怕遇到问题,问题是最好的老师。其实学习的过程就是逐渐解决问题的过程,当你遇到的问题越来越少的时候,就说明已经学的差不多了。

下面说一下hadoop的学习路线。

1.我们要掌握Linux的安装及基本操作、Python安装及编程基础、java基础。

需要学习Linux的常用命令、基本网络配置、进程管理、shell语法;Python的常用语法,能够基于Python搭建一个常用的Server服务器和java的基础知识。

这时候只需要掌握基础即可,后边遇到问题再学习,这样才不会混乱,学的才扎实。

2. 搭建Hadoop分布式环境

我们要做的是在自己的电脑上安装Linux,然后准备环境nat配置,搭建Hadoop集群先让Hadoop在自己的电脑上跑起来。使用VMware来搭建。

这时候我们会Host配置、IP配置、SSH免密登录等。

3.学习HDFS分布式文件系统

这一步要学习架构分析、容灾容错策略、local数据策略、数据块概念、机架感应,功能逻辑实现等。要真正的去敲敲,掌握Linux下HDFS Shell常用命令的使用。

4.学习MapReduce计算框架

MapReduce是Hadoop核心编程模型。在Hadoop中,数据处理核心就是MapReduce程序设计模型。这一步需要学的东西很多,大家一定要有耐心,把MR的知识学牢固。

首先我们需要学习MR的基本原理、任务执行流程、Shuffle策略。自己动手写一个MR任务,来实现wordcount。然后要学习表单join、表单查询、数据清洗、全局排序、多目录输入输出、自定义partition分区,掌握二分法算法。

接下来学习自然语言处理方法(NLP),掌握如何提取关键词,TF-IDF算法。这里我们可以实践一下,统计文本中的词频。

学习中文分词,分词的质量直接影响数据挖掘的质量。

5.学习Strom流式计算

Storm是一个开源分布式实时计算系统,它可以实时可靠地处理流数据。

这一步我们要知道Hadoop和Storm的区别,知道他们如何进行互补。了解Storm的体系架构、Zookeeper在架构中的作用和数据流处理的过程。弄懂Storm的工作原理和核心组件(Spout、Bolt)

6.学习Zookeeper分布式协作服务

这一步我们学会数据管理的树形结构,学会根据应用场景选择不同类型的节点、节点权限管理ACL和监控机制。学会Zookeeper开源自带Client工具的Shell使用,开发java代码实现不同类型的节点进行新建、修改、删除和节点的监控。

7.学习数据仓库工具Hive

这一步要了解Hive的体系架构和其与mysql的对比。要掌握Mysql的基本知识、系统搭建标准SQL语(增删查改)。

8.学习分布式存储系统Hbase

这一步要掌握Hbase的体系架构(HMaster、HRegionServer、HStore、HFile、HLog),物理存储、数据逻辑存储、核心功能模块。

细化一点要掌握Hbase表结构设计、Shell操作(增删查改)、javaAPI操作、数据迁移、备份与恢复。与MR结合实现批量导入与导出,与Hive结合使用,集群管理和性能调优。

9.学习Spark

这一步要掌握SPark的编程模型、运行框架、作业提交、缓存策略、RDD、MLLib。

10.学习Scala语言

这一步要掌握Scala的常用语法、函数、元组等操作,不熟Spark。

11.学习Spark开发技术

这一步要能够熟练使用MLLib,能够自己开发Scala的Spark任务,完成表格join、连接和文本串过滤等。

12.学习推荐系统

前面我们学了那么多,最终所学的技术要能落地,我学的是现在主流的推荐系统,现在各大公司都需要这方面的人才。

这一步我们可以找一些案例在学习,要掌握主流的推荐算法,Content Base、Collab Filter。

a.学习基于MR的协同过滤算法

b.学习Mahout,掌握Mahout的适用场景、环境搭建与部署。

学习基于Mahout的协同过滤算法,与MR进行效果对比。

C.学习基于Spark的协同过滤算法

到这里,按照上边的路线认真学习,肯定能学好hadoop开发,在学习的时候一定要亲自动手去敲,要去不断的尝试,把看到的知识尽快转化为自己的技能,这样才能高效率的学会hadoop,学任何一门技术都是一样,需要实际动手。

最后送给大家一套hadoop视频,授课老师是百度的hadoop核心架构师,经常在一些上市公司做内训,有很强的专业技能和授课能力。

这套视频主要内容包括Hadoop入门、Hadoop生态架构和Hadoop大型商业项目的讲解。这三块细化来看就是我文章中提到的那个学习顺序。老师讲的很细,MR就讲了15个小时,毕竟这是Hadoop中的重点。

想要视频的同学可以加微信ganshiyu1026,备注 OSC 即可免费领取。

想高效学会Hadoop,你要按照这个路线的更多相关文章

  1. Hadoop/Spark生态圈里的新气象

    令人惊讶的是,Hadoop在短短一年的时间里被重新定义.让我们看看这个火爆生态圈的所有主要部分,以及它们各自具有的意义. 对于Hadoop你需要了解的最重要的事情就是 ,它不再是原来的Hadoop. ...

  2. 什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么

    什么是Zookeeper,Zookeeper的作用是什么,它与NameNode及HMaster如何协作?在没有接触Zookeeper的同学,或许会有这些疑问.这里给大家总结一下. 一.什么是Zooke ...

  3. 基于Hadoop技术实现的离线电商分析平台(Flume、Hadoop、Hbase、SpringMVC、highcharts)

    离线数据分析平台是一种利用hadoop集群开发工具的一种方式,主要作用是帮助公司对网站的应用有一个比较好的了解.尤其是在电商.旅游.银行.证券.游戏等领域有非常广泛,因为这些领域对数据和用户的特性把握 ...

  4. Zookeeper的作用,在Hadoop及hbase中具体作用

    什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么 一.什么是Zookeeper ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hado ...

  5. hadoop MapReduce 入门

    原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7687120.html ------------------------------------ ...

  6. Hadoop每日一讨论整理版

    这是我在几个QQ群发起的Hadoop每日一讨论小活动,每天中午2点左右发出一个关于Hadoop的知识片段,在此做一个整理. [每日一讨论]之计算框架(2013-5-21) 就计算框架而言,Hadoop ...

  7. 转载文章——Hadoop学习

    转载地址:http://www.iteye.com/blogs/subjects/zy19982004?page=2 一.Hadoop社区版和发行版 社区版:我们把Apache社区一直开发的Hadoo ...

  8. 配置hadoop

    1.$ tar -zxvf  hadoop-1.0.3.tar.gz 2.添加hadoop到环境变量 root登陆: sudo su 修改环境变量:vi  /etc/environment 添加: / ...

  9. 给hadoop新手的一封信:Hadoop入门自学及对就业的帮助

    学习指南,刚接触这个确实有点懵逼,感觉还有很多东西要学要看,自己要逐渐构造成一个框架的体系. 附上一个学习博客地址: http://www.cnblogs.com/mephisto/p/4835386 ...

随机推荐

  1. python 获取有关访问者的浏览器的 细节

    检测访问者的浏览器和版本号有关访问者的浏览器的更多信息有关访问者的浏览器的全部细节根据浏览器来提醒用户 <html><body><script type="te ...

  2. JSP_运维_JSP项目部署到server(适合0经验新手)

    实战:真正server端部署jsp项目经验总结与记录(完整过程从0到10适合对server端部署0经验新手) jsp+tomcat+mysql项目部署到真正server; servermysql安装; ...

  3. php去除字符串中的HTML标签

    php自带的函数可以去除/删除字符串中的HTML标签/代码. strip_tags(string,allow):函数剥去 HTML.XML 以及 PHP 的标签. 参数:string,必填,规定要检查 ...

  4. executor.Executor: Managed memory leak detected; size = 37247642 bytes, TID = 5

    https://stackoverflow.com/questions/34359211/debugging-managed-memory-leak-detected-in-spark-1-6-0 h ...

  5. How Not to Crash #2: Mutation Exceptions 可变异常(不要枚举可变的集合)

    How Not to Crash #2: Mutation Exceptions 可变异常html, body {overflow-x: initial !important;}html { font ...

  6. RabbitMQ安装 ubuntu12.04LTS

    RabbitMQ安装需要安装较多的依赖包,之前如果安装过RabbitMQ-server必须要先彻底删除. 重装的ubuntu系统(ubuntu server)的开发环境几乎是裸的,再重新编译安装erl ...

  7. Java编程的逻辑 (46) - 剖析PriorityQueue

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  8. python多进程并发

    由于Python下调用Linux的Shell命令都需要等待返回,所以常常我们设置的多线程都达不到效果,因此在调用shell命令不需要返回时,使用threading模块并不是最好的方法.   http: ...

  9. PCL点云特征描述与提取(3)

    快速点特征直方图(FPFH)描述子 已知点云P中有n个点,那么它的点特征直方图(PFH)的理论计算复杂度是,其中k是点云P中每个点p计算特征向量时考虑的邻域数量.对于实时应用或接近实时应用中,密集点云 ...

  10. 连接两个点云中的字段或数据形成新点云以及Opennni Grabber初识

    (1)学习如何连接两个不同点云为一个点云,进行操作前要确保两个数据集中字段的类型相同和维度相等,同时了解如何连接两个不同点云的字段(例如颜色 法线)这种操作的强制约束条件是两个数据集中点的数目必须一样 ...