你好,游客 登录
背景:
阅读新闻

数据时代,Hadoop的具体学习路习主要分为哪几步?

[日期:2018-03-22] 来源:多智时代  作者: [字体: ]

  说到底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,学任何一门技术都是一样,需要实际动手。





收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款