热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Facebook谈Hadoop,Hive,HBase和A/B测试(转载)

转自:http:www.infoq.comcnnews201007facebook-hadoop-summitHadoop峰会2010上,一系列Hadoop及其相关技术的大规模用户

转自:http://www.infoq.com/cn/news/2010/07/facebook-hadoop-summit

Hadoop峰会2010上,一系列Hadoop及其相关技术的大规模用户带来了演讲报告。值得注意的是,Facebook的主题演讲展示了他们使用Hive来作分析的详细信息。Mike Schroepfer,Facebook的工程副总裁,作了描述使用Hadoop所处理的Facebook的数据规模的报告。


Schroepfer给出了Facebook如何使用Hadoop来计算大规模分析例子。当Facebook计划推出他们的“Like”按钮时,他们担心会不会发生“自相蚕食”的结果——会不会因此反而减少了文字评论,而不是提升了参与度?为了验证这一点,他们运行了A/B测试来比较用户行为,给一组用户使用新功能(Like按钮),而另一个对照组则没有。这需要在一个互接连的社区内进行测试,“内生的组织”——在组织之外的连接很少。他们使用了两组南美国家来进行比较,哥伦比业,委内瑞拉 vs 阿根廷,智利。测试的结果是使用Like按钮的时候评论增加了4.46%,而对照组的数据则是0.63%。这一类测试所产生的巨大的数据集正是Facebook使用Hadoop来处理数据的例子。Schroepfer接着给出了另一个例子来说明为什么数据驱动的A/B测试这么重要:Facebook还用同样的方法测试过电子邮件提醒的两种不同的设计。 尽管大多数的人都期望更为图形化更丰富的电子邮件会产出更好的响应率,但与简单的基于文本的电子邮件对比测试时,后者却有着三倍于前者的响应率——这表明了使用数据测试观点而不是依赖直觉所带来的巨大威力。


Schroepfer指出,Facebook有4亿用户,超过一半的用户每天登录,而Neilsen调查指出花在Facebook上的时间,比接近它的6个站点所花的时间的总和还多。Facebook用户每个月分享250亿的内容信息,以及5000亿的单月页面浏览量。要处理这样的数据卷,Facebook使用了大型的Hadoop集群,存储36PB未压缩的数据,有超过2250台机器和23000个核心,每个机器32GB内存,每天处理80-90TB数据(推测是新数据)。该集群每个月有300-400的用户,他们每天提交 25000个任务。


Facebook从两个主要的数据源输入数据到Hadoop集群。他们使用开源的雅虎!来自Hadoop峰会的最新更新获取更多内容)。


为了支持向Hadoop集群载入日志的高可靠性,他们使用Scribe与一个中间聚合器,以及基于树型的分布将数据导出到本地托管的HDFS和Hadoop集群里。在这个层次,运行第二个HDFS实例(使用单独的名字节点),作为热备份——如果主HDFS宕机,系统将向备份的HDFS写入。当拉出数据载入到生产环境中时,只需要从这两个文件系统拉出数据,压缩,然后传送到生产集群中。


Schroepfer指出,95%的Facebook任务由Hive写成,他们可以快速的写就,通常十分钟就可以。实际上Facebook创建了一个基于Web的工具,HiPal,来让业务分析师使用Hive,只需要简单的撰写查询语句,支持查询载入仓库的近20000个表(HiPal并未公开)。他们一步一步从每天的批处理过渡到实时的查询——他预见将会出现最快查询在一分钟内就可以返回的系统,这必将为一系列新兴的应用开启大门。


接下来,来自Facebook的John Sichi及何永强展示了Hive与HBase和RCFile的集成。HBase是类似BigTable的键值存储模型,将数据存储于Hadoop的DFS文件系统。Facebook正在尝试将HBase用于数据仓库里的持续更新的维数据。Facebook测试了将Hive集成到20个节点的HBase集群——从Hive向HBase载入6TB gzip压缩的数据块用了30个小时,在这种配置下可以达到30GB/每小时的增加载入速率。在HBase运行表扫描比执行原生的Hive查询要慢五倍以上。他们尝试对这一集成进行优化,以利用最新的HBase性能优化所带来的好处。RCFile是Hive中一种新的存储格式,将数据按列式(columnar)存储。他们采用这种格式,平均减少了20%的存储需求,同时可以达到更好的性能(按需延迟对列数据的解压)。


Facebook对Hadoop技术将持续投入,并对他们所使用开源项目作出了贡献,比如Hive(由他们所发起的)以及HBase。他们的计算集群正在处理超大规模的数据并有着支持高可用性的架构,低延迟的应用,和与Hadoop相集成的数据库。更多来自Facebook的案例请查阅infoq.com/facebook。


推荐阅读
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 在搭建Hadoop集群以处理大规模数据存储和频繁读取需求的过程中,经常会遇到各种配置难题。本文总结了作者在实际部署中遇到的典型问题,并提供了详细的解决方案,帮助读者避免常见的配置陷阱。通过这些经验分享,希望读者能够更加顺利地完成Hadoop集群的搭建和配置。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • HBase 数据复制与灾备同步策略
    本文探讨了HBase在企业级应用中的数据复制与灾备同步解决方案,包括存量数据迁移及增量数据实时同步的方法。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Spark与HBase结合处理大规模流量数据结构设计
    本文将详细介绍如何利用Spark和HBase进行大规模流量数据的分析与处理,包括数据结构的设计和优化方法。 ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
author-avatar
非常异族图腾
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有