引言
当前,越来越多的同学进入大数据行业,有的是底层的技术,有的是工程,有的是算法,有的是业务。每个产品、都需要工程化的实现,以前,工程师都是操练着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一下一大把,笔者这里列出的都是基本的:
-
书籍:hadoop权威指南
-
书籍:Hadoop技术内幕:深入解析YARN架构设计与实现原理
-
书籍:Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理
-
书籍:Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
-
书籍:Spark大数据处理技术
-
博客:Spark源码分析
-
论文:Bigtable: A Distributed Storage System for Structured Data
-
论文:Spark SQL: Relational Data Processing in Spark
阿里百川(baichuan.taobao.com)是阿里巴巴集团“云”+“端”的核心战略是阿里巴巴集团无线开放平台,基于世界级的后端服务和成熟的商业组件,通过“技术、商业及大数据”的开放,为移动创业者提供可快速搭建App、商业化APP并提升用户体验的解决方案;同时提供多元化的创业服务-物理空间、孵化运营、创业投资等,为移动创业者提供全面保障。
关于阿里百川 查看图片