Hadoop之⽗DougCutting
Doug Cutting 看到他⼉⼦在⽛⽛学语时,抱着黄⾊⼩象,亲昵的叫 hadoop,他灵光⼀闪,就把这技术命名为 Hadoop,⽽且还⽤了黄⾊⼩象作为标⽰ Logo,不过,事实上的⼩象瘦瘦长长,不像 Logo 上呈现的那么圆胖。“我⼉⼦现在 17 岁了,所以就把⼩象给我了,有活动时就带着⼩象出席,没活动时,⼩象就丢在家⾥放袜⼦的抽屉⾥。” Doug Cutting ⼤笑着说。
图⼁Doug Cutting ⼿拿的黄⾊⼩象就是命名 Hadoop 的灵感来源
1985年,Cutting毕业于美国斯坦福⼤学。他并不是⼀开始就决⼼投⾝IT⾏业的,在⼤学时代的头两年,Cutting学习了诸如物理、地理等常规课程。因为学费的压⼒,Cutting开始意识到,⾃⼰必须学习⼀些更加实⽤、有趣的技能。这样,⼀⽅⾯可以帮助⾃⼰还清贷款,另⼀⽅⾯,也是为⾃⼰未来的⽣活做打算。因为斯坦福⼤学座落在IT⾏业的“圣地”硅⾕,所以学习软件对年轻⼈来说是再⾃然不过的事情了。
Cutting的第⼀份⼯作是在Xerox做实习⽣,Xerox当时的激光扫描仪上运⾏着三个不同的操作系统,其中的⼀个操作系统还没有屏幕保护程序。因此,Cutting就开始为这套系统开发屏幕保护程序。由于这套程序是基于系统底层开发的,所以其他同事可以给这个程序添加不同的主题。这份⼯作给了Cutting⼀定的满⾜感,也是他最早的“平台”级的作品。
尽管Xerox让Cutting积累了不少技术知识,但他却认为,⾃⼰当时搞的这些研究只是纸上谈兵,没有⼈试验过这些理论的可实践性。于是,他决定勇敢地迈出这⼀步,让搜索技术可以为更多⼈所⽤。
1997年底,Cutting开始以每周两天的时间投⼊,在家⾥试着⽤Java把这个想法变成现实,不久之后,Lucene诞⽣了。作为第⼀个提供全⽂⽂本搜索的开源函数库,Lucene的伟⼤⾃不必多⾔。之后,Cutting再接再厉,在 Lucene的基础上将开源的思想继续深化。
2004年,Cutting和同为程序员出⾝的Mike Cafarella决定开发⼀款可以代替当时的主流搜索产品的开源搜索引擎,这个项⽬被命名为Nutch。Doug Cutting 希望以开源架构开发出⼀套搜索技术,类似于现在的 Google Search 或是微软的 Bing,刚好 2004 年 Google Labs 发布了关于⾃家⼤数据分析、MapReduce 算法的论⽂。Doug Cutting 利⽤ Google 公开的技术扩充他已经开发出来的 Lucene 搜索技术,进⽽打造出了 Hadoop。
2006年项⽬成⽴的⼀开始,“Hadoop”这个单词只代表了两个组件——HDFS和MapReduce。到现在,这个单词代表的是“核⼼”(即Core Hadoop项⽬)以及与之相关的⼀个不断成长的⽣态系统。这个和Linux⾮常类似,都是由⼀个核⼼和⼀个⽣态系统组成。
Hadoop 是基于开放源代码所建构,⽤于分散式处理和分析电脑丛集上的巨量资料集,也可以想成是⼀个能够储存并管理⼤量资料的云端平台。它主要有两个核⼼技术,分别是分布式档案系统(Hadoop Dis
tributed File System,HDFS)以及 MapReduce 技术。正因为透过多节点分⼯来处理巨量资料,解决了档案储存的问题,同时也⼤幅缩短了运作时间,让 Hadoop 成了⼤数据的主流技术,知名⼤企业如Google、Facebook、沃尔玛、银联、联通、台积电等,都利⽤了 Hadoop 技术。
Doug Cutting 表⽰,Hadoop 的意义不在技术,更⼤的意义在于“数字转型”(digital transformation),从 Hadoop 的成功经历我们可以学到⼏件事:⾸先、开放源代码已经是必要的,例如在 20 年前他开发出 Hadoop 的前⾝— Lucene 开源代码搜寻技术时,并没有料想到 Lucene 会成功,“因为它并不是最好的技术,也不完美,但它因为是属于开放源代码,透过社的⼒量,使它成为了最好的搜索技术。”对使⽤者来说,现在更多想要的是开放源代码的软件。第⼆件事就是数字转型需要不同的运算跟储存架构。在完成 Lucene 之后⼏年,Cutting 就开始投⼊到 Hadoop 的研发之中,“你可以看到整体的应⽤已经兴起,它的成功在于满⾜了⼤家的需求。”在 Hadoop 之前,⼏乎所有的资料或应⽤程序都要被储存在分开的系统⾥,但有了 Hadoop 之后,它们可以被存在单⼀的系统⾥,在扩充性、处理运算⽅⾯有更好的成效。
Doug Cutting 指出,Hadoop 与机器学习、AI 有⾼度关联性,要训练、测试、评价⼈⼯智能都需要数据,许多开发者在 Hadoop 平台上写了很多应⽤程序,可以利⽤这个平台搜集各种巨量数据,⽀援 AI 和机器学习的数据也是爆炸性成长,很难有⼀家公司可以做到提供这么⼤量的⼯具。
现在,Doug Cutting 的⾝份除了是 Hadoop 之⽗外,也是 Cloudera 的⾸席架构师。Cloudera 可以说是 Hadoop ⽣态圈⾥最知名的公司,核⼼产品是为企业客户搭建基于 Hadoop 的⼤数据平台,帮助企业安装、配置、运⾏ Hadoop 以进⾏海量数据的处理、分析以及机器学习。
Doug Cutting给2017寄语时,指出五种让开源项⽬成功的⽅法:
1. 拥抱开源的不断改变和演进
不断地变化,这是每⼀个刚接触开源技术的⼈需要学习的第⼀课,也是开源有别于传统软件的最⼤不同之处。开源的本质是易变、灵活,它的新项⽬常常起源于⼀些特别的⽤例。这种动态的循环促使产品变得更好、更快。因此,公司如果想从开源获得完全的好处,他们必须对技术转变保持开放的⼼态。Spark和MapReduce的辩论就完美的体现了这点的重要性:
事实上,⼈们在构建新的应⽤时,MapReduce⽤得越来越少,⽽Spark成为他们默认的数据处理引擎。MapReduce正逐渐成为Hive、Pig的底层引擎,这并不意味着它过时了。它还会为现存应⽤很好地⼯作很多年,⽽且对某些⼤规模批量加载来说仍然是卓越的⼯具。这⼀趋势遵循开源技术的⾃然演进:MapReduce是开源数据⽣态系统的1.0引擎,Spark是2.0,⽽某⼀天会出现3.0让Spark成为历史。
2. 当引⼊⼀个新技术栈时,从⼩开始、由上⽽下
先不去考虑要构建、部署什么样的解决⽅案,我们现在有了很多通⽤数据平台和很多⼯具,它们能灵活地组合在⼀起去做搜索、流处理、机器学习还有更多事情。这些⼯作需要的不仅仅是⼀套不同的技能,⽽且还需要管理⽅式、组织结构等在⽂化上的转变。为此,重要的是要获得组织内⾼层的⽀持,并让数据管理列⼊董事会层⾯的⼀项重点议题。同时,建议拿⼀些新的应⽤来逐步建⽴⼀个新⽂化,⽽不是要取代所有的⼀切,这样可以让⼤家通过⼀个个具体的⽤例来适应这个变化。
3. 仔细挑选开源软件以避免云供应商捆绑
随着使⽤云计算的企业组织和产业越来越多,应该考虑到开源软件不仅会带来越来越好的健壮性、可扩展性和安全性,⽽且也可以帮助他们避免被云供应商捆绑。通过开源平台的构建,组织可以采⽤云供应商套利以降低成本,可以使⽤不同地域的不同云,或者基于云和内部部署的混合⽅式。事实上,开源平台已经证明了⾃⼰的技术优越性,2017年也许会取得更多的落地。⼤量的机构通过开源项⽬进⾏合作,单⼀的供应商要去竞争是很困难的。例如,现在那些开源数据系统在性能和灵活性上就处于领先地位,并且改进得更加迅速。
4. 对求职者来说,开源⽣态环境⾥要关注森林,⽽不是树⽊
开放源代码意味着什么IT领域的求职者,不管是编程还是数据科学,不应该仅仅专注于掌握个别技术,⽽应该关注理解开源数据⽣态系统各个组成部分的最佳利⽤,以及如何把它们连接起来解决问题。这种上层建筑的理解是企业
在技术创新中最有价值的技能。随着新技术的到来,⾄关重要的是了解它们的适应⼒如何、它们能取代什么、它们能做到什么。
5. 在技能缺⼝中寻机会
⼤数据的技能缺⼝将在明年保持相对稳定,但这不应该成为⼈们采⽤Hadoop以及其它开源技术的阻碍。⼤多数⼈都知道,当新的技术被创造出来并争夺⽤户时,它们对外界⽽⾔是很陌⽣的。只有当⼀个特定类型的软件成为某个规范的成熟⽽标准的⼀部分,才会开始出现⼤量熟练使⽤它的⼈,⽽即使如此仍然会存在技能缺⼝。只有当我们不再对技术栈做⼤的改进时,才会消除这种缺⼝,不过Doug不认为我们会希望这样做。简⽽⾔之,技能缺⼝是影响平台变⾰速度的主要因素之⼀,也是即将来临的创新的标志。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。