文档章节

从零开始学习Hadoop--前言

brian_2017
 brian_2017
发布于 2017/01/17 09:12
字数 2081
阅读 11
收藏 0

Hadoop是最著名使用最广泛的分布式大数据处理框架,它是用Java开发的。


这本书有一个明确的目标:只要有一台能上网的计算机,就可以让读者在最短的时间内,学会Hadoop的初级开发。所以,这本书只讲干货,也就是必须要知道的Hadoop的最核心知识点,包括如何搭建Hadoop,如何写代码,如何查API。对于更多细节问题,书后会列一个书目给大家参考,这些书已经讲得很好了,不需要在这里饶舌浪费时间。


这本书对读者的预要求很少:懂一点点Linux,懂一点点Java编程。“懂一点点Linux”是指,假如有一台装了Linux操作系统的计算机,能做到开机,输入密码,进入图形界面,打开命令终端,就可以了。“懂一点点Java编程”是指,在Linux上,用记事本写一个JavaHelloWorld程序,然后把它编译出来,执行一下,就可以了。这个预要求非常低,接近于零,所以这本书叫“从零开始学习Hadoop”Hadoop是用Java开发的,它通过Streaming方式支持其他语言,诸如PythonC++Ruby,但如果想真正理解Hadoop,必须从Java开始,用其他语言以Streaming方式学Hadoop是一条不归路,这是笔者用一个月时间得来的教训。


“只要有一台能上网的计算机”,Hadoop的伪分布式运行模式,可以在一台电脑上运行Hadoop的全部功能。在伪分布式下编写和运行的代码,不作任何修改便能运行在Hadoop集群上,这是学习Hadoop的最方便的优点之一。

“最短的时间”,这是一个有点长的话题。学习一项技能,有很多种途径。最快的途径找个高手教,高手会说看哪些书,从哪里做一下,哪些地方注意不要犯错,哪些地方是不需要的不要在上面浪费时间,哪些地方很关键要多做做将来会很有用。只要没有出现诸如高手数量不多,或者高手很忙,或者高手是同事但职位只比你高一点点—教会你对他其实没什么好处的这些情况之外,这个途径是最好的。


另外一个途径是报一些培训班学习,费用相对高一些。


性价比最高的途径是自学,如果自学能力比较强,从网上找相关的电子书教学视频官方教程学习,笔者个人比较推崇这种方式,这种方式可以很好地锻炼学习能力。能力是一得永得的,将来学习其他技能可以举一反三,缺点是比较耗时,自学的过程其实很大程度上是试错的过程。如果技术比较复杂,而且工作中很快要用到,或者下个星期就要面试笔试,那肯定是妥妥地来不及的。


如何在最短的时间内解决Hadoop入门问题呢?理性的方式,是从流程和细节上解决。1898年,科学管理之父泰勒做了一个铁块搬运实验。当时,工人们每天平均搬运1213吨铁块。泰勒的实验方式是对搬运过程计时,分析不同搬运方式的影响,分析休息时间和劳动时间的搭配,最终可以让工人在不太累的情况下,每天搬运47吨铁块,效率提高到近4倍。


事实上,可以用同样的方式解决学习问题。比如说,请一个对Hadoop一无所知的小白同学自学Hadoop,然后要求他记下每天学了哪些内容,遇到什么问题,是怎么解决的,分别花了多少时间,有哪些是必须的,有哪些后来验证是弯路,哪些可以省略。待到他学完了,根据这个学习记录整理出一条快捷之路,避开没用的地方,简化过于复杂的地方,调整到合理的次序,于是就得到一个“最短的时间”学习方案。这本书就是这么产生的,而且是真简化。


“做一遍”是最佳的快速学习方式。比如说,学习C语言编程,如果学习方式是看书,读一遍乃至读十遍,不写代码,不会在大脑留下任何痕迹。如果将书中的例题代码原样输入编译执行,理解会好很多。如果不但调通了例题,而且将书里的大部分习题独立做出来,会觉得自己对C语言很熟悉。如果写了一个有质量的五千到一万行的项目,就觉得自己真的可以用C语言做工作。所以说,做一遍是最好的学习方式。


