写点什么

把嵌套列表作为 Apache Spark SQL 的首选

  • 2019-08-15
  • 本文字数:1569 字

    阅读完需:约 5 分钟

把嵌套列表作为 Apache Spark SQL 的首选

ArchSummit深圳2019大会上,蔡東邦 (DB Tsai)讲师做了《把嵌套列表作为 Apache Spark SQL 的首选》主题演讲,主要内容如下。


演讲简介


Making Nested Columns as First Citizen in Apache Spark SQL


Apple Siri is the world’s largest virtual assistant service powering every iPhone, iPad, Mac, Apple TV, Apple Watch, and HomePod. We use large amounts of data to provide our users the best possible personalized experience. Our raw event data is cleaned and pre-joined into an unified data for our data consumers to use. To keep the rich hierarchical structure of the data, our data schemas are very deep nested structures. In this talk, we will discuss how Spark handles nested structures in Spark 2.4, and we’ll show the fundamental design issues in reading nested fields which is not being well considered when Spark SQL was designed. This results in Spark SQL reading unnecessary data in many operations. Given that Siri’s data is super nested and humongous, this soon becomes a bottleneck in our pipelines.


Then we will talk about the various approaches we have taken to tackle this problem. By making nested columns as first citizen in Spark SQL, we can achieve dramatic performance gain. In some of our production queries, the speed-up can be 20x in wall clock time and 8x less data being read. All of our work will be open source, and some has already been merged into upstream.


参考译文:


Apple Siri 是世界上最大的虚拟助理服务,为每部 iPhone,iPad,Mac,Apple TV,Apple Watch 和 HomePod 提供服务支持。我们使用大量数据来为用户提供最佳的个性化体验。所有的原始事件数据被清理并预先加入到统一数据中,供我们的数据使用者使用。为了保持数据的丰富层次结构,我们的数据模式采用了非常深的嵌套结构。


在本次演讲中,我将讨论 Spark 如何处理 Spark 2.4 中的嵌套结构,还会展示读取嵌套字段时的基本设计问题,这些问题在设计 Spark SQL 时并未得到充分考虑。这就导致了 Spark SQL 在许多操作中读取不必要的数据。鉴于 Siri 超级嵌套的数据非常庞大,它很快就成了瓶颈所在。


之后,我会介绍为解决这个问题所采取的各种方法。将嵌套列作为 Spark SQL 中的第一个公民,在性能上获得显着的提升。在我们的一些生产查询中,加速 20 倍,读取的数据减少 8 倍。我们所有的工作都将开源,有些已经合并到了核心区域。


讲师介绍


蔡東邦 (DB Tsai)


Apple Staff Software Engineer & Apache Spark PMC


DB Tsai is an Apache Spark PMC / Committer and an open source and staff software engineer at Apple Siri. He implemented several algorithms including linear models with Elastici-Net (L1/L2) regularization using LBFGS/OWL-QN optimizers in Apache Spark. Prior to joining Apple, DB worked on Personalized Recommendation ML Algorithms at Netflix. DB was a Ph.D. candidate in Applied Physics at Stanford University. He holds a Master’s degree in Electrical Engineering from Stanford.


译文参考:


蔡東邦老师是 Apache Spark PMC / Committer,同时也是 Apple Siri 的主任工程师。他将多个算法应用到了 Apache Spark 当中,包括使用了 LBFGS / OWL-QN 优化器 的 Elastici-Net(L1 / L2)正则化的线性模型。在加入 Apple Siri 之前,蔡老师在 Netflix 从事个性化推荐机器学习算法的研究工作。目前是斯坦福大学应用物理专业的博士候选人,也获得了斯坦福大学电气工程硕士学位。












完整演讲 PPT 下载链接


https://archsummit.infoq.cn/2019/shenzhen/schedule


2019-08-15 00:009601

评论

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

美国Aflac公司披露网络安全事件,客户数据可能遭泄露

qife122

网络安全 社会工程学攻击

这个暑期用鸿蒙 5开启缤纷夏日,多款应用福利享不停

最新动态

征程 6|工具链部署实用技巧 6:hbm 解析 API 集锦

地平线开发者

自动驾驶 算法工具链 地平线征程6

ACME协议

八苦-瞿昙

Apache Doris 实时更新技术揭秘:为何在 OLAP 领域表现卓越?

SelectDB

OLAP apache doris 数据更新 实时分析 数据库 大数据

巴克莱银行大规模部署Microsoft Copilot至10万员工,加速AI应用进程

qife122

人工智能 微软365

扣子开源本地部署教程 丨Coze智能体小白喂饭级指南

阿星AI工作室

人工智能 AI 产品经理

信任的意外反射:深入解析LLVM循环向量化器中的罕见编译错误

qife122

LLVM 向量化

javax.security.auth.login.LoginException: Checksum failed

刘大猫

人工智能 算法 数据分析 大模型 LoginException

HackerOne漏洞报告:AddTagToAssets操作中的IDOR漏洞分析

qife122

graphql IDOR漏洞

亚马逊机器学习大学推出"负责任AI"课程 - 聚焦AI偏见缓解与公平性实践

qife122

机器学习 偏见缓解

面向数据科学的AI助手:SageMaker Canvas中的Amazon Q开发者工具

qife122

机器学习 AutoML

开发者说|RoboTransfer:几何一致视频世界模型,突破机器人操作泛化边界

地平线开发者

自动驾驶 算法工具链 地平线征程6

深入解析Passkeys背后的密码学原理

qife122

身份认证 密码学

WAIC 2025,我们闯进了超级头部主播的“造星梦工厂”NOVA

脑极体

AI

深度解析苹果端侧与云端基础模型技术架构

qife122

机器学习 模型压缩

无刷电机行业新一代AI智能化MES系统解决方案

万界星空科技

制造业 无刷电机 mes 电机行业 电机MES

【手把手】使用JoyAgent-Genie,基于Deepseek模型构建自己的Manus

京东科技开发者

打印机安全漏洞:网络攻击的宽阔入口

qife122

网络安全 漏洞管理

JoyAgent综合测评报告

京东科技开发者

LeetCode热题一之两数之和

Hunter熊

Python golang LeetCode 两数之和

JSONBench 榜单排名第一! 10 亿条数据秒级响应

SelectDB

数据库 性能测试 OLAP apache doris 大数据 开源

【纯干货】三张图深入分析京东开源Genie的8大亮点

京东科技开发者

北大自主创新SPONGE软件性能超越国际主流GPU方案

极客天地

Genie:产品级Agent开源产品

京东科技开发者

连续动作强化学习中的反事实探索:揭示AI决策背后的可能性

qife122

强化学习 连续动作空间可解释AI 连续动作空间

ECDSA安全漏洞剖析:从非ce泄露到密钥恢复实战

qife122

密码学 侧信道攻击

Web枚举方法论:OSCP、CTF和Web应用渗透测试的初学者指南

qife122

网络安全 Web枚举

Pipal密码分析工具的模块化检查器与分割器系统详解

qife122

密码分析 Ruby编程

设计系统中的本地化集成:Figma变量与设计令牌实战

qife122

本地化 设计系统

TryHackMe团队靶机渗透测试实战解析

qife122

渗透测试 NMAP扫描

把嵌套列表作为 Apache Spark SQL 的首选_ArchSummit_蔡東邦 (DB Tsai)_InfoQ精选文章