网易首页 > 网易号 > 正文 申请入驻

《深入浅出Apache Spark》系列直播Q&A精华一览

0
分享至

经过几期《深入浅出Apache Spark》系列直播的热烈讨论,我们收到了众多观众的热情反馈与宝贵问题。

为了让更多未能参与直播的朋友们也能受益,我们精心整理了直播中的“问题现场Q&A”环节,现将精选内容以文字版形式呈现给大家!

Q1:如何看待实时计算领域 Spark Streaming 和 Flink 两条技术路线的现状和未来?

A1:与两者发展的时间阶段有关,Spark 发展较早,Spark SQL 已经因为在批处理和针对 Hive 性能优化上的工作成为主流框架后,Flink 才出现,通过实时处理来跟 Spark 打差异。早期两者在计算模型上存在差异,Flink 认为的实时计算是数据到计算节点之后可以立刻被扔出去;而 Spark Streaming 是在一个时间窗口内(例如:100ms)进行数据累计,然后成批发出去。随着这些年的发展,两者在实时计算上已经很像。首先如果将 Spark Streaming 100ms 的窗口调整到 10ms 效果会跟 Flink 很接近,同时 Spark Streaming 后面也实现了一个和 Flink 很接近的实时计算模型。而 Flink 在生产环境下有被发现背压或者数据处理能力吞吐量不足以支撑高并发的情况,为优化这点 Flink 处理方式上选择了和 Spark 类似的缓存一部分消息。对于两者未来的发展方向,个人感觉,因为 99% 的场景都是批处理或者离线的,真正实时计算场景比较少。Flink 后面也提出了批流一体,未来两者应该会越来越重叠。

Q2:Spark SQL 计算时数据倾斜有什么优化手段?

A2:Spark3.0 AQE 框架支持数据倾斜的优化,分为小分区的数据合并和大分区的数据拆分。

Q3:Spark SQL 中多个 count(distinct)怎么优化?

A3:Spark 通过 RewriteDistinctAggregates 来进行性能优化。

Q4:Structured Streaming 和 Streaming 有啥区别?在流式处理时怎么选择?

A4:只需要选择 structured stream,早期的 Streaming 方式社区已经准备抛弃。

Q5:Spark SQL 能实现类似 Flink SQL 的功能吗?比如只写 SQL 就能实现从 kafka 消费数据,处理入库?

A5:可以,举个例子 360 的 XSQL 项目支持通过 SQL 去操纵 kafka。

Q6:计算小文件多是如何解决的?

A6:有些场景可以去调整 Spark SQL 默认 partition 的数量;如果是与 shuffle 相关的小文件,当前 Spark 版本已经解决了这个问题。

Q7:对于不同的数据源,如 My SQL, ES, Hive 等,即使都可以支持 SQL 也有不同方言,是否应该提出一个通用的计算逻辑表达,屏蔽底层方言?

A7:快手,360,华为,腾讯等公司都有类似的应用,数新网络的 CyberSQL 也有同样功能,通过统一 SQL 减少使用复杂度。

Q8:单个 count(distinct)会优化成 group by, 多条 SQL 语句中多个 count(distinct)怎么避免数据膨胀?

A8:Spark 的 RewriteDistinctAggregates 优化规则,通过 Expand 物理算子,根据条件制造伪的数据列,伪的数据列可以满足不同 DISTINCT 对应的数据值,来减少 Shuffle 次数。

Q9:Spark SQL 默认参数是怎么设的?比如 Executor 数,内存数。

A9:需要结合数据量和任务量具体场景具体评估。

Q10:Spark SQL 怎么实现联邦查询。社区版默认没有实现 JDBC 和 Hive 的 Catalog,这方面能给一些解决方法么?

A10:Spark SQL 默认就支持 Hive;对于 JDBC,社区提供了一个框架里面的功能主要围绕 H2 内存数据库。但 H2 一般不会在生产使用,而实际使用中用户可能需要在生产环境通过 JDBC 接入 MySQL 等数据库,所以社区目前更多的是在通过框架来展示自己的可扩展性,实际生产环境应用还是需要用户自己去进行实现;

Q11:AQE 动态执行的原理是什么,动态修改物理执行计划吗?

A11:AQE 可以在执行阶段插入 Query Stage,预先把小的查询提前进行执行,拿到对应的统计信息,大表的扫描暂缓执行;比如 ABC 三张表进行 join,A 表和 B 表 join 后的数据量,Spark 没有办法提前知道,需要执行后获得数据规模等信息。获取信息后,本身可能是需要 Shuffle 过程的 Sort Merge Join,如果发现 A 和 B join 后的数据量很小,可以优化为 Broadcast Join。也就是说,Spark3.0 之后即便逻辑计划已经转化为物理计划,物理计划也会通过动态的探测调整,继续去做优化。

