写点什么

把嵌套列表作为 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:009474

评论

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

SD-WAN助力在线教育教学的发展

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

云电脑如何根据业务需求调整资源

青椒云云电脑

云电脑 云电脑平台

工业边缘网关软件 NeuronEX 中基于角色的访问控制功能

EMQ映云科技

大数据 边缘计算 访问控制 工业边缘网关

移动图形工作站:适合3D建模和渲染的设备推荐

青椒云云电脑

图形工作站 移动图形工作站

做了六年多技术管理,聊一些经验总结

Keegan小钢

技术管理 职场发展 #程序员

Go 语言中的 MySQL 事务操作

左诗右码

Go 语言

Python数据分析:Numpy、Pandas高级

我再BUG界嘎嘎乱杀

Python 编程 数据分析 后端 开发语言

淘宝商品描述API返回值中的HTML格式内容解析技巧

技术冰糖葫芦

API Explorer api 货币化 API 接口 API 测试

【YashanDB数据库】yasql登录有特殊字符@导致无法登录

YashanDB

yashandb 崖山数据库 崖山DB

Prometheus 标签全揭秘:从数据源到仪表盘

腾讯云可观测平台

一文带你深度解析MySQL 8.0事务提交原理

华为云开发者联盟

数据库 企业号 8 月 PK 榜 企业号2024年8月PK榜

「免费领票」从云计算到生成式AI,2024云栖大会等你来。

阿里云CloudImagine

云计算 音视频 视频云 云栖大会 生成式AI

EMQX Platform & Snowflake:构建可再生分布式能源的智慧未来

EMQ映云科技

分布式 emqx 可再生能源

桌面虚拟化还需要采购主机吗

青椒云云电脑

桌面虚拟化

淘宝商品详情API:从ID到详细信息的全面获取

技术冰糖葫芦

API Explorer api 货币化 API 接口 API 测试

inBuilder低代码平台新特性推荐-第二十三期

inBuilder低代码平台

玩转生产环境全链路压测

数新网络官方账号

生产环境全链路压测

“AI能不能代替某某职业”,到底谁在破防?

禅道项目管理

人工智能 程序员 AI IT 项目经理

Spring Cloud Alibaba 集成分布式定时任务调度功能

阿里巴巴云原生

阿里云 云原生 spring cloud alibaba

两分钟“熟读”《国史大纲》,大模型的下一个爆点是“书童”?

Alter

虚拟云桌面系统可以部署应用于哪些行业

青椒云云电脑

云桌面 云桌面系统 虚拟云桌面

终身受益的AI自动化创收计划

测试人

借你慧眼,把 StarRocks Compaction 看得明明白白

Ding_Kai

数据仓库 LakeHouse StarRocks

云桌面知识最强科普

青椒云云电脑

云桌面 云桌面系统

云桌面的技术优势

青椒云云电脑

云桌面 云桌面厂家

Python数据分析:Numpy、Pandas基础

我再BUG界嘎嘎乱杀

Python 编程 数据分析 后端 软件开发

一文教会你如何集成百川大模型官网API

幂简集成

人工智能 API

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