笔者见过一些高效的人是以反其道而行之的方式学习的。当他们需要用到一种新技术的时候,就找一本相关的书,看一下目录,再看一下每章的简介,大略看看范例。然后,根据范例立刻写代码,需要什么功能,就到书里和API里找,如果遇到Bug,在Google上检索一下。这种方式会很快做完功能,同时也就学会这个技术。如果从头开始看书,一点一点做例题做习题,对他们来说太慢了,时间成本太高,很不划算。


还有另外一种方式,笔者将它称之为吉祥物大师法(MasterMascot),注意,不要看成吉祥物大法师。一些有趣的技术公司会给自己设计吉祥物玩具。假如员工在工作中遇到解决不了的问题,按照“潜规则”,要先把这个问题讲给吉祥物玩具听,多数情况下讲完了自己就知道答案了,这就是吉祥物大师法。


这本书的例子,是按照“做一遍”的方式编写的。每个例子都是完整的,从目录和文件结构,到编译打包运行。这种完整很重要,可以大幅度减少试错,查询API,编译和调试的时间。熟悉这些范例,先手工输入和编译,然后再合上书,自己从零开始做一遍,对着代码找感觉和体会。


尤其非常重要的是,要想象如果自己是Hadoop的作者,会怎么设计Hadoop,用这种眼光审视Hadoop,会突然之间“开悟”,原来如此。这种“开悟”,要自己走过一遍,想过一遍,做过一遍,才会达到。一旦“开悟”了,会信心满满,应对这个体系架构的诸多问题,会漂亮地解决未知问题,就像厨师做一道好菜,像浪子泡MM。这种书有点像武侠小说里金世遗练的邪派功夫,简单,见效快,但见效之后要补上一些细节,免得走火入魔。所谓走火入魔就是觉得Hadoop如此简单,没什么搞头,其实Hadoop真的是很有搞头。


如果你对Java很熟悉,对Linux很熟悉,这本书对你来说太简单了,只需要一个下午就能搞定。Hadoop很大,但大部分东西都是在Linux出现过。你只需要安装它,然后手写一下例题,编译,运行,然后去看看HadoopAPI,就足够了。


来将根据这本书发布一系列的视频,更为直观。本书的理念是让零起点的读者根据这本书能在一个星期或者更短的时间内学会Hadoop的初步技能,快速让大家安装Hadoop,快速跑一个HadoopDemo,快速了解Hadoop的运行流程,写一些初级的Hadoop的应用,以应对诸如快速开发,面试笔试,大数据课程实践等需求。如果需要掌握更多的Hadoop细节,请参考本书的推荐书目,或者关注“最短路径系列”的未来书目。

© 著作权归作者所有

brian_2017
粉丝 3
博文 61
码字总数 145216
作品 0
私信 提问
片上总线Wishbone 学习(零)前言

片上总线Wishbone 学习(零)前言 为了更加升入的理解片上系统,比如S3C2440等,今天开始学习片上总线。首先学习Silicon的Wishbone,之后学习ARM的AMBA。之所以先学习Wishbone,主要是因为W...

长平狐
2013/06/03
16
0
从零开始的 Win7 64Bit 编译Hadoop3

前言 最近在接触Hadoop方面的知识。去官网逛了一圈发现最新版本已经是3.0.0-alpha1了。刚好在搭建Hadoop的环境,就决定使用最新版本的Hadoop试试水。因为自己使用的机器是windows的,逛了一圈...

Alex_Nine
2016/11/02
2K
0
Sklearn 与 TensorFlow 机器学习实用指南(补档)

协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远 ApacheCN - 机器学习交流群 629470233 ApacheCN 学习资源 利用 Python 进行数据分析 第二版 PD...

ApacheCN_飞龙
06/05
0
0
CV预备(一): conv2, filter2, imfilter的差别

目录 前言 filter2 conv2 imfilter 最后 前言 最近开始准备深入学习一下计算机视觉(CV)方面的内容, 这里会更新几期基础知识, 主要是Matlab和Python方面的. 这次的就是三个Matlab的函数filte...

Sorrower丶
04/25
0
0
大数据学习路线(自己制定的,从零开始)

大数据已经火了很久了,一直想了解它学习它结果没时间,过年后终于有时间了,了解了一些资料,结合我自己的情况,初步整理了一个学习路线,有问题的希望大神指点。 学习路线 Linux(shell,高并...

TurkeyMiami
2017/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部