Facebook专家:Hadoop不足以处理大数据

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:
文章讲的是 Facebook专家:Hadoop不足以处理大数据随着大数据在各个业务领域的发展和应用,相关的技术和工具也层出不穷,其中Hadoop框架受到更多的关注和应用。Facebook分析主管Ken Rudin最近在纽约举行的一个Strata+Hadoop世界大会发表主题演讲时表示,不要小看关系型数据库技术的价值。他认为,Hadoop编程框架可能是“大数据”运动的代名词,但它并不是企业从大规模存储的非结构化信息中得到价值的唯一工具。

  有很多很普及的大数据的观念需要被质疑,首先一点就是人们普遍认为你可以简单地利用Hadoop,并且Hadoop易于使用。问题是,Hadoop是一项技术,而大数据和技术无关。大数据是和业务需求有关的。事实上,大数据应该包括Hadoop和关系型数据库以及任何其它适合于我们手头任务的技术。

  Rudin说,Facebook的业务模式依赖于其对于超过10亿社交媒体用户的用户资料和活动数据的处理,从而提供有针对性的广告。然而,对于我们需要做的事情而言,Hadoop并不总是最好的工具。

  例如,在Hadoop中对一个数据集做广泛并且探索性的分析是很有意义的,但关系型存储对于那些尚未发现的东西进行运行分析则更好。Hadoop对于在一个数据集中寻找最低水平的细节也很好用,但关系型数据库对于数据的存储转换和汇总则更有意义。因此底线是,对于你的任何需求,要使用正确的技术。

  他表示,还有另一个假设,认为大数据单纯的行为分析提供了宝贵的价值:“问题是这分析给那些无人问津的问题得出了更加聪明的答案。要弄清楚什么是正确的问题依然是一门艺术”。Facebook一直专注于雇佣合适的员工来运行他们的分析操作,那些人不仅要在统计学专业获得博士学位,并且还要精通业务。

  当你面试员工时,不要只关注于“我们怎么计算这个指标”,相反,你应该给他们一个商业案例来研究,并且问他们在这个案例中哪个是最重要的指标。企业也应该尝试着去培养,人人参与分析。

  据Rudin透露,Facebook运营一个内部的“数据培训营”,一个教导员工如何分析的时长两周的项目。产品经理、设计师、工程师甚至财务部门工作人员都要参加。每个人都参与其中的意义就在于,每个人可以用一个共同的数据语言,来互相讨论数据的问题和麻烦。

  Facebook还改变了统计人员和业务团队的组织方法。如果统计人员保持独立,他们往往会坐在那里等待来自业务领域的请求找上门来,再回应他们,而不是主动去做。但是如果统计人员被放置到业务部门,你会发现多个团体将会试图冗余地解决问题。

  Facebook已经采用了“嵌入式”模式,其中分析师被放在业务团队中,但他们要向一些更高级别的分析师报告,这有助于避免重复的劳动。

  对于Hadoop如何组合和处理大数据的技巧和方法,数据专家Anoop曾经在另一篇文章中提到过,一般情况下,为了得到最终的结果,数据需要加入多个数据集一起被处理和联合。Hadoop中有很多方法可以加入多个数据集。MapReduce提供了Map端和Reduce端的数据连接。这些连接是非平凡的连接,并且可能会是非常昂贵的操作。Pig和Hive也具有同等的能力来申请连接到多个数据集。Pig提供了复制连接,合并连接和倾斜连接(skewed join),并且Hive提供了map端的连接和完整外部连接来分析数据。一个重要的事实是,通过使用各种工具,比如MapReduce、Pig和Hive等,数据可以基于它们的内置功能和实际需求来使用它们。至于在Hadoop分析大量数据,Anoop指出,通常,在大数据/Hadoop的世界,一些问题可能并不复杂,并且解决方案也是直截了当的,但面临的挑战是数据量。在这种情况下需要不同的解决办法来解决问题。一些分析任务是从日志文件中统计明确的ID的数目、在特定的日期范围内改造存储的数据、以及网友排名等。所有这些任务都可以通过Hadoop中的多种工具和技术如MapReduce、Hive、Pig、Giraph和Mahout等来解决。这些工具在自定义例程的帮助下可以灵活地扩展它们的能力。

  事实上,与Rudin持相同观点的还有数据专家Joe Brightly,他也总结了Hadoop不适合数据分析的几个理由,其中包括:

  “Hadoop是一个框架,不是一个解决方案”——他认为在解决大数据分析的问题上人们误认为Hadoop可以立即有效工作,而实际上“对于简单的查询,它是可以的。但对于难一些的分析问题,Hadoop会迅速败下阵来,因为需要你直接开发Map/Reduce代码。出于这个原因,Hadoop更像是J2EE编程环境而不是商业分析解决方案。” 所谓框架意味着你一定要在之上做个性化和业务相关的开发和实现,而这些都需要成本。

  Hadoop的子项目Hive和Pig 都不错,但不能逾越其架构的限制。”——Joe提出“Hive 和Pig 都是帮助非专业工程师快速有效使用Hadoop的完善工具,用于把分析查询转换为常用的SQL或Java Map/Reduce 任务,这些任务可以部署在Hadoop环境中。”其中Hive是基于Hadoop的一个数据仓库工具,它可以帮助实现数据汇总、即时查询以及分析存储在Hadoop兼容的文件系统的大型数据集等。而Pig是并行计算的高级数据流语言和执行框架。但作者认为“Hadoop的Map/Reduce框架的一些限制,会导致效率低下,尤其是在节点间通信的情况(这种场合需要排序和连接)。”

  Joe总结道:“Hadoop是一个用来做一些非常复杂的数据分析的杰出工具。但是具有讽刺意味的是,它也是需要大量的编程工作才能得到这些问题的答案。” 这一点不止在数据分析应用方面,它其实反映了目前使用开源框架时候不得不面对的选型平衡问题。当你在选型开源框架或代码的时候,既要考虑清楚它能够帮到你多少,节省多少时间和成本,提高多少效率。也要知道由此而产生多少新增的成本,比如工程师的学习成本、开发和维护成本,以及未来的扩展性,包括如果使用的框架升级了,你和你的团队是否要做相应的升级;甚至还要有安全性方面的考虑,毕竟开源框架的漏洞也是众所周知的。


作者:王玉圆

来源:IT168

原文链接:Facebook专家:Hadoop不足以处理大数据

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
29天前
|
SQL 数据可视化 大数据
从数据小白到大数据达人:一步步成为数据分析专家
从数据小白到大数据达人:一步步成为数据分析专家
217 92
|
2月前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
89 4
|
3月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
200 2
|
3月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
192 1
|
4月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
123 1
|
4月前
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
249 0
|
4月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
242 6
|
4月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
112 2
|
机器学习/深度学习 算法 决策智能
【重磅开源】Facebook开源 Nevergrad:一种用于无梯度优化的开源工具
【重磅开源】Facebook开源 Nevergrad:一种用于无梯度优化的开源工具
237 0
|
缓存 数据可视化 测试技术
开源多年后,Facebook这个调试工具,再登Github热门榜
让许多工程师合作开发大型应用大多会面临一个挑战,通常没有一个人知道每个模块是如何工作的,这种技能会让开发新功能、调查Bug或优化性能变得困难,为了解决这个问题,Facebook创建并开源了Flipper,一个可扩展的跨平台的调试工具,用来调试 iOS 和 Android 应用。近日又双叒登上了Github热榜。