大数据技术领域发展与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的方向,进行博文的更新和学习。

相关推荐
Geeys6 分钟前
拼多多新店起流玩法:免费流量打底+付费流量爆发
大数据
日常筹谋记12 分钟前
自动化仓储安全防护工况评估:明治传感器AS-33C技术适配性分析
大数据·运维·创业创新·业界资讯
updayday85420 分钟前
离职域账号状态变更与Ping64操作记录核对
大数据·网络·数据库·安全·智能路由器
baopixiaoz24 分钟前
BeeQuant × BeeAgent:用AI加速策略验证
大数据·人工智能·python·区块链
智商网输送线配件2 小时前
2026 自动化流水线配件采购难题破解:小批量混批与非标定制的供应链实测
大数据·人工智能·自动化·智商网·流水线设备配件
辛迪聊物业数字化2 小时前
智慧物业管理平台架构实践:从SaaS物业云到商管系统的全模块落地
大数据·微服务·php
SelectDB2 小时前
快手基于 Apache Doris 千亿多模态检索的实践
大数据·数据库·数据分析
SelectDB2 小时前
StarRocks 迁移至 Apache Doris 完整指南:三步完成结构、数据与业务平滑切换
大数据·数据库·数据分析
mmsx2 小时前
Android 地图十万要素不卡顿:空间网格 + 渐进式加载的移动端实践
android·大数据·opengl
宁波鹿语心理3 小时前
注意缺陷多动障碍儿童及家庭的心理支持:理解特质,重建价值
大数据