阿里封神谈hadoop学习之路
阿里封神谈hadoop学习之路
封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊
摘要: 在大数据时代,要想个性化实现业务的需求,还是得操纵各类的大数据软件,如: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
本文章后续会继续更新,欢迎大家关注!
版权声明
阿里封神谈hadoop学习之路的更多相关文章
- 《Hadoop学习之路》学习实践
(实践机器:blog-bench) 本文用作博文<Hadoop学习之路>实践过程中遇到的问题记录. 本文所学习的博文为博主“扎心了,老铁” 博文记录.参考链接https://www.cnb ...
- 小强的Hadoop学习之路
本人一直在做NET开发,接触这行有6年了吧.毕业也快四年了(6年是因为大学就开始在一家小公司做门户网站,哈哈哈),之前一直秉承着学要精,就一直一门心思的在做NET(也是懒吧).最近的工作一直都和大数据 ...
- (转)如何学习Java技术?谈Java学习之路
51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...
- 我的hadoop学习之路
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上. Ha ...
- 浅谈iOS学习之路(转)
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
- 浅谈iOS学习之路
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
- Linux学习笔记(Ubuntu操作系统)之hadoop学习之路
1:检查虚拟机的ip命令:ifconfig 2:普通用户切换root用户命令:su 3:root用户切换普通用户命令:su 用户名 4:普通用户执行系统执行前面加命令:sudo 5:查询主机名命令:h ...
- Hadoop学习之路(十二)分布式集群中HDFS系统的各种角色
NameNode 学习目标 理解 namenode 的工作机制尤其是元数据管理机制,以增强对 HDFS 工作原理的 理解,及培养 hadoop 集群运营中“性能调优”.“namenode”故障问题的分 ...
- Hadoop学习之路(十一)HDFS的读写详解
HDFS的写操作 <HDFS权威指南>图解HDFS写过程 详细文字说明(术语) 1.使用 HDFS 提供的客户端 Client,向远程的 namenode 发起 RPC 请求 2.name ...
随机推荐
- Azure HDInsight与Hadoop周边系统集成
Sunwei 9 Dec 2014 1:54 AM 传统的Hadoop系统提供给用户2个非常优秀的框架,MR计算框架和HDFS存储框架,尽管MR已经显得有些老迈而缓慢,但是HDFS还是很多应用系统的 ...
- SQL Server AlwaysOn 和 ILB
Narayan Annamalai 网络高级项目经理 自 2013 年 8 月起,Azure 基础结构服务开始支持 SQL ServerAlwaysOn 可用性组.Azure 服务的内部负载平衡 (I ...
- @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 .(转)
mvc renderaction renderpartial 杂谈 Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. ...
- ubuntuy用户切换和密码修改
修改当前用户的密码 $passwd 修改用户密码 $sudo passwd 用户名 切换到其他帐号(需要该用户的密码) $su 用户名 切换到root帐号 $sudo -s
- Linux 下操作gpio(两种方法,驱动和mmap)
目前我所知道的在linux下操作GPIO有两种方法: 1. 编写驱动,这当然要熟悉linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据 ...
- 【译】 AWK教程指南 附录D-AWK的内置变量
因内置变量的个数不多,此处按其相关性分类说明,并未按其字母顺序排列. ARGC ARGC表示命令行上除了选项 -F, -v, -f 及其所对应的参数之外的所有参数的个数.若将"awk程序&q ...
- Android ADB使用
ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机). 它的主要功能有 ...
- 【现代程序设计】【homework-03】【11061027】
Q:你现在使用的代码规范是什么, 和上课前有什么改进? A: 代码规范........自定义的代码规范算 代码规范吗..... Q:你的同伴有哪些优点 (列出至少三点), 和那些需要改进的地方 ...
- 删除TreeView节点以及其子节点
//1.删除TreeView节点以及其子节点procedure TForm2.Button1Click(Sender: TObject);var TreeNode:TTreeNode;begin i ...
- A Tour of Go Interfaces are satisfied implicitly
A type implements an interface by implementing the methods. There is no explicit declaration of inte ...