阿里封神谈hadoop学习之路 封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊 hadoop 学生 spark

来源:互联网 发布:android指南针源码 编辑:程序博客网 时间:2024/04/29 08:29

阿里封神谈hadoop学习之路

 
封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊

hadoop 学生 spark

摘要: 在大数据时代,要想个性化实现业务的需求,还是得操纵各类的大数据软件,如:hadoop、hive、spark等。笔者(阿里封神)混迹Hadoop圈子多年,经历了云梯1、ODPS等项目,目前base在E-Mapreduce。在这,笔者尽可能梳理下hadoop的学习之路。

引言

当前,越来越多的同学进入大数据行业,有的是底层的技术,有的是工程,有的是算法,有的是业务。每个产品、都需要工程化的实现,以前,工程师都是操练着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、databricks、阿里云E_MapReduce 等博客
  • 多关注一些群,可以加笔者的微信(fengshenwukong),笔者拉下
  • 多关注一些圈子内的微博号或者同学,可以从笔者的微博关注里面找(笔者的微博号:阿里封神)
  • 关注你关注的软件的邮件列表
  • 多写写博客,分享自己的心得,把知识沉淀下来
  • 多关注社区的发展

推荐的资料

hadoop生态资料太多,google一下一大把,笔者这里列出的都是基本的:
首先推荐《hadoop权威指南》,基本会讲述hadoop生态的各个组件,是不错的书籍。
再次就是各个软件的官方文档,例如:hadoop、spark、kafka、

Hadoop基础及ETL

主要包括Hadoop Yarn、HDFS、Hadoop MapReudce、Hive、Spark SQL等

  • 书籍:《Spark大数据处理技术》
  • 书籍:《Hive编程指南》
  • 书籍:《Hadoop技术内幕:深入解析YARN架构设计与实现原理》
  • 书籍:《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》
  • 书籍:《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》
  • 论文:Bigtable: A Distributed Storage System for Structured Data
  • 论文:MapReduce: Simplified Data Processing on Large Clusters
  • 论文:The Google File System
  • 论文:Spark: Cluster Computing with Working Sets
  • 论文:Spark SQL: Relational Data Processing in Spark
  • 博客:Spark源码分析

流式实时处理技术

主要包括Jstorm、Spark Streaming

  • 官方文档:JStorm Chinese Documentation
  • 官方文档:Spark Streaming

大数据KV、MPP领域

主要包括的是Hbase、Impala

  • 书籍: 《HBase权威指南》
  • 官方文档:Apache Impala

本文章后续会继续更新,欢迎大家关注!

版权声明