如何解释Spark Stage UI中的输入大小/记录

时间:2017-11-03 15:15:15

标签: apache-spark

我正在查看我正在运行的工作阶段的Spark UI(Spark v1.6.0),我不明白如何解释它告诉我的内容: Spark stage UI “随机写入大小/记录”列中的记录数是有意义的,这些数字与我正在处理的数据一致。

我不明白的是“输入大小/记录”中的数字。它们表明传入的数据在每个分区中只有约67条记录;这个工作有200个分区,所以总共有1200个记录。我不知道这是指什么,这个作业的输入数据集(使用SparkSQL实现)都没有约1200条记录。

所以,我对这些数字所指的内容感到困惑。谁能开导我?

1 个答案:

答案 0 :(得分:4)

输入尺寸/记录太低。这意味着,您的任务一次只执行大约14 MB的数据,这些数据太低。拇指规则是它应该是128 MB。

您可以通过将HDFS块大小更改为128 MB(hdfs.block.size134217728来更改此项,或者如果您从AWS S3 Storage访问,则可以将fs.s3a.block.size设置为{{ 1}}在134217728文件

更改此项也会减少数量。

接下来是随机播放写入大小/记录太高。这意味着很多数据在shuffle之间进行交换,这是一项昂贵的操作。你需要查看你的代码,看看你是否可以对它进行优化,或者将你的操作编写得不同,以免它变得太乱。