谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭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,为加速数据科学提供了强大助力,推动创新发展。

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

联络我们

订阅博客文章

订阅您感兴趣的主题

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

查看更多内容

NVIDIA Jetson Thor 将支持运行 Ubuntu

Ubuntu 系统即将对 NVIDIA 的 Jetson Thor 系列产品提供官方支持,将与 NVIDIA 继续展开战略合作,共同推动边缘 AI 创新。Canonical 的官方支持将提供优化的 Ubuntu 镜像以及企业级的稳定性与安全性保障。该长期支持及安全更新承诺,可以确保 Ubuntu 系统与 NVIDIA Jetson 系统级模块的组合具备企业级的稳定性与可靠性。 NVIDIA Jetson Thor:一款适用于物理 AI 和机器人技术的强大边缘平台 NVIDIA 近期宣布推出 Jetson AGX Thor 开发人员套件及 Jetson Thor™ 系列模块。NVIDIA Jetson AGX Thor 开发人员套件是一款面向人形机器人技术与物理 AI 应用 […]

通过裸机自动化方案,降低数据中心能源成本

全球各地的数据中心正如雨后春笋般涌现。随着 AI、云服务、流媒体平台和联网设备的快速增长,计算需求持续增长,而数据中心正处于这一切的中心。诚然,数据中心对数字经济至关重要,但其能耗却构成了重大挑战。 遗憾的是,数据中心的大部分能源未能得到有效利用。令人惊讶的是,相当大一部分能源消耗在上电但空闲的物理机上。鉴于自动化和类似 Canonical MAAS(裸机即服务)的工具能带来显著改善,这种情况不仅是资源浪费,更是毫无必要。在本博客中,我们将探讨如何通过智能自动化工具提升数据中心能效,减少电力浪费。 现代数据中心面临的能源挑战 数据中心耗电量巨大的原因显而易见:服务器、冷却系统、网络基础设施,这一系列设备的累积叠加导致耗电巨大。工作负载越强大(例如大规模 AI 训练或视频处 […]

Broadcom 与 Canonical 扩展合作,优化 VMware Cloud Foundation 以适应现代化容器及 AI 工作负载

合作将行业领先的云操作系统与行业首个统一私有云平台结合到一起,加速云原生技术创新 Broadcom Inc.(博通公司,纳斯达克: AVGO)与 Canonical 宣布扩展合作,助力客户以更快、更安全地交付基于现代化容器的应用程序以及 AI 应用程序。此次合作将 Canonical 备受信赖的开源软件与业内首个统一私有云平台 VMware Cloud Foundation 相结合,助力客户加快创新步伐,同时降低成本和风险。 “Broadcom 推出了业内首个面向现代化私有云的统一私有云平台 VCF。Canonical 则是引领了开源创新领域的发展,并且还发行了全球领先的云操作系统 Ubuntu。” Broadcom VMware 云基金会部门产品副总裁 Paul Tur […]