Wie führe ich mithilfe von PySpark parallel unabhängige Transformationen durch?
Ich versuche, mit PySpark 2 Funktionen auszuführen, die vollständig unabhängige Transformationen auf einer einzelnen RDD gleichzeitig ausführen. Was sind einige Methoden, um dasselbe zu tun?
def doXTransforms(sampleRDD):
(X transforms)
def doYTransforms(sampleRDD):
(Y Transforms)
if __name__ == "__main__":
sc = SparkContext(appName="parallelTransforms")
sqlContext = SQLContext(sc)
hive_context = HiveContext(sc)
rows_rdd = hive_context.sql("select * from tables.X_table")
p1 = Process(target=doXTransforms , args=(rows_rdd,))
p1.start()
p2 = Process(target=doYTransforms, args=(rows_rdd,))
p2.start()
p1.join()
p2.join()
sc.stop()
Dies funktioniert nicht und ich verstehe jetzt, dass dies nicht funktionieren wird. Aber gibt es eine alternative Möglichkeit, diese Arbeit zu machen? Speziell gibt es irgendwelche Python-Funken-spezifischen Lösungen?