Bug信息
org.apache.spark.SparkException: Job aborted due to stage failure: Total size of serialized results of x tasks (y MB) is bigger
than spark.driver.maxResultSize (z MB)
Bug本质
程序返回给driver端的序列化数据大小超过了spark.driver.maxResultSize的限制,默认该值为1GB。
什么是序列化
序列化是在网络传输过程中将数据对象转换为一系列字节的处理。在我们的Spark场景中,executor之间或driver和executor之间的数据传输是通过序列化数据进行的。
spark.driver.maxResultSize
根据Spark官方文档,Spark.driver.maxResultSize定义了驱动程序可以为每个Spark收集操作存储的序列化结果总大小的最大限制(数据以字节为单位)。有时,此属性也有助于Spark应用程序的