我正在对使用tpch-dbgen生成的CSV运行一些sql查询。为了简单起见,我用一个线程/任务运行它,并查看时间线中的间隙,如所附图像所示。是磁盘操作吗?这种开销能以某种方式放松或优化吗?我如何才能确定那里到底发生了什么?
发布于 2021-06-22 01:36:41
这可能是在GPU处理和Spark压缩之前缓冲来自分布式文件系统的文件输入,并将任务输出作为shuffle的一部分写入磁盘的组合(不清楚此查询是否来自所示配置文件的部分)。
RAPIDS Accelerator和cudf jars中都有一些Java级别的NVTX范围,可以帮助提供更高的可见性。添加
--conf spark.executor.extraJavaOptions="-Dai.rapids.cudf.nvtx.enabled=true"
添加到Spark命令行以启用这些NVTX范围,这些范围应显示在收集的GPU配置文件中。
有关调整Apache Spark的RAPIDS Accelerator的提示,请参阅https://nvidia.github.io/spark-rapids/docs/tuning-guide.html。
https://stackoverflow.com/questions/68059348
复制相似问题