2016-08-29 5 views
0

Nehmen wir an, ich habe eine DataFrame in Spark und ich muss die Ergebnisse davon in zwei Datenbanken schreiben, wo man den ursprünglichen Datenrahmen speichert, aber der andere speichert eine leicht modifizierte Version (z. B. Tropfen einige Säulen). Da beide Operationen einige Zeit in Anspruch nehmen können, ist es möglich/ratsam, diese Operationen parallel auszuführen, oder führt dies zu Problemen, weil Spark parallel an demselben Objekt arbeitet?Paralleles Schreiben von demselben Datenrahmen in Spark

+0

Spark parallelisiert bereits Transformationen/Aktionen (also schreiben) und Sie können auch nicht parallelisiert 2 parallelisierte Transformationen/Aktionen. Das macht für den Scheduler keinen Sinn. – eliasah

+0

Sie können scala future verwenden –

Antwort

0
import java.util.concurrent.Executors 
import scala.concurrent._ 

implicit val ec = ExecutionContext.fromExecutor(Executors.newFixedThreadPool(10)) 

def write1(){ 
//your save statement for first dataframe 
} 


def write2(){ 
//your save statement for second dataframe 
} 

def writeAllTables() { 
Future{ write1()} 
Future{ write2()} 
} 
+0

Meine Frage ist, ob es Sinn macht, dies zu tun (nicht wie) oder ob ich in Nebenläufigkeitsprobleme stoßen würde. – Ian