Hadoop 之父趣事:用儿子的大象玩偶为大数据项目命名

作者 | 年素清
责编 | 王晓曼
出品 | 程序人生(ID:coder_life)

道格·卡廷(Doug Cutting)是公认的“Hadoop之父”,也是大数据行业的奠基人。十几年前,他以儿子的大象玩偶为自己开发出来的大数据框架命名,不仅开启了大数据时代,更成为孕育大数据技术的摇篮。

除此之外,他还是Lucene、Nutch等开源项目的发起人,现任Cloudera首席架构师,同时也在Apache软件基金会董事会任职,他最擅长把高深莫测的搜索技术形成产品并贡献给大众市场。

大学自学编程

卡廷大学就读于美国知名学府斯坦福大学,所学并非计算机相关专业,而是物理、地理等常规课程。卡廷在大三时突然意识到自己应该学习一些更加实用、有趣的技能,这样不仅能够偿还学费贷款减轻经济压力,而且可以为未来做准备。

斯坦福大学坐落于硅谷,得益于这个得天独厚的地理优势,卡廷自然而然地选择了学习编程知识。期间,他开发出了Infrastracture类的程序,还用 Lisp为Emacs贡献过代码。

1985年,大学毕业后的卡廷进入Xerox工作。Xerox当时的激光扫描仪上运行着三个不同的操作系统,其中的一个操作系统还没有屏幕保护程序。于是卡廷决定开始为这套系统开发屏幕保护程序。由于这套程序是基于系统底层开发的,所以其他同事可以给这个程序添加不同的主题。这使得初入职场的卡廷感到很满足,这也是他最早的“平台”级的作品。

Xerox是卡廷毕业后的第一份工作,也对他的职业生涯产生了重要的影响。在Xerox的四年里,卡廷除了从事软件研发工作之外,还阅读了大量的论文,同时,自己也发表了很多论文。卡廷自己坦承:“我的研究生是在Xerox读的。”

 

开发出Lucene

在Xerox工作时令卡廷积累了不少技术知识,其中就包括搜索,卡廷渐渐地迷上了它,他曾经与人一起开发出了V-Twin搜索引擎。

后来,卡廷进入Architext担任高级系统架构设计师,尽管他仍在研究搜索相关的内容,但他觉得光研究无异于纸上谈兵,没有人试验过这些理论的可实践性。于是,他决定勇敢地迈出这一步,让搜索技术被更多的人采用。

1997年底,卡廷开始每周抽出两天的时间,用Java语言编写一个真实可用的搜索引擎。

不久之后,Lucene诞生了,他最先将其发布在作者自己的博客上,后来发布在SourceForge,2001年年底成为apache软件基金会jakarta的一个子项目。

Lucene是全球第一个提供全文文本搜索的开源函数库,卡廷选择将其开源。作为一个开放源代码项目,Lucene从问世之后,引发了开放源代码社群的巨大反响,程序员们不仅使用它构建具体的全文检索应用,而且将之集成到各种系统软件中去,以及构建Web应用,甚至某些 商业软件 也采用了Lucene作为其内部全文检索子系统的核心。

Lucene凭借开放源代码的特性、优异的索引结构、良好的系统架构,获得了广泛的应用。

以孩子的玩偶玩具为项目命名

2004年,卡廷和好友Mike Cafarella决定开发一款开源搜索引擎,用来代替当时的主流搜索产品,他们后来将这个项目被命名为“Nutch”。

此时恰逢互联网经济泡沫爆发,Architext公司没有顶住冲击而破产,卡廷不得已成为了一个自由职业者,所以他希望他们的项目能通过一种低开销的方式来构建网页中的大量算法。恰好彼时Google发布了两款 Google为支持自家的搜索引擎而开发的软件平台:一个是GFS(Google File System),用于存储不同设备所产生的海量数据;另一个是MapReduce,它运行在GFS之上,负责分布式大规模数据的运算。

基于这两个平台,卡廷和Cafarella设计出了Hadoop。

