Meta 数据日志工具的引入与实现
概述
Meta 最近在其“下载您的信息”(DYI)工具中引入了数据日志功能,使用户能够访问更多关于其产品使用的数据。这一举措旨在增强透明度,并提升用户对个人数据的控制力。
技术挑战
- 数据规模:Meta 拥有超过 30 亿月活跃用户,查询效率成为主要挑战。
- Hive 系统限制:Hive 表按日期和时间分区,查询特定用户数据时需要扫描每个分区的每一行,处理大量无关数据。
解决方案
- 批量处理请求:将单个用户的请求批量处理,通过一次扫描分摊高昂的全表扫描成本。
任务调度与执行:
- 使用内部任务调度服务组织最近的用户数据日志请求。
- 基于 Core Workflow Service (CWS) 构建系统,确保长时间运行任务的可靠执行。
- 在 Dataswarm 数据管道系统中执行任务,通过 INNER JOIN 操作生成中间 Hive 表。
数据处理与隐私保护:
- 使用 PySpark 处理中间表,将数据分割为每个用户的独立文件。
- 使用 Hack 语言应用隐私规则和过滤器,将数据转换为有意义的 HTML 文件。
- 最终将结果打包成 ZIP 文件,通过 DYI 工具提供给用户。
关键经验
- 检查点机制:实现稳健的检查点机制,确保增量进度和系统弹性,提高整体系统吞吐量。
- 数据正确性:发现并修复 Spark 并发 bug,实施验证步骤确保数据返回给正确的用户。
- 快速迭代:构建实验平台,支持快速测试和开发迭代。
工程原则
Google 软件工程师 Hardik Khandelwal 赞赏了 Meta 的工程原则:
- 批量处理请求:高效查询大规模数据集。
- 检查点机制:确保增量进度和容错性。
- 安全检查:强制执行隐私规则,防止数据泄露。
相关新闻
- 自动化合规强化工具 (ACH):基于 LLM 的测试生成系统。
- 开源大型概念模型 (LCM):在比令牌更高抽象层次上运行的语言模型。
用户体验
Meta 强调数据的一致性和可解释性,确保用户能够理解数据:
- 协作审查:访问专家与专业团队协作审查数据表,防止敏感信息暴露。
- 用户友好表示:使用渲染器将原始值转换为用户友好的表示,包括将数字 ID 转换为有意义的实体引用,枚举值转换为描述性文本,并移除技术术语。
以上总结涵盖了 Meta 数据日志工具的引入背景、技术挑战、解决方案、关键经验、工程原则、相关新闻以及用户体验优化措施。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。