无需代码更改即可加速 Apache Spark

概述

欢迎来到 LaunchPad 动手实验,本实验将引导您了解如何使用 NVIDIA RAPIDS 加速 Apache Spark 3 中的操作。在本实验中,您将可以使用 Apache Spark 集群,该集群在加速计算基础设施上运行,并集成了 RAPIDS Accelerator for Apache Spark。此插件利用 GPU 通过 RAPIDS 库加速处理。

RAPIDS Accelerator for Apache Spark 通过显著提高 Spark SQL 和 DataFrame 操作的性能来拦截和加速 ETL 管道。Spark 3 在 Catalyst 查询优化器中提供列式处理支持,RAPIDS Accelerator 正是插入到其中以加速 SQL 和 DataFrame 运算符,无需任何代码更改。当查询计划执行时,这些运算符可以在 Spark 集群内的 GPU 上运行。

RAPIDS Accelerator 库还具有基于 UCX 的内置加速 shuffle,可以配置为利用 GPU 到 GPU 的通信和 RDMA 功能(本实验中未演示)。

Rapids Accelerator for Apache Spark 在节省基础设施成本的同时,收获 GPU 性能的优势。

spark-rapids-001.png

*FannieMae 抵押贷款数据集 (~200GB) 的 ETL,如我们的演示所示。成本基于 Databricks Standard 版本上 Cloud T4 GPU 实例的市场价格

无需任何代码更改即可运行您现有的 Apache Spark 应用程序。使用 RAPIDS Accelerator for Apache Spark 插件 jar 启动 Spark 并启用配置设置

复制
已复制!
            

spark.conf.set('spark.rapids.sql.enabled','true')

以下是在 GPU 上运行运算符的物理计划示例

复制
已复制!
            

== Physical Plan == GpuColumnarToRow false +- GpuProject [cast(c_customer_sk#0 as string) AS c_customer_sk#40] +- GpuFileGpuScan parquet [c_customer_sk#0] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex[file:/tmp/customer], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<c_customer_sk:int>

了解更多关于如何开始的信息。

单一管道,从摄取到数据准备再到模型训练

spark-rapids-002.png

© 版权所有 2022-2023,NVIDIA。 上次更新于 2023 年 6 月 23 日。