从火种到核心 浅析Hadoop大数据用户的演变

  在Hadoop发展的8年时间里,我们看到一种“使用浪潮”——一代又一代用户在相同的时间和类似的环境下使用Hadoop。每一个在数据处理时使用了Hadoop的用户,都面临着类似的挑战,为了让一切正常运转,要么被迫协同工作,要么干脆隔离。接下来我们就讨论这些客户,看他们彼此之间有何不同。

  第0代——火种

  这是开头:在谷歌2000年中的研究论文的基础上,一些信徒奠定了廉价存储和计算能力的商品化基础。

  Doug Cutting是教父。他跟Mike Cafarella一起,实现了谷歌文件系统和MapReduce的一个开源版本,它也是Apache Nutch项目的一部分。这两者一起演绎出无处不在的Apache Hadoop,一个蓬勃发展的大数据生态系统。令人吃惊的是,没有其他竞争项目或商业实体看到这项技术的潜力,并开发出与之竞争的产品。

  第一代——早期

  Hadoop建立后迅速吸引了一些早期用户,包括web2.0及其后的公司Yahoo!、Facebook、Powerset、Rapleaf等,他们中的一些人比如后两者更关注Hadoop的NoSQL组件,Hadoop的数据库(又名HBase)。他们都需要一个能帮助他们应对现有及正在快速增长的用户基础平台。他们赌一个能让Google正常运转的东西也能满足他们的需求。Hadoop做到了,然后才有了今天。

  更重要的是这些公司都有强大的工程背景,拥有比一般企业更多的开发人员。他们的技术专家能在公司内使用Hadoop,开发搭建于Hadoop之上的解决方案。对工程师来说,技术道路从这里开始分化:要么开始深入挖掘代码并最终构建一个Hadoop生态系统内的项目,要么被归到既做开发又做集群的那一类里…我们见证了Hadoop发展规则的诞生——参与其中的人员应该具备多种技能、能一肩挑起所有重担。这很有用,因为这些孤独战斗的武士们都是有天赋的家伙,能够完成他们的工作。

  这两组工程师最终都促进了Hadoop代码库的发展,并因此被选入Hadoop提交团队,他们被允许检查提交到开源库中的代码。我们谈论的是一只约200人的团队,他们在世界范围内推动Hadoop的发展。

  现在,其中的一些工程师已经转到其他项目或跳到其他公司,但他们中的绝大多数仍然活跃在Hadoop圈子里。特别值得一提的是Yahoo!公司,它在最开始的时候推动了Hadoop的发展。

  第二代——追随者

  在早期使用Hadoop的公司里,Hadoop成功对一批新用户留下深刻的印象,他们通常被现在蓬勃发展的Web 3.0和社交网络的公司雇佣。这些用户是Hadoop的形成和时代到来的主因(虽然一个比一个年轻)。他们通常没有你积累丰富的Java代码,但是这些用Python, Ruby 或Scala标识着“我们写代码快”的家伙们,在能量饮料和无尽的时间帮助下能够破解任何代码,唯独不包括java。因此,他们建立一个伟大的网站,如Last.fm、Spotify,网站把Hadoop缺乏的东西迅速汇集到一起,例如一个叫Dumbo(Last.fm)的Python MapReduce桥,或Luigi (Spotify)的新作业调度系统。

  现在,这种缺乏Hadoop组件而引发的模块化开发方式不仅发生在年轻的创业者身上,也出现在其他公司,这些公司不愿意介入Hadoop核心开发者社区里日益增长的政治化问题。LinkedIn就是一个例子,它围绕Hadoop的核心服务开发了很多工具,它还建立辅助系统以帮助收集事件、进行队列处理等。LinkedIn将这些项目开源,以便帮助有兴趣的用户建立新社区。

  第三代——大器晚成

  到目前为止,对所有Hadoop项目感兴趣的下一代用户是所谓的企业公司。他们的规模从小到大都有,他们是纯粹的IT用户,他们购买需要的软硬件许可,架构师会将这些东西揉到解决方案、产品或服务中。但他们不会雇用一批核心开发者打补丁或建立Hadoop堆栈。事实上这些用户大多数采用分布式安装Hadoop,如用Cloudra的CDH以让Hadoop运行得更快。这与在不同操作系统下做事儿是一样的,你可以将精力集中于Hadoop之上的业务逻辑,如果遇到问题或缺乏组件,你跟供应商沟通,然后升级到新版本。

  有趣的是这些用户对年轻的Hadoop很满意,其应用缺乏更多的企业特征。Hadoop集群被从网络中分离并由少数几个人管理,通常一个集群只跑一个应用,所以遇到多用户或多负载的任务时自然会被安全地推迟。

  第四代——新浪潮

  我们现在看到的应用Hadoop的公司,他们等待了很长时间,因为Hadoop缺点太多所以干脆推迟上Hadoop。但随着企业级数据中心的出现,企业也为Hadoop的运行做好了准备。等待的时间并非空等,他们认真研究Hadoop功能,花时间测试系统的各个部分,明确知道自己想要一个安全的、多用户、多负载的数据平台,能与现有的IT系统集成到一起,并带有数据管理、安全审计和综合管理功能。

  我想指出的另一个重要发展是,随着时间的推移从最开始到现在的新浪潮用户,Hadoop项目本身已经是许多用户共同努力的结果,现在的Hadoop已经没有了哪怕一丝一毫初始成员的印记,在所有太常见以至于无人能够代表的行业里Hadoop只是其中之一,唯一值得一提的有且只有Doug Cutting。

  现在越来越多的企业级产品在向Hadoop转,拉里·埃里森可不喜欢这种趋势,因为这无益于Oracle数据库的销售。这其实已经成为一种让Doug对Hadoop用户来解释大数据的缩水版请求。事实上大量用户根本不了解这个圈子里最初的那批家伙。时代还在继续进步。

  第1.1代——周期性波动

  这个圈子看起来封闭的地方,用我个人最喜欢的词来形容就是:技术债务。让我们回到第一代、、但更多成长为第二代的用户。我们能够看到,他们积累了大量的遗留系统,对不断进化的Hadoop生态圈而言这些系统需要不断维护和使用。在实际商业应用中这需要投入人力资本,比如开发产品、提供服务以增加收入。与最初创建它相反的是,当时看上去伟大的想法如今却成为一种不断花钱的负担。对第一代公司而言Hadoop的运行已经成为常态,他们修改代码库的版本以保证自己的Hadoop正常运行。对第二代公司来说,他们现在有非常丰富的工具可供选择,这些工具不需要他们自己去开发,但仍然需要自己去维护。

  所以我预测,最终这些前几代的用户将废除其先前的努力,迁移到Hadoop发行版,这将帮助他们专注于自己业务,比如成功地开发数据驱动的产品和服务,而选择Hadoop的供应商将确保他们总是有这样做所需的数据中心。这里有一个伟大的未来!

