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

简介:

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

第0代——火种

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

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

第1代——早期

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

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

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

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

第2代——追随者

在早期使用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将这些项目开源,以便帮助有兴趣的用户建立新社区。

第3代——大器晚成

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

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

第4代——新浪潮

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

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

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

第1.1代——周期性波动

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

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

原文发布时间为:2014年04月09日
本文作者:一三
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。
相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
4天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
22 2
|
4天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
6天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
35 1
|
23天前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
18 1
大数据Hadoop生态圈体系视频课程
|
4月前
|
分布式计算 资源调度 搜索推荐
《PySpark大数据分析实战》-02.了解Hadoop
大家好!今天为大家分享的是《PySpark大数据分析实战》第1章第2节的内容:了解Hadoop。
44 0
《PySpark大数据分析实战》-02.了解Hadoop
|
4月前
|
存储 搜索推荐 算法
【大数据毕设】基于Hadoop的音乐推荐系统的设计和实现(六)
【大数据毕设】基于Hadoop的音乐推荐系统的设计和实现(六)
155 0
|
4月前
|
分布式计算 Hadoop Java
【大数据实训】基于Hadoop的2019年11月至2020年2月宁波天气数据分析(五)
【大数据实训】基于Hadoop的2019年11月至2020年2月宁波天气数据分析(五)
52 1
|
2月前
|
分布式计算 DataWorks IDE
MaxCompute数据问题之忽略脏数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
46 0
|
2月前
|
SQL 存储 分布式计算
MaxCompute问题之下载数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
35 0
|
2月前
|
分布式计算 关系型数据库 MySQL
MaxCompute问题之数据归属分区如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
33 0