错误有关:在星火1.6.0,得到org.apache.spark.SparkException与spark.driver.maxResultSize
org.apache.spark.SparkException: Job aborted due to stage failure: Total size of serialized results of 1401 tasks (1024.3 MB) is bigger than spark.driver.maxResultSize (1024.0 MB)
我得到这个例外,而在火花外壳调用
sqlContext.cacheTable("TableName")
sqlContext.sql("SELECT COUNT(*) FROM TableName").count()
我明白collect()可能会向驱动程序发送很大的结果,但这里只需要count,所以我不明白为什么会使用1024.3 MB的内存。如果表没有被缓存,那么sql查询就可以正常工作。
我遇到了与RDD.sum相同的问题。 Althoguth,增加spark.driver.maxResultSize解决了这个问题,我仍然困惑为什么RDD.sum会导致分区向驱动程序发回大量数据(超过1GB)。 – bourneli