最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

评论

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

8086汇编基础 call far ptr实例

万里无云万里天

汇编语言

8086汇编基础 db,dw,dd的实例

万里无云万里天

汇编语言

Apache IoTDB v1.2.2 发布|增加 flink-sql-connector、tsfile 文件级级联传输等功能

Apache IoTDB

低代码开发平台实现思路探索:JNPF

互联网工科生

低代码 JNPF

WorkPlus企业内部聊天软件,如何保障企业数据和信息的安全性?

WorkPlus

Defi元宇宙NFTweb3DAPP数藏swap合约区块链应用开发

西安链酷科技

区块链

8086汇编基础 byte ptr与word ptr实例

万里无云万里天

汇编语言

QCN9274|DBDC WiFi 7 Network Card: Qualcomm's Innovative Solution

wallyslilly

qcn9274 qcn6274

Bitquiz重塑Learn to Earn热潮,用户零投入让学习创造价值

股市老人

我和极客时间的故事

法医

我和极客时间的故事

8086汇编基础 call实例

万里无云万里天

回归测试的实践与思考

老张

软件测试 质量保障 回归测试 测试计划

互联网众包平台如何改变APP软件开发方式?

知者如C

TuGraph Analytics图计算快速上手之弱联通分量算法

TuGraphAnalytics

图计算 WCC 连通分量

WorkPlus即时通讯办公软件,助力企业实现移动化办公

WorkPlus

私有化部署AI智能客服,解放企业成本,提升服务效率

WorkPlus

8086汇编基础 A,a的ASCII码(十六进制)

万里无云万里天

汇编语言

那些被裁员的芯片工程师们都怎么样了?

IC男奋斗史

职业规划 裁员 芯片 半导体 ChatGPT

探索低代码技术

树上有只程序猿

软件开发 低代码 JNPF

dao去中心化组织社群搭建、联盟链公链开发、钱包开发

西安链酷科技

公链开发

Python - 字典3

小万哥

Python 程序员 软件 后端 开发

8086汇编基础 debug D命令 查看指定地址的内容

万里无云万里天

汇编语言

一文解析iPaaS的价值及运用场景

RestCloud

ipaas

产品经理必备的14款需求管理工具推荐!

彭宏豪95

效率 软件 产品经理 需求管理 软件需求管理

8086汇编基础 8080,8088,8086,80286,80386的地址线,数据线宽度

万里无云万里天

汇编语言

8086汇编基础 call word ptr示例

万里无云万里天

汇编语言

文心一言 VS 讯飞星火 VS chatgpt (114)-- 算法导论10.2 7题

福大大架构师每日一题

福大大架构师每日一题

Mate60系列超预期热潮背后,品牌如何抓住营销机遇?

最新动态

iOS代码混淆-从入门到放弃

雪奈椰子

低代码技术这么香,怎么把它的开发特点发挥到极致?

陈橘又青

低代码 无代码开发 无代码 低代码平台 无代码平台

声音传送门|TinyEngine 低代码引擎使用建议收集

OpenTiny社区

开源 前端 低代码

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