Q12:在 Spark 执行性能这块,有提出要 Native 执行,能介绍一下这块原理和未来发展么?

A12:Spark 本地化执行是因为 Spark 社区的一些公司提出的,利用了 C 语言在特定操作系统硬件环境下相比 Java 的性能优势来进行优化。早期大家对于向量化的期待比较高,现在看向量化只是 Native 性能优化的一项。向量化相关项目中,目前Databricks 的 Photon 项目并不开源,社区里面的开源项目有 Gluten。因为向量化有性能增益,在降本增效的大背景下值得很多公司去关注。

Q13:RDD 的第五个属性,优先位置要怎么理解?

A13:优先位置是本地化相关的考虑,决定 RDD 跟上游依赖数据产生的 Task 是否在同一个进程/节点/机器上跑,主要解决的是数据的跨网络传输问题,如果是数据在同一个进程本地访问就行了。

Q14:CheckPoint 现在还经常在代码中使用吗?

A14:如果用 Spark Core API 写代码,检查点还是需要的。如果 RDD 编织的 DAG 图某部分已经执行完毕,某部分执行失败,可以从检查点恢复数据,避免重复计算。

Q15:拉数据的时候数据端服务被拉爆了一般是什么状况?

A15:目前比较常见的是,因为 Spark 每个执行器自带的 Shuffle 服务,当上游 Task 执行完毕,有部分 Shuffle 数据落到磁盘里面等待下游其他任务去拉取数据,由 Shuffle 服务提供单独的接口提供访问。同时 Executor 会去执行其他任务。下游拉数据的时候,这部分数据会从磁盘加载到内存里面,再通过 Netty 发出去,这样会占用一部分内存;同时 Netty 通信也需要分配堆外内存;Executor 执行下一个任务也需要占用内存。几点叠加容易导致内存不够 OOM, 在 Yarn 或者 K8s 上跑还会被 kill 掉。对于这点,有一些外部 Shuffle 服务的开源产品,比如 RSS、ESS,通过空间换稳定性,用额外的存储计算资源来保证任务更稳定运行。

系列直播精彩继续,扫码预约

公司简介

浙江数新智能有限公司是一家专注于多云数据智能平台和数据价值流通的服务商。公司总部位于杭州,在上海、北京、深圳等各地设有分支机构,服务网络覆盖全国各区域,客户遍布全球 50+城市。数新智能自成立以来就在人工智能领域进行了深入的探索,已有成熟的产品、基于场景的解决方案及不同行业的成功案例。帮助金融、能源电力等行业相关企业实现数字化、智能化转型,提升企业新质生产力。

数新智能自主研发的一站式多云数据智能平台,主要包括赛博数智引擎CyberEngine、赛博数据平台CyberData、赛博智能平台CyberAI,可提供基于大数据的大模型调优、深度学习、价值流通等多种服务。数新智能自主研发的赛博数智引擎CyberEngine基于开源开放的设计理念,兼容开源引擎并进行深度优化,开放式架构支持主流引擎生态,支持多元异构引擎灵活插拔,支持流批一体、湖仓一体、数智一体等场景化能力。在此基础上,CyberEngine以Spark、Flink作为主计算引擎,以Spark为例,基于Spark实现数新智能的流批引擎、统一查询引擎,在性能、稳定性、云原生化等方面全面优于社区开源版本。

耿嘉安

数新智能高级架构专家 Spark Committer

2014 阿里巴巴御膳房主力开发

2016 软件开发&大数据开发 出版畅销书籍《深入理解 Spark 》

2016 艺龙网大数据架构师 主导开发大数据平台

2017 360 大数据专家 出版畅销书籍《 Spark 内核设计的艺术》

2018 360 高级大数据专家 主导开发 XSQL 查询平台

2020 麒麟高级性能专家 主导 Kylin 执行引擎加速

2024 数新智能高级架构专家

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
湛江妈祖事件真相!当地村民称不是抬不动轿子,而是根本不敢走啊

湛江妈祖事件真相!当地村民称不是抬不动轿子,而是根本不敢走啊

火山詩话
2026-02-21 14:13:36
史上最乱伦成语“上蒸下报”

史上最乱伦成语“上蒸下报”

华人星光
2026-02-21 11:24:05
哈登加盟效应太猛!5战全胜砍92+43+25:艾伦升级数据暴涨

哈登加盟效应太猛!5战全胜砍92+43+25:艾伦升级数据暴涨

罗说NBA
2026-02-22 05:24:10
俄乌打了4年,西方终于发现情况不妙:俄军弹药怎么打不完?

俄乌打了4年,西方终于发现情况不妙:俄军弹药怎么打不完?

空天力量
2026-02-21 13:06:08
你见过的狠人有多绝?网友:我遇见过把自己饿死的病人

你见过的狠人有多绝?网友:我遇见过把自己饿死的病人

