大数据技术领域发展与Spark的性能优化

news/2026/1/18 0:05:38/文章来源:https://www.cnblogs.com/zzq6032010/p/19497421

大数据技术领域发展与Spark的性能优化

一、大数据技术领域发展方向

随着AI时代的到来,大数据技术领域逐渐退居二线,再也没有了前些年的重视程度。博主近期结合从业多年经验,对大数据技术领域的技术演进路线做下梳理。

当前大数据领域发展已经进入深水区,随着各种成熟大数据框架的应用普及,难点已经从存不下、算不出,变为了如何高质量、高效计算数据并增加数据与价值的转换率,这就涉及到针对价值变现场景的数据设计和全生命周期的管理。这部分根据具体业务场景的差异,设计实现千差万别,本文以Spark On Yarn经典大数据集群场景为例,讲一讲如何高效计算数据。

 

二、Spark On Yarn性能优化思路

1、Spark调参

Spark开放了众多过程参数,来控制集群运行过程中各个维度的设置。常用来参数调优的有:

spark.default.parallelism:并行度

spark.sql.shuffle.partitions:shuffle分区数(常为集群Executor核心数的2-3倍)

spark.executor.memoryOverhead:调节shuffle过程中内存溢出阈值

spark.dynamicAllocation.enabled=true:启用动态资源分配,任务负载高时可自行增加对资源的申请

spark.sql.adaptive.enabled=true:开启AQE,自动调节最优分区数,还可改善数据倾斜问题

上面只是例举其中一小部分,参数调参配合SparkUI使用,方便观测调整效果。

2、代码端优化

手段很多,包括但不限于:增加缓存、减少udf的使用、走dataframe或sparksql最大化利用spark原生的引擎优化、使用broadcast等,核心原则是多利用spark优化机制,做好数据缓存。

3、数据端优化

数据端优化主要是两部分:

第一是读取、存储时,采用高效存储格式,如parquet、ORC等,天然适配spark的分区计算模式,会减少很多无谓的操作。

第二是采用高效序列化方式,减少shuffle过程中的序列化耗时,这部分时间可在SparkUI的Stage处查看task的timeline中的对应耗时。

4、架构层优化

上述措施都做完之后,基本就进入了性能优化的深水区,当前业界成熟做法有两大类,均能进一步突破数据计算瓶颈可带来较大幅度提升。

第一是利用向量化技术,大幅提升计算效率。

向量化技术能有效果的基础,在于现代计算机对SIMD指令的支持。

SIMD指令,即单指令流多数据流 Single Instruction Multiple Data,在计算机中可以使用一条指令,传递多个数据进去(即向量),而后CPU仅需对这一个向量进行一次运算(比如当前要进行加法运算),即可得到结果,相比传统CPU一个加法调用一次指令的方式,快了N(N为向量的长度)倍。

所以向量化改造是一条理论上具备高效提效能力的技术方向。具体实操的话,开源组件推荐使用Gluten,小米技术团队去年做过实践分享,改造之后时间耗时平均降低30%。

第二是在并行计算路上继续狂奔,引入异构的GPU(注意不是NPU,NPU仅为支持AI训练推理加速,对通用数据计算增益效果并不好,且缺少配套)。

在GPU计算提效这块,英伟达专门为Spark无缝使用开发了RAPIDS加速器插件。它可以以插件的方式集成到spark客户端中,通过参数开关指定启用。在spark的物理计划生成之后,会被该加速器插件拦截,将其中的CPU算子替换为GPU算子(若评估加速效果不好还可退回成CPU算子),而后在Task执行阶段,RAPIDS会接过该任务进行执行。

大体,就这些了。单纯的大数据技术领域,可做的新技术演进已经不多了,后面更多的是如何精细化价值转换,给AI给行业赋能。

后续将沿着AI的方向,进行博文的更新和学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1175185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[sublime text] add sublime text to context menu 右键菜单中“Open with Sublime Text”

Google Gemini生成 Adding Sublime Text to your right-click (context) menu makes opening files and folders much faster. The process differs depending on whether you are using Windows or macOS.For Windows…

机遇,颓废,醒悟,挫折?奋进!

前言 2026.1.17 尽早写吧,虽然不知道学习 OI 的生涯能持续到何时,至少早些写能够多留下一些记忆。 机遇 小学四年级时,xyd 在区里各个小学四到六年级招人,要求是期末考成绩大于等于 380 分(满分 400)。我所在班里…

体验大模型图像处理:云端免配置方案,按需付费不浪费

体验大模型图像处理:云端免配置方案,按需付费不浪费 你是不是也遇到过这样的情况:作为产品经理,想快速验证一个AI功能能不能用在自家APP里,比如给用户加个“一键抠图换背景”的酷炫功能。可一问研发团队,对…

彼得林奇如何应对市场恐慌

彼得林奇如何应对市场恐慌 关键词:彼得林奇、市场恐慌、投资策略、风险管理、股票市场 摘要:本文深入探讨了投资大师彼得林奇应对市场恐慌的方法和策略。通过对彼得林奇投资理念和实践的分析,阐述了他在市场恐慌环境下如何保持冷静、做出明智…

