在客户环境跑数据的时候,老是发现数据量稍大的时候,会把磁盘空间跑满,进一步导致任务失败。
而观察下来,发现是在repartition
的时候,出现的问题。repartition
的shuffle read是100G,shuffle write是400G。
回想起以前写的Spark架构-Shuffle(译) 这篇文章,shuffle的时候会写磁盘,所以猜到是这儿的原因。
于是把repartition操作去掉,直接写Hive,就没有问题了.
在客户环境跑数据的时候,老是发现数据量稍大的时候,会把磁盘空间跑满,进一步导致任务失败。
而观察下来,发现是在repartition
的时候,出现的问题。repartition
的shuffle read是100G,shuffle write是400G。
回想起以前写的Spark架构-Shuffle(译) 这篇文章,shuffle的时候会写磁盘,所以猜到是这儿的原因。
于是把repartition操作去掉,直接写Hive,就没有问题了.