阿里封神谈hadoop学习之路

阿里封神谈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,有时候一些城市会有一些交流会
  • 关注Clouderadatabricks阿里云E_MapReduce 等博客
  • 多关注一些群,可以加笔者的微信(fengshenwukong),笔者拉下
  • 多关注一些圈子内的微博号或者同学,可以从笔者的微博关注里面找(笔者的微博号:阿里封神
  • 关注你关注的软件的邮件列表
  • 多写写博客,分享自己的心得,把知识沉淀下来
  • 多关注社区的发展

推荐的资料

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

Hadoop基础及ETL

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

流式实时处理技术

主要包括Jstorm、Spark Streaming

大数据KV、MPP领域

主要包括的是Hbase、Impala

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

版权声明

笔者微博:阿里封神 欢迎转载,但请保留原文地址

时间: 2024-10-15 14:04:08

阿里封神谈hadoop学习之路的相关文章

大神的算法学习之路

http://zh.lucida.me/ 大神的算法学习之路,布布扣,bubuko.com

Hadoop学习之路(一)——Hadoop家族学习路线图

主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等. 从2011年开始,中国进入大数据风起云涌的时代,以Hadoop为代表的家族软件,占据了大数据处理的广阔地盘.开源界及厂商,所有数据软件,无

(转)如何学习Java技术?谈Java学习之路

51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领域其他技能的学习. [在原先<学好Java之我见>的基础上重新整理而成] Java - 近10年来计算机软件发展过程中的传奇,其在众多开发者心中的地位就如“屠龙刀”.“倚天剑”. Java是个平台,我只想说说我对学好Java的一点看法,希望对初学者有所帮助. 1. 思考一下 学习Java之前,先别

Hadoop学习之路(五)Hadoop集群搭建模式和各模式问题

分布式集群的通用问题 当前的HDFS和YARN都是一主多从的分布式架构,主从节点---管理者和工作者 问题:如果主节点或是管理者宕机了.会出现什么问题? 群龙无首,整个集群不可用.所以在一主多从的架构中都会有一个通用的问题: 当集群中的主节点宕机之后,整个集群不可用.这个现象叫做:单点故障.SPOF 单点故障讲述的概念有两点 1.如果说宕机的那个节点是从节点,那么整个集群能够继续运行,并且对外提供正常的服务. 2.如果说宕机的那个节点是主节点,那么整个集群就处于宕机状态. 通用的解决方案:高可用

Hadoop学习之路(十一)HDFS的读写详解

HDFS的写操作 <HDFS权威指南>图解HDFS写过程 详细文字说明(术语) 1.使用 HDFS 提供的客户端 Client,向远程的 namenode 发起 RPC 请求 2.namenode 会检查要创建的文件是否已经存在,创建者是否有权限进行操作,成功则会 为文件创建一个记录,否则会让客户端抛出异常: 3.当客户端开始写入文件的时候,客户端会将文件切分成多个 packets,并在内部以数据队列“data queue(数据队列)”的形式管理这些 packets,并向 namenode 申

Hadoop学习之路(四)Hadoop集群搭建和简单应用

概念了解 主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构. 主从结构分类: 1.一主多从 2.多主多从 Hadoop中的HDFS和YARN都是主从结构,主从结构中的主节点和从节点有多重概念方式: 1.主节点 从节点 2.master slave 3.管理者 工作者 4.leader follower Hadoop集群中各个角色的名称: 服务 主节点 从节点 HDFS NameNode DataNode YARN Resource

Hadoop学习之路(三)Hadoop-2.7.5在CentOS-6.7上的编译

下载Hadoop源码 1.登录官网 2.确定你要安装的软件的版本 一个选取原则: 不新不旧的稳定版本 几个标准: 1)一般来说,刚刚发布的大版本都是有很多问题 2)应该选择某个大版本中的最后一个小版本 阅读编译文档 1.准备一个hadoop源码包,我选择的hadoop的版本是:hadoop-2.7.5-src.tar.gz,在hadoop-2.7.5-src.tar.gz的源码包根目录下有一个文档叫做BUINDING.txt,这其中说明了编译hadoop所需要的一些编译环境相关的东西.不同的ha

Hadoop学习之路(七)Hadoop集群shell常用命令

Hadoop常用命令 启动HDFS集群 [[email protected] ~]$ start-dfs.sh Starting namenodes on [hadoop1] hadoop1: starting namenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-namenode-hadoop1.out hadoop2: starting datanode, logging to /home/hadoop/

Hadoop学习之路(十四)MapReduce的核心运行机制

概述 一个完整的 MapReduce 程序在分布式运行时有两类实例进程: 1.MRAppMaster:负责整个程序的过程调度及状态协调 2.Yarnchild:负责 map 阶段的整个数据处理流程 3.Yarnchild:负责 reduce 阶段的整个数据处理流程 以上两个阶段 MapTask 和 ReduceTask 的进程都是 YarnChild,并不是说这 MapTask 和 ReduceTask 就跑在同一个 YarnChild 进行里 MapReduce 套路图 MapReduce 程