0

我正在对使用 tpch-dbgen 生成的 CSV 运行一些 sql 查询。为简单起见,我使用一个线程/任务运行它,并查看时间轴中的间隙,如附图所示。是磁盘操作吗?这种开销可以以某种方式放松或优化吗?我怎么能确定那里到底发生了什么?

探查器时间线

4

1 回答 1

0

这可能是在 GPU 处理之前缓冲来自分布式文件系统的文件输入和 Spark 压缩并将任务输出写入磁盘作为 shuffle 的一部分的组合(尚不清楚此查询是否具有来自显示的配置文件部分的 shuffle)。

RAPIDS Accelerator 和 cudf jar 中有一些 Java 级别的 NVTX 范围可以帮助提供更多的可见性。添加

--conf spark.executor.extraJavaOptions="-Dai.rapids.cudf.nvtx.enabled=true"

到 Spark 命令行以启用这些 NVTX 范围,这些范围应显示在收集的 GPU 配置文件中。

另请参阅https://nvidia.github.io/spark-rapids/docs/tuning-guide.html以获取有关为 Apache Spark 调整 RAPIDS 加速器的提示。

于 2021-06-21T17:36:41.480 回答