/ / Oozie e Spark Integration - hadoop, apache-spark, oozie

Integrazione di Oozie e Spark - hadoop, apache-spark, oozie

Oozie versione 4.2.0 supporta l'azione Spark che viene eseguita come lavoro Spark, è possibile condividere l'RDD tra l'azione, ad es. la mia unica azione leggerà il file ed eseguirà alcune trasformazioni e creerà un RDD, dite rdd1 e quindi salvate (Spark Action) in HDFS, ora è possibile che un'altra azione di oozie richieda rdd1 ed esegua alcune trasformazioni e azioni.

Quanto sopra è possibile attraverso una singola classe di driver Spark ma sto cercando una soluzione oozie in quanto la classe del driver Spark sarà molto complicata per un flusso di lavoro complesso.

Grazie in anticipo per la risposta.

Saluti, Gouranga Basak

risposte:

0 per risposta № 1

Una soluzione potrebbe essere utilizzata spark jobserver utilizzare lo stesso contesto spark in più lavori.

Un'altra soluzione potrebbe essere l'utilizzo Tachyon fare fondamentalmente ciò che hai descritto sopra e memorizzare il risultato intermedio in tachyon, che lo tiene in memoria per quando il lavoro successivo lo usa.

Tuttavia, il modo migliore per farlo è molto probabileper refactoring la pipeline in modo che possa essere eseguita nello stesso contesto, o semplicemente affrontare il colpo di prestazioni. Puoi salvare un rdd in hdf e ricaricarlo di nuovo usando:

# In job 1
rdd.saveAsObjectFile("path")

# In job 2
sc.objectFile[MyClass]("path")