Spark rdd.saveAsHadoopFile非常浪费,因为它会在每次写入时生成一个新的SparkHadoopWriter。我们有一个用例,其中Spark作业的备份只是因为这些Writers上的gc无法跟上传入的流。
是否有人重新实现了这个方法,其中SparkHadoopWriter被重用,基于让我们说出写目标是哪个桶。如果我走向那个方向,那么为什么努力会失败会有任何建筑理由吗?
答案 0 :(得分:0)
<entry name="/cf"/>
在执行程序上执行,如果我们想重用hornetq-jms.xml
的实例,那么每次执行程序执行作业时,我们可能需要执行序列化和反序列化。
虽然在架构上你可以重新编写Spark-Core代码,或者可以扩展RDD.saveAsHadoopFile
和SparkHadoopWriter
并添加用于序列化/反序列化的代码并重用RDD
但在我的您需要序列化或反序列化时可能会增加更多开销的透视图。
虽然不确定你的用例但是通常(尽管有例外)很好地拥有没有序列化的独立代码单元(除非需要)以便它创建对象并且一旦作业完成它就会破坏对象。虽然如果需要,我们可以调整JVM来处理对象的创建/删除。