谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

借助 Apache Spark 与 GPU 加速数据科学进程

by Canonical on 24 July 2025

一直以来,Apache Spark 始终以通过分区机制实现多节点分布式计算调度而著称,而 CPU 核心则始终在单个分区内完成处理任务。 

鲜为人知的是,Spark 同样可通过 GPU 实现计算加速。在恰当场景中启用 GPU 加速将带来显著优势:基础设施成本与服务器需求大幅降低,查询完成速度相比传统 CPU 计算最高提升 7 倍,且所有加速过程在后台静默完成,无需改造现有 Spark 应用代码。我们激动地宣布,Canonical 团队已借助 NVIDIA RAPIDS 加速器实现 Spark 作业的 GPU 支持,此项技术突破专为破解大规模数据处理中的真实性能瓶颈而研发。

本博客将阐述 Spark 在 GPU 上所提供的优势、实现原理、GPU 的不适用场景,并为您提供如何通过 GPU 启动 Spark 作业的相关指导。

数据科学家为何应关注 Spark 与 GPU 技术

在 GPU 上运行 Apache Spark,是通过发挥 GPU 特定优势来加速大数据分析与处理工作负载的绝佳机会。 

与传统 CPU(通常仅配备少量专为顺序处理设计的核心)不同,GPU 由数千个节能型小型核心组成,这些核心专为同步执行数千条并行线程而设计。这种架构差异使得 GPU 非常适合处理 Spark 工作负载中常见的高度分布式操作。通过将这些操作下放至 GPU,Spark 能够显著提升性能,与纯 CPU 环境相比,查询执行时间可减少数个数量级,通常可将数据处理速度提升 2 到 7 倍。这大幅缩短了组织获取洞察所需的时间,带来质的提升。

就此而言,Apache Spark 的 GPU 加速能力为数据科学家带来了重大优势,尤其是在他们从传统分析转向 AI 应用的过程中。标准的 Spark 工作负载属于 CPU 密集型任务,其分布式特性确实能提供极为强劲的计算能力,但对于 AI 驱动的分析工作负载而言,这种能力可能仍显不足。

另一方面,借助 GPU,数据科学家能够以更高的速度开展工作,处理更大规模的数据,并提升工作效率。这意味着数据科学家能够更快迭代,以交互方式探索数据,并在几乎实时内提供可行见解,这在当今快节奏的决策环境中至关重要。

在加速处理的同时,GPU 加速还能通过将数据工程与机器学习工作负载整合于单一平台,简化数据科学工作流。借助 GPU 加速的 Spark 技术,用户可在一个环境中高效完成数据准备、特征工程、模型训练及推理全流程,无需独立基础设施,也无需在系统间进行复杂的数据迁移。整合工作流既能降低操作复杂性,又可加速端到端数据科学项目的进程。

在 GPU 上运行 Spark 的第三大优势在于可显著降低运营支出。凭借 GPU 强大的单机吞吐性能,企业可用更少的服务器实现媲美甚至超越原有表现的成果。不仅降低成本,同时减少了功耗。这使得大数据分析更具经济可行性与环境可持续性,这些日益凸显的双重优势正成为企业运营的关键所在。

最终,上述所有优势均可通过 NVIDIA RAPIDS 等技术与 Spark 无缝集成而实现,无需代码重写或修改工作流程。这显著降低了 GPU 技术的应用门槛,使用户能全力投入价值快速交付,突破核心效能瓶颈。

何时应依赖传统 CPU?

必须明确指出,并非所有 Spark 工作负载都能从 GPU 加速中同等获益。 

首先,GPU 在处理小规模数据集工作负载时效率不高,因为 GPU 与 CPU 内存之间的数据传输开销可能超过 GPU 加速带来的性能收益。在处理小规模工作负载时,细粒度并行计算无法受益于 GPU 的优势特性。同样,涉及集群内持续性数据交换的工作负载也未必适配。这是因为数据交换过程会导致 CPU 与 GPU 内存间的高昂的数据传输代价,从而显著降低运算速度。

选择 CPU 的另一个充分理由是,当 Spark 作业严重依赖用户自定义函数,且这些函数无法在 GPU 上执行或未针对 GPU 优化时。 

同样,如果工作负载涉及直接操作弹性分布式数据集(RDD),GPU 可能并非是最优选择。这是因为 RAPIDS 加速器目前尚不支持处理此类工作负载,将主动回退至 CPU 执行。最后,还需确保运行环境满足 GPU 加速所需的硬件规格与配置要求。

要确定 GPU 加速在选定环境中是否有效,必须对工作负载执行严格的性能剖析和基准测试双重验证。 

如何使用 GPU 启动 Spark 作业

我们为 Apache Spark 设计的 Charm 组件兼容 Kubernetes 集群管理器,因此要在 Apache Spark 上启用 GPU,必须通过 Pod 和容器进行配置。

