阿里封神谈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 ...
随机推荐
- 在Google被封的那些日子裏,我們這樣科學上網
回到正題,如果某天你喜歡的網站被封了,你工作的郵箱無法訪問了,該如何用正確姿勢實現科學上網呢?雷鋒網為大家整理了數個小技巧. 1.FreeGate類傻瓜工具 很多人第一次用翻墻,應該是從FreeGat ...
- Building QT projects from the command line
/************************************************************************ * Building QT projects fro ...
- NoSql数据库使用半年后在设计上面的一些心得 (转)
http://www.cnblogs.com/AllenDang/p/3507821.html NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我 ...
- 黑盒测试用例设计方法&理论结合实际 -> 判定表驱动法
一. 概念 判定表是分析和表达多逻辑条件下执行不同操作的情况的工具. 二. 判定表驱动法的应用 判定表的优点: a. 能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏.因此,利用判定表能 ...
- Mac OS 终端常用命令【搜藏】
基础概念 OS X 采用的Unix文件系统,所有文件都挂在跟目录“ /” 下面,所以不在要有Windows 下的盘符概念.比如什么“C:”你在桌面上看到的硬盘都挂在 /Volumes 下.比如接上个叫 ...
- cocos2d中两种移动的算法
在对cocos2d的sprite处理移动的过程中,通常用到的两种移动的算法: 假设这个CCNode是直接放在CCLayer上的 距离差法: CGPoint curTouchPosUI = [touch ...
- android NDK 实用学习(三)- java端类对象的构造及使用
1,读此文章前我假设你已经读过: android NDK 实用学习-获取java端类及其类变量 android NDK 实用学习-java端对象成员赋值和获取对象成员值 2,java端类对象的构造: ...
- HIbernate学习笔记(八) hibernate缓存机制
hibernate缓存 一. Session级缓存(一级缓存) 一级缓存很短和session的生命周期一致,因此也叫session级缓存或事务级缓存 hibernate一级缓存 那些方法支持一级缓存: ...
- 【转载】如何在C语言中调用shell命令
转载自:http://blog.csdn.net/chdhust/article/details/7951576 如何在C语言中调用shell命令 在linux操作系统中,很多shell命令使用起来非 ...
- [C++]VS与第三方工具下载
名称:Qt 5.1.1 (商业版与开放源码许可GPL/LGPL) 说明:Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架 下载:http://www.qt.io/downl ...