时间: 2024-09-25 05:20:40

从火种到核心 浅析Hadoop大数据用户的演变的相关文章

从火种到核心,浅析Hadoop大数据用户的演变

在Hadoop发展的8年时间里,我们看到一种"使用浪潮"--一代又一代用户在相同的时间和类似的环境下使用Hadoop.每一个在数据处理时使用了Hadoop的用户,都面临着类似的挑战,为了让一切正常运转,要么被迫协同工作,要么干脆隔离.接下来我们就讨论这些客户,看他们彼此之间有何不同. 第0代--火种 这是开头:在谷歌2000年中的研究论文的基础上,一些信徒奠定了廉价存储和计算能力的商品化基础. Doug Cutting是教父.他跟Mike Cafarella一起,实现了谷歌文件系统和M

Microsoft发布基于Azure之上Hadoop大数据服务第二预览版

Microsoft在最新发布的SQL Server 2012中,更新了基于Microsoft Azure之上的Hadoop.在上周Microsoft发布最新版本SQL Server的同时,Microsoft同时宣布其基于Windows Azure之上的Hadoop大数据服务第二个预览版.Micrsoft在SQL Server 2012中的许多新功能和新服务都是基于Microsoft客户的,这些客户专注于混合的IT环境,并将传统数据中心部署在私有云和公共云的环境之中. Microsoft的Hado

