我有一个简单的Spark Job,只需读取文本文件并使用saveAsTextFile将其写入另一个文件。听起来很简单。
sc.textFile("src.csv").saveAsTextFile("dst_path")
只有Spark会运行到特定任务然后停止。我在本地伪分布式模式活动监视器上看到了kernel_task中的一个巨大峰值。最后,它在10小时内出现内存不足错误。
配置:
我错过了什么?我猜它必须与垃圾收集器做一些事情。从我读到的是Spark读取和流式传输记录。那么,在没有转换的情况下,为什么会尝试将它存储在RAM中呢?
PS: 我为什么要使用spark来复制?不重要。我尝试过一项复杂的工作。但问题归结为仅访问大文件。