至于为什么叫“Hadoop”?理由是当卡廷看到他牙牙学语的儿子抱着一只黄色毛绒小象,亲昵的叫“hadoop”,他灵光一闪,便把这技术命名为“Hadoop”,并且将其标志设计成了一只黄色的小象。

加入雅虎只为完善Hadoop

出于对时间成本的考虑,在做了四年的自由职业者之后,卡廷决定找一家可靠的科技公司,以进一步完善 Hadoop的性能。他先后面了几家公司,其中不乏IBM,虽然他得到了IBM的肯定,但IBM的面试官们对他的Lucene项目的兴趣多于Hadoop。

后来,雅虎公司的搜索项目负责人Raymie Stata向卡廷发出了邀请,他毫不犹豫地加入了雅虎。在那里,卡廷得以领导一个拥有100名开发人员的团队来完善Hadoop项目,并取得了不错的成就,

不久之后,雅虎宣布将其旗下的所有搜索业务都迁移到Hadoop上来。两年后,雅虎更是启动了基于Hadoop的第一个应用项目 “webmap”,用来计算网页间链接关系的算法。卡廷的时任上司赞叹地说道:“在相同的硬件环境下,基于Hadoop的webmap的反应速度是之前系统的33倍!”

跳槽到创业公司,只为更多的用户能够使用Hadoop

2009年,卡廷离开雅虎,跳槽去了一家只有20名员工的创业型公司Cloudera。

究其原因,卡廷表示自己加盟Cloudera是为了致力于Hadoop软件的多用途技术开发。

虽然 Hadoop的性能优良,但在当时并非所有公司都有条件使用,与此同时,用户需求却在日益增加,有些来自金融业、石油和大型零售商等其他行业的大公司亟需一个可以帮助其解决问题的平台。Cloudera就是这么一个为那些在咨询和技术上有需求的公司提供服务的平台,它通过Hadoop来帮助客户处理之前被直接抛弃的大规模数据。由于Hadoop软件可免费使用,Cloudera将收取相应技术咨询和服务费用。

Cloudera首席执行官迈克·奥尔森(Mike Olson)对此表示:“对于Hadoop软件的了解程度,没有人能够超过卡廷。”

现在,Cloudera 已经成为 Hadoop 生态圈里最知名的公司,其核心产品是为客户搭建基于 Hadoop 的大数据平台,帮助企业安装、配置、运行 Hadoop 以进行海量数据的处理、分析以及机器学习。

坚持开源

和“Linux之父”李纳斯一样,卡廷一直坚持将自己的成果开放源代码。

卡廷认为开放源代码是十分必要的,他拿自己多年前的Lucene举例,他说自己从不曾料想 Lucene 会成功,“因为它并不是最好的技术,也不完美,但它因为是属于开放源代码,透过社群的力量,使它成为了最好的搜索技术。”

而谈到如何让开源项目成功时,卡廷曾给出五个建议,其中包括不断地变化,公司如果想从开源获得完全的好处,他们必须对技术转变保持开放的心态;仔细挑选开源软件以避免云供应商捆绑,而对求职者来说,不管是编程还是数据科学,不应该仅仅专注于掌握个别技术,而应该关注理解开源数据生态系统各个组成部分的最佳利用,以及如何把它们连接起来解决问题。

参考链接:

https://www.cnblogs.com/doit8791/p/9556821.html

https://baike.baidu.com/item/Lucene/6753302?fr=aladdin

https://www.jianshu.com/p/af2e09f32fcc

更多精彩推荐
☞蚂蚁上市后,马云不是最大赢家,竟是她!
☞太 6 了!区块链包包、疫情防控大脑……程序员这样玩转区块链!
☞微信回应“取消两分钟内删除功能”;甲骨文裁撤北京中心;Redis 6.0.6 发布| 极客头条
☞周志华教授力作,豆瓣10分好评,集成学习如何破解AI实践难题 | 赠书
☞架构师们,怎么走着走着就变“烟囱”了呢?| 文末含福利
☞疯狂的DeFi:开发者仅一人,一天暴涨40倍
点分享点点赞点在看