八大行业Hadoop大数据应用回顾和展望

任何新技术的发展都会经历一个从被公众了解到最终普遍应用的过程.大数据技术作为一个新兴的数据处理技术,经过了近十年的发展,刚刚开始在各个行业得到应用.但从媒体和公众视野中,大数据技术总是带有神秘的色彩,似乎有着挖掘财富和预测未来的神奇力量.广泛流传的大数据应用案例包括Target超市根据女孩的购物历史判断是否怀孕,信用卡公司根据用户在不同时空的购物行为预测客户的下一个购买行为,等等.大数据技术也为我们描绘了一个个如"智慧城市","智慧交通"和"智慧医疗&qu

除Hadoop大数据技术外,还需了解的九大技术

除Hadoop外的9个大数据技术: 1.Apache Flink 2.Apache Samza 3.Google Cloud Data Flow 4.StreamSets 5.Tensor Flow 6.Apache NiFi 7.Druid 8.LinkedIn WhereHows 9.Microsoft Cognitive Services Hadoop是大数据领域最流行的技术,但并非唯一.还有很多其他技术可用于解决大数据问题.除了Apache Hadoop外,另外9个大数据技术也是必须要了

HADOOP,大数据,c++开发环境搭建问题

问题描述 HADOOP,大数据,c++开发环境搭建问题 各位大侠....我现在用c++来开发hadoop,现在服务环境已经搭建好了,我想再搭建一个用c++开发.编译hadoop的环境 c++的开发工具有eclipse和vs2010,请问各位大侠,我该怎么下手,怎么搭建 解决方案 http://blog.csdn.net/jin123wang/article/details/39012255http://blog.csdn.net/zwx19921215/article/details/19896

为何引爆人工智能的核心一定是大数据?

在资本寒冬里投资者却向底层技术革新者释放了暖意,云计算.大数据等非流量驱动业务开始勃兴,曲高和寡的人工智能(Artificial Intelligence,"AI")也迎来了春天,据CB Insights统计,约有200家人工智能公司已获得了近15亿美元的融资. 人工智能被视为移动互联网的下一幕,其技术红利已经开启了,年初围棋绝顶高手会战阿尔法狗只是人工智能的惊鸿一瞥.人工智能可以简单理解为让机器完成人为设定的任务,分为运算智能(能存会算).感知智能(看听会说.能看会认).认知智能(能

贵州立足三大核心 全面试验大数据国家战略

"100亿神经元大脑实时仿真模拟器,神经元数量为Google的10倍,摆脱了冯·诺依曼计算机结构,是目前最小体积单位实现最多神经元数量的人脑模拟器."项目首席科学家.西悉尼大学生物医学工程与神经科学学科博士后汪润春表示,这项技术将为各领域科学家了解脑.保护脑.创造"脑"提供强大支持,阿尔兹海默症等脑部神经疾病也有望基于此得到治疗方案. "1000万!""2000万!"面对好项目,现场各投资机构负责人争相"叫价&quo

[Hadoop大数据]——Hive初识

Hive出现的背景 Hadoop提供了大数据的通用解决方案,比如存储提供了Hdfs,计算提供了MapReduce思想.但是想要写出MapReduce算法还是比较繁琐的,对于开发者来说,需要了解底层的hadoop api.如果不是开发者想要使用mapreduce就会很困难.... 另一方面,大部分的开发者都有使用SQL的经验.SQL成为开发者必备的技能... 那么可以不可以使用SQL来完成MapReduce的过程呢?-- 答案就是,Hive Hive能够解决的问题 Hive可以帮助开发者从现有的数

[Hadoop大数据]——Hive部署入门教程

Hive是为了解决hadoop中mapreduce编写困难,提供给熟悉sql的人使用的.只要你对SQL有一定的了解,就能通过Hive写出mapreduce的程序,而不需要去学习hadoop中的api. 在部署前需要确认安装jdk以及Hadoop 如果需要安装jdk以及hadoop可以参考我之前的博客: Linux下安装jdkLinux下安装hadoop伪分布式 在安装之前,先了解下Hive都有哪些东西. 下载并解压缩 去主页选择镜像地址: http://www.apache.org/dyn/cl