hadoop 学习之路

2,805 阅读4分钟


引言


当前,越来越多的同学进入大数据行业,有的是底层的技术,有的是工程,有的是算法,有的是业务。每个产品、都需要工程化的实现,以前,工程师都是操练着java/python/c等各种语言操纵中各类的软件,比如jquery,spring、mysql,实现产品的业务逻辑。在大数据时代,要想个性化实现业务的需求,还是得操纵各类的大数据软件,如:hadoop、hive、spark、hbase、jstorm等。笔者(阿里封神)混迹Hadoop圈子多年,经历了云梯1、ODPS等项目,目前base在E-Mapreduce。在这,笔者尽可能梳理下,本文是围绕hadoop的。对于算法、机器学习是另一个范畴,本篇不涉及,不过从事机器学习算法的研发,能力最好在中级之上。


要想成为专家,并未一朝一夕,需要自己在业余时间花费较多的时间,我们一起加油!


初级


开始接触hadoop,最好还是有语言工程等相关的基础。如果工程能力、思维能力比较强,其实学习起来很快的。


  • 自己直接写一些mapreduce、spark相关的代码去解决一些业务问题

  • 熟悉hadoop的基本理论知识

  • 多看看官方的文档

  • 知晓大体的hadoop体系架构,每个角色能解决的问题

  • 最好能体系的看下《Hadoop权威指南》

中级


这个阶段,基本就是想进一步了解hadoop本身的


  • 前提开发能力较强,比如:java能力

  • 熟悉ETL/流失计算/图计算/机器学习各种原理

  • 看一些社区hadoop的代码,出现问题能直接看源码解决

  • 能去优化hadoop的一些性能问题,知晓大体性能的瓶颈点

  • 可以改造内核,或者参与社区开发

  • 有较多的大数据的项目经验,做过复杂项目

  • 可以看下更多的1-2个数据引擎

高级


在这个阶段,一般书籍就没有太多的用处,一般需要看看paper


  • 修改各种引擎的核心代码,这些包括:hadoop/spark/flink/strom/hive/hbase/kafka/等

  • 学习力强,可以迅速看清楚各种框架

  • 有较强的分布式理论知识

  • 能触类旁通,创新出一套新的大数据引擎,比如:spark

  • 能前瞻性预测未来引擎发展方向

建议


  • 最好的学习方式是:动手,动手写code

  • 多参加技术会议,融入hadoop圈子,如:hadoop submit,spark submit,有时候一些城市会有一些交流会

  • 关注Cloudera阿里云E_MapReduce 等博客

  • 多关注一些群,可以加笔者的微信(fengshenwukong),笔者拉下

  • 关注你关注的软件的邮件列表

  • 多写写博客,分享自己的心得,把知识沉淀下来

  • 多关注社区的发展

推荐的资料


hadoop生态资料太多,google一下一大把,笔者这里列出的都是基本的:




阿里百川(baichuan.taobao.com)是阿里巴巴集团“云”+“端”的核心战略是阿里巴巴集团无线开放平台,基于世界级的后端服务和成熟的商业组件,通过“技术、商业及大数据”的开放,为移动创业者提供可快速搭建App、商业化APP并提升用户体验的解决方案;同时提供多元化的创业服务-物理空间、孵化运营、创业投资等,为移动创业者提供全面保障。


                                                                                                 

        关于阿里百川        查看图片