NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:5218375
用户头像

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

关注

评论

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

读懂React原理之调和与Fiber

xiaofeng

React

测试大咖漫谈如何搞定软件质量?

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

软件测试

计算机网络:以太网与IEEE 802.3

timerring

计算机网络 11月月更

vue的几个提效技巧

yyds2026

Vue

软件测试 | 测试人员必须掌握的测试用例

测试人

软件测试 自动化测试 测试开发 测试用例

实时云渲染vs本地渲染,哪个更好用?

Finovy Cloud

云渲染 实时云渲染

React-Hook最佳实践

xiaofeng

React

Paddle Graph Learning (PGL)图学习之图游走类node2vec模型[系列四]

汀丶人工智能

图神经网络 11月月更

华为云Astro的前世今生:用7年时间革新低代码开发观念

华为云开发者联盟

低代码 华为云

多视角碰撞,探索 Serverless 企业落地更多可能性丨阿里云用户组厦门站

云布道师

阿里云 云原生

使用SQL加密函数实现数据列的加解密

华为云开发者联盟

大数据 后端 华为云 数据加密

阿里云产品经理刘宇:Serverless 的前世今生

云布道师

阿里云 Serverless 云原生

最佳实践 | 用腾讯云AI人像变换给自己一次“跨越年龄的体验”

牵着蜗牛去散步

人工智能 腾讯云 腾讯 腾讯云AI

React-diff原理及应用

xiaofeng

React

浪潮信息工程师:谈一谈设备透传虚拟机启动慢背后的原因及其优化方法 | 第 51 期

OpenAnolis小助手

Linux 系统运维 内核 龙蜥大讲堂 浪潮

数据库独角兽SingleStore:没有HTAP,机器学习和人工智能都是不切实际的

StoneDB

数据库 开源 HTAP StoneDB SingleStore

Dive into TensorFlow系列(2)- 解析TF核心抽象op算子

京东科技开发者

tensorflow TF2 Tensor Op

OceanBase 首席科学家阳振坤博士入选2022 年度“CCF王选奖”

OceanBase 数据库

技术界中的虚拟机、容器和沙箱的关系

FinFish

容器 虚拟机 安全沙箱

聊聊Vuex原理

yyds2026

Vue

火山引擎 DataTester 首推A/B实验经验库,帮助企业高效优化实验设计能力

字节跳动数据平台

大数据 A/B测试

彻底搞懂Vue虚拟Dom和diff算法

yyds2026

Vue

【LeetCode】字符串相加Java题解

Albert

算法 LeetCode 11月月更

HummerRisk V0.5.1 发布:新增对象存储、优化K8s 资源态势和资源拓扑等

HummerCloud

Kubernetes 云原生 云安全 云原生安全

6个步骤强化 CI/CD 安全

SEAL安全

使用EasyCV Mask2Former轻松实现图像分割

阿里云大数据AI技术

深度学习 计算机视觉 图像处理 图像分割 企业号十月 PK 榜

SREWorks v1.3 版本发布 | 插件机制发布

阿里云大数据AI技术

大数据 运维 插件

PLC与SCADA的什么区别和联系

2D3D前端可视化开发

物联网 PLC 工业控制 web组态 SCADA

count(*)查询性能很差?用这5招轻松优化

小小怪下士

Java 程序员 后端

查看、校验、归档…带你掌握openGauss账本数据库

华为云开发者联盟

数据库 后端 华为云

OKR之剑·实战篇03:OKR的跟踪需要有“自己”的节奏

vivo互联网技术

团队管理 OKR 目标管理

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