阿里封神谈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 ...
随机推荐
- 从算法入手讲解如何在SQL Server中实现最优最简
算法是计算机科学中一个重要的研究方向,是解决复杂问题的关键.在计算机世界中,算法无处不在.数据库是存储数据和执行大批量计算的场所,在数据库中使用一些简单的SQL命令,进行存储.查询.统计.以解决现实世 ...
- 修改Android默认背光值
/********************************************************************* * 修改Android默认背光值 * 说明: * 本文主要 ...
- Java 程序员在写 SQL 时常犯的 10 个错误
Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准: 技能(任何人都能容易学会命令式编程) 模式(有些人用“模式-模式”,举个例子,模式可 ...
- 【转】Bluetooth数据包捕获
原文网址:http://www.cnblogs.com/hzl6255/p/3887013.html 这里介绍一种在Android上捕获蓝牙数据包的方法 1. 前提 首先你要有一部Android手机 ...
- 实用Python 语句集(入门者入)
1. Python IDLE中切换当前路径 在Python自带的编辑器IDLE中或者Python shell中不能使用cd命令,那么跳到目标路径呢. 方法是使用os包下的相关函数实现路径切换功能. i ...
- hbase分页查询
为了广大技术爱好者学习netty,在这里帮新浪微博@nettying宣传下他出版的新书 <netty权威指南>@nettying兄在华为NIO实践多年,这本书是他的技术和经验的一个结晶.N ...
- 《深入Java虚拟机学习笔记》- 第4章 网络移动性
Java虚拟机学习笔记(四)网络移动性
- create a C# context menu from code
I try the one of your approach, it works well in my computer. Below is my code: public void AddConte ...
- Loader for loading embedded assemblies z
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Ref ...
- 工作流设计 zt
工作流设计 业务流程管理模块是本平台的重要组成部分,要实现将已经发布的标准中规范化的流程转化为具体计算机中的流程从而实现流程的自动运转,将标准化成果与员工的日常工作紧密结合起来,具有重要意义. 业务流 ...