首先,您需要部署支持 Apache Spark Rapids 插件的 Charmed Apache Spark OCI 镜像请参阅我们的指南了解具体方法。 

完成部署并准备启动首个作业时,您需创建 Pod 模板以限制每个容器的 GPU 用量。为此,请编辑 Pod 清单文件(gpu_executor_template.yaml),添加以下内容:

edit the pod manifest file (gpu_executor_template.yaml) by adding the following content:

apiVersion: v1
kind: Pod
spec:
  containers:
    - name: executor
      resources:
        limits:
          nvidia.com/gpu: 1

使用 Spark 客户端快照,我们可以提交所需的 Spark 作业,添加一些配置选项以启用 GPU 加速:

spark-client.spark-submit \
    ... \ 
    --conf spark.executor.resource.gpu.amount=1 \
    --conf spark.task.resource.gpu.amount=1 \
    --conf spark.rapids.memory.pinnedPool.size=1G \
    --conf spark.plugins=com.nvidia.spark.SQLPlugin \
    --conf spark.executor.resource.gpu.discoveryScript=/opt/getGpusResources.sh \
    --conf spark.executor.resource.gpu.vendor=nvidia.com \
    --conf spark.kubernetes.container.image=ghcr.io/canonical/charmed-spark-gpu:3.4-22.04_
edge\
    --conf spark.kubernetes.executor.podTemplateFile=gpu_executor_template.yaml
    …

通过 Spark 客户端快照,您可在服务账户层级配置 Apache Spark 设置,使其自动应用于所有作业。请参阅我们的指南,了解如何在服务账户层级管理配置选项。

Spark 搭配 GPU:关键要点总结

简而言之,NVIDIA RAPIDS GPU 加速技术可为 Apache Spark 带来显著性能提升,实现更快的数据处理能力并节省成本,且无需修改代码即可实现。这意味着数据科学家能够更高效地处理更大规模的数据集和更复杂的模型,从而以前所未有的速度生成见解。然而,并非所有工作负载都能同等受益;小规模数据集、过度数据交换或不支持的函数可能导致无法充分发挥 GPU 优势。必须通过细致的性能剖析,才能判定何时采用 GPU 才是性价比最高的选择。总体而言,在 GPU 上运行 Spark,为加速数据科学提供了强大助力,推动创新发展。

准备启动新的大数据项目吗?

联络我们

订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

Canonical 推出适用于 WSL 的 Ubuntu Pro

适用于 WSL 的 Ubuntu Pro 为 Windows 系统中运行的 Ubuntu 24.04 LTS WSL 实例提供一站式安全维护与企业级技术支持。该订阅服务还能为系统管理员提供全面的管理功能。 今日,Canonical 公司宣布适用于 WSL 的 Ubuntu Pro 服务正式全面上市,用户可通过 Microsoft Store 进行安装。源代码及测试版也可在 GitHub 获取。 Canonical 公司与 Microsoft 建立了良好的合作关系,携手打造优质的 WSL 使用体验。本次合作成果将惠及那些借助 WSL 开发生产级 Linux 解决方案的企业开发者。 Craig Loewen,Microsoft WSL 产品经理 Ubuntu Pro 为桌面端 […]

Ubuntu 正式登陆 Qualcomm Dragonwing™ IQ-9075 平台

Ubuntu 系统发行商 Canonical 公司 2025 年 12 月 1 日宣布,推出适用于 Qualcomm Dragonwing™ IQ-9075 平台的官方认证镜像。这款高性能工业平台现已全面适配 Ubuntu 24.04 LTS 的优化镜像并提供完整技术支持。该官方认证镜像同时适用于 Ubuntu 服务器版和桌面版,为开发者打造了坚实且安全的软件基础,可满足下一代工业自动化、机器人技术及边缘 AI 应用的开发需求。 本次发布是在 Ubuntu 全面适配 QCS6490 和 QCS5430 处理器的基础上推出的,也是 Canonical 公司为 Qualcomm Dragonwing™ 系列处理器提供技术支持的最新举措。 适用于边缘 AI 的高可靠性与高性能  […]

Canonical 发布针对 Thundercomm RUBIK Pi 3 的最新优化版 Ubuntu 镜像

Ubuntu 现已直接适配 Thundercomm RUBIK Pi 3 开发板——一款专为 AI 开发者打造、搭载高通 Dragonwing™ QCS6490 处理器的轻量型开发板。 Ubuntu 发行商 Canonical 2025 年 10 月 23 日正式宣布,推出针对 RUBIK Pi 3 开发板(一款基于 Dragonwing QCS6490 打造的强大 AI 开发板)的优化预装版 Ubuntu 镜像。此次新推出的优化版 Ubuntu 镜像即开即用,能有效缩短产品上市时间,同时提供 Canonical 官方长期技术支持。当前 RUBIK Pi 3 用户也可下载和安装新版 Ubuntu 镜像。  Ubuntu 提供驱动的快速 AI 开发平台 AI 行业发展瞬息万 […]