oozie和spark集成

u5rb5r59  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(250)

oozie版本4.2.0支持spark action作为spark作业运行,是否可以在action之间共享rdd例如,我的一个action将读取文件并执行一些转换,然后创建一个rdd,比如rdd1,然后将(spark action)保存到hdfs,现在是否可以让另一个oozie action执行rdd1并执行一些转换和操作。
以上是可能的,通过单Spark驱动程序类,但我正在寻找oozie解决方案,因为Spark驱动程序类将是非常复杂的复杂的工作流。
提前谢谢你的回答。
你好,古兰加·巴萨克

fae0ux8s

fae0ux8s1#

一种解决方案是使用spark jobserver跨多个作业使用相同的spark上下文。
另一个解决方案是使用超光速子来完成上面描述的工作,并将中间结果存储到超光速子中,以便下次作业使用它时将其保存在内存中。
但是,最好的方法是重构管道,使其可以在相同的上下文中执行,或者简单地处理性能问题。您可以将rdd保存到hdfs中,然后使用以下方法重新加载:


# In job 1

rdd.saveAsObjectFile("path")

# In job 2

sc.objectFile[MyClass]("path")

相关问题