带你感受人间冷暖
2026-02-10 03:34:06
香港身份烂尾潮已来!12万内地中产,正在被精准收割

香港身份烂尾潮已来!12万内地中产,正在被精准收割

社会日日鲜
2026-02-22 04:38:12
从9亿回升至15亿,《镖人》逆跌夺得亚军,吴京开启漫长回本之路

从9亿回升至15亿,《镖人》逆跌夺得亚军,吴京开启漫长回本之路

电影票房预告片
2026-02-20 22:51:47
英超争冠悬念重启!奥赖利梅开二度,曼城2-1力克纽卡施压阿森纳

英超争冠悬念重启!奥赖利梅开二度,曼城2-1力克纽卡施压阿森纳

钉钉陌上花开
2026-02-22 05:56:17
大年初二黄海斗法:解放军用实力告诉美军,这儿的规矩姓“中”

大年初二黄海斗法:解放军用实力告诉美军,这儿的规矩姓“中”

未来展望
2026-02-21 14:42:14
和谈破裂,俄乌将全面开战,英国再援乌229亿美元

和谈破裂,俄乌将全面开战,英国再援乌229亿美元

史政先锋
2026-02-21 16:46:58
“茶几”正在退出中国家庭,学广东人这样做,实用性让人大开眼界

“茶几”正在退出中国家庭,学广东人这样做,实用性让人大开眼界

室内设计师有料儿
2026-02-19 11:17:18
中国足协主席:我必须强调一个分量极重的事实

中国足协主席:我必须强调一个分量极重的事实

上观新闻
2026-02-21 18:49:03
拾石村妈祖被替后续: 女孩账号曝光,当了八年被选定,今年满18岁

拾石村妈祖被替后续: 女孩账号曝光,当了八年被选定,今年满18岁

离离言几许
2026-02-20 14:02:55
美联储官员发出警告:AI如果继续快速发展,将导致许多人终身失业

美联储官员发出警告:AI如果继续快速发展,将导致许多人终身失业

爆角追踪
2026-02-20 10:53:11
正式交易!1.25亿先生打G联赛,右膝撕裂+股四头肌手术,可惜了

正式交易!1.25亿先生打G联赛,右膝撕裂+股四头肌手术,可惜了

球童无忌
2026-02-21 20:51:40
贝加尔湖7名遇难中国游客身份全部确认:一家四口中仅一名男性生还,另有4人约团司机同行;接私单司机身份曝光,属非法载客

贝加尔湖7名遇难中国游客身份全部确认:一家四口中仅一名男性生还,另有4人约团司机同行;接私单司机身份曝光,属非法载客

扬子晚报
2026-02-21 22:44:48
机器人集体亮相春晚后:“假蔡明”被送给了真蔡明,“春晚版熊猫”拍出近6万元高价

机器人集体亮相春晚后:“假蔡明”被送给了真蔡明,“春晚版熊猫”拍出近6万元高价

红星新闻
2026-02-21 20:39:13
王濛气到落泪:花那么多钱,就把队伍弄成这样?成天锁大门蒙眼睛

王濛气到落泪:花那么多钱,就把队伍弄成这样?成天锁大门蒙眼睛

风过乡
2026-02-21 08:03:36
妈祖开始惩罚这位姓许的有钱人了

妈祖开始惩罚这位姓许的有钱人了

麦杰逊
2026-02-21 18:12:33
从33.27亿跌到1.56亿,我感慨:离开沈腾,马丽也扛不起票房

从33.27亿跌到1.56亿,我感慨:离开沈腾,马丽也扛不起票房

白公子探剧
2026-02-21 23:34:43
2026-02-22 08:36:50
数新智能
数新智能
一家专注于云数据智能平台和数据价值流通的服务商,可提供大数据开发管理、建模分析、价值流通等服务
64文章数 0关注度
往期回顾 全部

科技要闻

智谱上市1月涨5倍,市值超越京东、快手

头条要闻

贝加尔湖7名遇难者身份全部确认 1家4口仅1人生还

头条要闻

贝加尔湖7名遇难者身份全部确认 1家4口仅1人生还

体育要闻

徐梦桃:这是我第一块铜牌 给我换个吉祥物

娱乐要闻

黄晓明澳门赌博输十几亿 本人亲自回应

财经要闻

一觉醒来,世界大变,特朗普改新打法了

汽车要闻

比亚迪的“颜值担当”来了 方程豹首款轿车路跑信息曝光

态度原创

数码
旅游
手机
艺术
公开课

数码要闻

AMD RX 9060 XT成功超频4.769GHz!打破世界纪录

旅游要闻

新春假期游兴浓

手机要闻

小米8500mAh电池新机曝光,下半年还有万级方案

艺术要闻

这本书法,80%的人无法读懂!网友直言:看到第二字就傻眼!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版