如何在 Odoo 19 中为自定义模块添加章节和备注

如何在 Odoo 19 中为自定义模块添加章节和备注 在 Odoo 中,One2many 字段支持添加章节(Section) 和备注(Note),这两类元素可帮助用户将相关记录分组到有意义的类别中,其中备注还能用于在特定记录…

广告学考研白热化突围:AI证书成上岸关键加分项

广告学考研赛道愈发拥挤,不仅有着63.2%的高复试淘汰率,跨考生占比更超六成,传统备考已难破“高分难上岸”困局。在此背景下,一张高价值AI证书,成为广告学考生打破同质化竞争、精准突围的核心抓手。如今广告学已升级为融…

如何在 Odoo 19 中创建日历视图

如何在 Odoo 19 中创建日历视图 在 Odoo 19 中,日历视图是管理和可视化基于时间数据的强大界面,常用于约会、截止日期、任务、会议等日程安排场景。它提供了直观的图形化布局,可按日、周、月展示记录,在项目、销售、CRM 等模块中尤…

Java毕设项目推荐-基于springboot的旅行指南行程规划、景点推荐系统的设计与实现【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【计算机毕业设计案例】基于springboot的旅行指南个性化行程推荐系统的设计与实现(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

科大讯飞秋招笔试真题 - 字符拼接 字典序最小的字符串拼接 圆心覆盖

字符拼接 题目描述 给定两个由可见字符和空格组成的字符串s和t,其中字符串t的长度为偶数. 请将t的后半部分嫁按到s的未尾,并输出嫁接后的s以及t 的前半部分。 本题字符串的字符集为 ASCIl 码在 32 到 126 之间的字符,即大小写字母、数字、标点…

基于SpringBoot的KPL赛事综合管理系统的设计与实现

KPL赛事综合管理系统课题背景 电子竞技产业近年来发展迅猛,尤其是移动电竞领域,王者荣耀职业联赛(KPL)作为国内顶级移动电竞赛事,其规模与影响力持续扩大。随着赛事体系日趋复杂,传统人工管理模式已难以应对…

新闻学学生留学信息差避坑指南:掌握这些,学习留学两不误

新闻学留学的核心竞争力在于把控信息差,其受地域媒体环境、行业认证等因素影响极深,易陷入高投入低回报困境。本文从选校、申请、学业、就业四大环节,拆解核心陷阱,助力平衡学术与职业发展。一、选校避坑:跳出排名&…

基于python的搜索引擎设计与实现

搜索引擎设计与实现的课题背景 在当今信息爆炸的时代,搜索引擎已成为人们获取信息的重要工具。随着互联网数据的快速增长,如何高效地检索、排序和呈现信息成为计算机科学领域的重要研究方向。Python作为一种高效、灵活的编程语言,因其丰富的库…

基于SpringBoot的车辆违章信息管理系统的设计与实现

车辆违章信息管理系统的背景与意义 随着城市化进程加快和机动车保有量激增,交通违章现象日益频发,传统人工管理模式在数据处理效率、信息共享和执法透明度等方面面临严峻挑战。据公安部统计,2022年全国机动车保有量达4.17亿辆,同比…

基于Bilibili青少年模式使用情况的数据分析系统设计与实现开题报告

基于Bilibili青少年模式使用情况的数据分析系统设计与实现开题报告 一、研究背景与意义 (一)研究背景 随着数字技术的深度渗透,青少年已成为互联网消费的核心群体。截至2025年,我国青少年网民规模突破2.8亿,日均上网时…

《把脉行业与技术趋势》-59-《如何快速了解一个行业》哪些人需要如何快速了解一个行业?

《如何快速了解一个行业》是一本极具实战价值的方法论指南,适用于多种人群。不同角色因目标不同,对“快速了解”的需求和侧重点也各不相同。一、哪些人需要“快速了解一个行业”?人群典型场景核心诉求1. 投资者(VC/PE/股票投资者&…

基于Hadoop的南昌市房价预测系统的设计与实现开题报告

基于Hadoop的南昌市房价预测系统的设计与实现开题报告 一、研究背景与意义 (一)研究背景 随着我国房地产市场的持续发展与调控政策的不断深化,房价走势已成为关乎民生福祉、经济稳定与城市发展的核心议题。南昌市作为江西省省会,近…

12.平铺视图、窗口、消息框部件(lv_tileview,lv_win,lv_msgbox)

12.平铺视图、窗口、消息框部件(lv_tileview,lv_win,lv_msgbox)Hello World

【C语言】详解C语言字节打包:运算符优先级、按位或与字节序那些坑

详解C语言字节打包:运算符优先级、按位或与字节序那些坑 在嵌入式开发、网络编程中,字节打包(将多个单字节数据拼接为多字节数据)是高频操作,而新手很容易在运算符使用、优先级判断上踩坑。本文将以一段实际的C语言字节…

我终于狠下心改变家里的网络架构!原来是我高估了自己

从去年2025年末的时候,小白就一直想着把自己辛苦搭建的ESXI虚拟层关闭,改为家用路由器拨号的模式,但是一直迟迟没有动手。 果然,人一旦进入了舒适区,就很难走出来。网络部署一旦稳定使用,就算是想到有能优…