50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Facebook 谈 Hadoop,Hive,HBase 和 A/B 测试

  • 2010-07-15
  • 本文字数:2052 字

    阅读完需:约 7 分钟

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 集群。他们使用开源的 Scribe 上传工具从 Web 集群载入数据,每 10 到 15 分钟就从成千上万的机器传输数据。他们每天还从系统记录载入数据,一个超过 2000 节点的 MySQL 联合集群。这些数据包括概要文件,好友信息,以及广告和广告推广信息。他们将数据载入一个生产环境白金集群,只运行仔细监控的关键性任务,并且这些任务在集群里运行前都是受控管理的。Facebook 同时还运行 Hive 副本将数据推送到金牌和银牌集群,运行关键级别低一些的任务。他们还将数据从白金集群推送到一个 Oracle RAC 实例。他们的集群是由一系列节点和一个单一核心的交换机组成的。将数据分割到不同的集群保证了关键性任务的高可靠性,同时还支持将 Hadoop 用于更为探索性和分析性的用途。这与 Yahoo 所描述的他们如何将 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

查看英文原文: Facebook on Hadoop, Hive, HBase, and A/B Testing

2010-07-15 07:5218913
用户头像

发布了 133 篇内容, 共 43.9 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

拓展测试领域,不要不断重复相同的测试

测吧(北京)科技有限公司

测试

基于Label studio实现UIE信息抽取智能标注方案,提升标注效率!

汀丶人工智能

人工智能 自然语言处理 信息抽取 labelstudio 智能标注

人工智能实践: 基于T-S 模型的模糊推理

TiAmo

模糊推理 TS模型

知名度比较高的堡垒机有哪些?大家喜欢哪款?

行云管家

堡垒机 行云管家

浅谈 Spring Bean 的生命周期

Java你猿哥

Java spring ssm Spring Bean

阿里为双十一整理的JVM性能优化文档,竟被GitHub“抢开”

Java 性能优化 JVM 性能调优

龙蜥白皮书精选:CentOS 迁移场景的平滑迁移方案

OpenAnolis小助手

Linux 开源 操作系统 CentOS迁移 龙蜥白皮书

硬核!阿里出品2023版Java架构师面试指南,涵盖Java所有核心技能

三十而立

Java IT java面试 面试资料

“阿里爸爸”最新产出:Java面试突击核心讲(1658页),转载40W+

Java你猿哥

Java 面试 面经 八股文 Java八股文

软件测试报告设计错误

测吧(北京)科技有限公司

测试

架构师日记-为什么数据一致性那么难

京东科技开发者

数据库 MQ 分布式系统 数据一致性 企业号 4 月 PK 榜

JAVA多线程并发编程-避坑指南

京东科技开发者

并发编程 线程 多线程并发 编码规范 企业号 4 月 PK 榜

想成为 Spring 大牛?先了解这 6 种添加 Bean 的方式

Java你猿哥

spring ssm Spring Bean

大厂在混沌工程领域的实践

老张

混沌工程 稳定性保障

吃透阿里2023版Java性能优化小册后,我让公司系统性能提升了200%

三十而立

Java 程序员 IT 面试资料

浅谈 Spring Bean 的生命周期

Java spring 生命周期 bean

阿里资深架构师整理出来的一份Java核心知识点分享给大家.pdf

Java你猿哥

Java 面试 面经 八股文 java八股文呢

如何针对重复问题创建测试矩阵

测吧(北京)科技有限公司

测试

等保三级对日志审计的要求是什么?有堡垒机还需要日志审计系统吗?

行云管家

堡垒机 日志审计 等保三级

关注测试原因(针对风险测试)的基于问题的测试手段

测吧(北京)科技有限公司

测试

关于测试内容的基于覆盖率的测试手段

测吧(北京)科技有限公司

测试

关于测试是否通过的基于评估的测试手段

测吧(北京)科技有限公司

测试

面试必问:说一下 Java 虚拟机的内存布局?

Java JVM 虚拟机

KaiwuDB 亮相中国石油石化企业信息技术交流大会

KaiwuDB

数字能源 KaiwuDB 数据解决方案

用工新趋势:“网讯电通+无影”让客服业务打破时空限制

云布道师

无影

OPPO大数据诊断平台“罗盘”正式开源

安第斯智能云

大数据 开源

SpringCloud 微信小程序 获取用户信息一键登录

Java你猿哥

Java 小程序 spring ssm spring chloud

GitHub置顶半个月!78w字百亿级并发设计(全彩PDF)

Java 架构 系统设计 高并发

GitHub爆火疯传“Java面试手册2023”还原面试现场,通过率90%

三十而立

Java 程序员 IT java面试 大厂面试

多层嵌套 if-else 代码优化重构的几种方案

Java你猿哥

Java ssm Java工程师 if-else

真香!阿里最新出品Java面试核心讲(终极版),Github已星标50K

三十而立

Java IT java面试 面试资料

Facebook谈 Hadoop,Hive,HBase和 A/B测试_软件工程_Ron Bodkin_InfoQ精选文章