我们正在使用带有6个奴隶的火花1.6。每个从站有大约64 GB的RAM。我们正在将csv文件转换为数据帧并加入它们。其中一个文件大约50gb,另一个是拉链大约25 MB。即使有这么多RAM,这个过程也会崩溃。大文件有几百万行。内存与文件大小是否有经验法则。将文件视为平面文件而不是CSV帮助?
答案 0 :(得分:0)
您可以通过增加spark.sql.shuffle.partitions来尝试查看是否有效,默认为200,所以尝试增加到2048,玩一下,看看是否有帮助。
在你的情况下,最好的方法是将df转换为RDD并通过HashPartitioner对RDD进行分区。