Hadoop之父Doug Cutting
生活中,可能所有人都间接用过他的作品,他是Lucene、Nutch 、Hadoop等项目的发起人。是他,把高深莫测的搜索技术形成产品,贡献给普罗大众;还是他,打造了目前在云计算和大数据领域里如日中天的Hadoop。他是某种意义上的盗火者,他就是Doug Cutting。
从实习生做起
1985年,Cutting毕业于美国斯坦福大学。他并不是一开始就决心投身IT行业的,在大学时代的头两年,Cutting学习了诸如物理、地理等常规课程。因为学费的压力,Cutting开始意识到,自己必须学习一些更加实用、有趣的技能。这样,一方面可以帮助自己还清贷款,另一方面,也是为自己未来的生活做打算。因为斯坦福大学座落在IT行业的“圣地”硅谷,所以学习软件对年轻人来说是再自然不过的事情了。
Cutting的第一份工作是在Xerox做实习生,Xerox当时的激光扫描仪上运行着三个不同的操作系统,其中的一个操作系统还没有屏幕保护程序。因此,Cutting就开始为这套系统开发屏幕保护程序。由于这套程序是基于系统底层开发的,所以 其他同事可以给这个程序添加不同的主题。这份工作给了Cutting一定的满足感,也是他最早的“平台”级的作品。
可以说,Xerox对 Cutting后来研究搜索技术起到了决定性的影响,除了短暂的在苏格兰工作的经历外,Cutting事业的起步阶段大部分都是在Xerox度过的,这段 时间让他在搜索技术的知识上有了很大提高。他花了四年的时间搞研发,这四年中,他阅读了大量的论文,同时,自己也发表了很多论文,用Cutting自己的 话说——“我的研究生是在Xerox读的。”
尽管Xerox让Cutting积累了不少技术知识,但他却认为,自己当时搞的这些研究只是纸 上谈兵,没有人试验过这些理论的可实践性。于是,他决定勇敢地迈出这一步,让搜索技术可以为更多人所用。1997年底,Cutting开始以每周两天的时间投入,在家里试着用Java把这个想法变成现实,不久之后,Lucene诞生了。作为第一个提供全文文本搜索的开源函数库,Lucene的伟大自不必多言。
Hadoop的诞生
之后,Cutting再接再厉,在 Lucene的基础上将开源的思想继续深化。2004年,Cutting和同为程序员出身的Mike Cafarella决定开发一款可以代替当时的主流搜索产品的开源搜索引擎,这个项目被命名为Nutch。在此之前,Cutting所在的公司 Architext(其主要产品为Excite搜索引擎)因没有顶住互联网经济泡沫的冲击而破产,那时的Cutting正处在Freelancer的生涯 中,所以他希望自己的项目能通过一种低开销的方式来构建网页中的大量算法。幸运的是,Google这时正好发布了一项研究报告,报告中介绍了两款 Google为支持自家的搜索引擎而开发的软件平台。这两个平台一个是GFS(Google File System),用于存储不同设备所产生的海量数据;另一个是MapReduce,它运行在GFS之上,负责分布式大规模数据。基于这两个平台,Cutting最引人瞩目的作品——Hadoop诞生了。谈到Google对他们的“帮助”,Cutting说:“我们开始设想用4~5台电脑来实现 这个项目,但在实际运行中牵涉了大量繁琐的步骤需要靠人工来完成。Google的平台让这些步骤得以自动化,为我们实现整体框架打下了良好的基础。”
说起Google,Cutting也是它成长的见证人之一,这里有一段鲜为人知的故事。早在Cutting供职于Architext期间,有两个年轻人曾去拜访这家公司,并向他们兜售自己的搜索技术,但当时他们的Demo只检索出几百万条网页,Excite的工程师们觉得他们的技术太小儿科,于是就在心里鄙 视一番,把他们给送走了。但故事并未到此结束,这两个年轻人回去之后痛定思痛,决定自己创业。于是,他们开了一家自己的搜索公司,取名为Google。这两个年轻人就是Larry Page和Sergey Brin。在Cutting看来,Google的成功主要取决于,反向排序之后再存储的设计和对自己技术的自信。
让“开源”影响世界
出于对时间成本的考虑,在从Architext离职四年后,Cutting决定结束这段Freelancer的生涯,找一家靠谱的公司,进一步完善 Hadoop的性能。他先后面试了几家公司,其中也包括IBM,但IBM似乎对他的早期项目Lucene更感兴趣,至于Hadoop则不置可否。就在此 时,Cutting接受了当时Yahoo!搜索项目负责人Raymie Stata的邀请,于2006年正式加入Yahoo!。在Yahoo!,有一支一百人的团队帮助他完善Hadoop项目,这期间开发工作进行得卓有成效。 不久之后,Yahoo!就宣布,将其旗下的搜索业务的架构迁移到Hadoop上来。两年后,Yahoo!便基于Hadoop启动了第一个应用项目 “webmap”——一个用来计算网页间链接关系的算法。Cutting的时任上司(后为Hortonworks CEO)Eric Baldeschwieler曾说:“在相同的硬件环境下,基于Hadoop的webmap的反应速度是之前系统的33倍。”
虽然 Hadoop的表现惊艳,但在当时并非所有公司都有条件使用,与此同时,用户需求却在日益增加。有些大公司(如银行、电信公司、大型零售商等)只关注于产品,却不想在技术工程和咨询服务上过多投入,它们需要一个可以帮助其解决问题的平台,这就是Cutting后来跳槽到Cloudera的初衷。从某种程度上说,Cloudera就是这么一个为那些在咨询和技术上有需求的公司提供服务的平台。它的客户大多来自于传统行业,希望通过Hadoop来处理之前只能 被直接抛弃的大规模数据。现在,除了这些传统行业之外,Yahoo!、Facebook、eBay、LinkedIn等公司都在使用Hadoop,用 Cutting的话说,他们的团队被“无形之中扩大了”。
目前,Cutting的目标是把Hadoop发展成云计算领域的RedHat。 “我从来没有想过,除了搜索引擎,Hadoop的作用还能在其他方面有所发挥,它今天所受到的关注程度,已超过了我之前的所有想象”。谈到成功,Cutting认为他的成功主要归功于两点,一是对自己工作的热情(Cutting在大学时就开始做Infrastracture类的程序,还用 Lisp为Emacs贡献过代码,他非常喜欢自己的程序被千万人使用的感觉);二是目标不要定得过大,要踏踏实实,一步一个脚印。
Hadoop之父Doug Cutting的更多相关文章
- Hadoop之父Doug Cutting:Lucene到Hadoop的开源之路
Hadoop之父Doug Cutting:Lucene到Hadoop的开源之路 Doug Cutting,凭借自己对工作的热情和脚踏实地的态度,开创了Lucene和Nutch两个成功的开源搜索引擎项目 ...
- 关于Hadoop之父Doug Cutting
生活中,可能所有人都间接用过他的作品,他是Lucene.Nutch .Hadoop等项目的发起人.是他,把高深莫测的搜索技术形成产品,贡献给普罗大众:还是他,打造了目前在云计算和大数据领域里如日中天的 ...
- Hadoop是原Yahoo的Doug Cutting根据Google发布的学术论文研究而来
Hadoop是原Yahoo的Doug Cutting根据Google发布的学术论文研究而来.Doug Cutting给这个Project起了个名字,就叫Hadoop. Doug Cutting在Clo ...
- Hadoop创始人Doug Cutting寄语2017:五种让开源项目成功的方法
原文链接:http://www.infoq.com/cn/news/2017/01/Hadoop-2017-5-open-source?utm_source=tuicool&utm_mediu ...
- Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户
你正在使用过时的浏览器,Amaze UI 暂不支持. 请 升级浏览器 以获得更好的体验! 深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:1 ...
- hadoop学习日志
Hadoop思想之源:Google 面对的数据和计算难题 ——大量的网页怎么存储 ——搜索算法 带给我们的关键技术和思想 ——GFS ——Map-Reduce ——Bigtable Hadoop创始人 ...
- [大牛翻译系列]Hadoop(17)MapReduce 文件处理:小文件
5.1 小文件 大数据这个概念似乎意味着处理GB级乃至更大的文件.实际上大数据可以是大量的小文件.比如说,日志文件通常增长到MB级时就会存档.这一节中将介绍在HDFS中有效地处理小文件的技术. 技术2 ...
- 大数据Hadoop——初识Hadoop
Hadoop简介 官方网站: http://hadoop.apache.org/ 中文网站: http://hadoop.apache.org/docs/r1.0.4/cn/ Hadoop设计来源 ...
- Meet Hadoop
全书目前刚看到3.2,博客进度会慢一些,很多问题和例子需要操作一遍才能弄清楚. Why Hadoop 解决的问题 Hadoop的优势 小黄象Hadoop? 学习路线 简单总结 Why Hadoop 解 ...
随机推荐
- BUFFER CACHE之主要的等待事件
原因:资源紧张,等待其释放. 原因的原因:1. lgwr和DBWn进程写太慢:2. Buffer和latch不可用 原因的原因的原因:全表扫描.library cache latches数太多等. 视 ...
- SpringMVC——实现拦截器
1. SpringMVC拦截器的概念与Struts2相同 2. 实现拦截器 (1) 项目结构 (2) 实现HandlerInterceptor接口 package com.zhengbin.contr ...
- Struts2的OGNL标签详解
一.Struts2可以将所有标签分成3类: UI标签:主要用于生成HTML元素的标签. 非UI标签:主要用于数据库访问,逻辑控制等标签. Ajax标签:用于Ajax支持的标签. 对于UI标签,则有可以 ...
- Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中.这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码.JVM虚拟机读取字节码文件,取出 ...
- C# 好用的三层架构,项目直接上手用
一.项目结构 注意:1.Common类中的引用添加:右键--添加引用--.NET--选择对应的引用 2.各层之间引用互相添加(这个就不必多说了,三层最基础部分) 3.在添加 Oracle 引用时候 ...
- HDU5772 String problem 最大权闭合图+巧妙建图
题意:自己看吧(不是很好说) 分析: 网络流:最大权闭合子图. 思路如下: 首先将点分为3类 第一类:Pij 表示第i个点和第j个点组合的点,那么Pij的权值等于w[i][j]+w[j][i](表示得 ...
- mybatis系列-09-订单商品数据模型
9.1 数据模型分析思路 1.每张表记录的数据内容 分模块对每张表记录的内容进行熟悉,相当 于你学习系统 需求(功能)的过程. 2.每张表重要的字段设置 非空字段.外键字段 3.数据库级别表与 ...
- Java 从单核到多核的多线程(并发)
JAVA 并发编程 最初计算机是单任务的,然后发展到多任务,接着出现多线程并行,同时计算机也从单cpu进入到多cpu.如下图: 多任务:其实就是利用操作系统时间片轮转使用的原理.操作系统通 ...
- java类加载与初始化
第一段: class A{ public A(){ this.list(); } public void list(){ System.out.println("in a list..&qu ...
- IIS中使用PUT方法錯誤記錄
在IIS7.5中使用PUT,DELETE方法時會遇到404,405錯誤,特記錄解決辦法:404: 405: 在web.config的system.webServer節點中加入 <modules ...