在rdd.saveAsHadoopFile中重用SparkHadoopWriter

时间:2016-01-20 01:53:08

标签: hadoop apache-spark garbage-collection

Spark rdd.saveAsHadoopFile非常浪费,因为它会在每次写入时生成一个新的SparkHadoopWriter。我们有一个用例,其中Spark作业的备份只是因为这些Writers上的gc无法跟上传入的流。

是否有人重新实现了这个方法,其中SparkHadoopWriter被重用,基于让我们说出写目标是哪个桶。如果我走向那个方向,那么为什么努力会失败会有任何建筑理由吗?

1 个答案:

答案 0 :(得分:0)

<entry name="/cf"/>在执行程序上执行,如果我们想重用hornetq-jms.xml的实例,那么每次执行程序执行作业时,我们可能需要执行序列化和反序列化。

虽然在架构上你可以重新编写Spark-Core代码,或者可以扩展RDD.saveAsHadoopFileSparkHadoopWriter并添加用于序列化/反序列化的代码并重用RDD但在我的您需要序列化或反序列化时可能会增加更多开销的透视图。

虽然不确定你的用例但是通常(尽管有例外)很好地拥有没有序列化的独立代码单元(除非需要)以便它创建对象并且一旦作业完成它就会破坏对象。虽然如果需要,我们可以调整JVM来处理对象的创建/删除。