小编pre*_*jha的帖子

如何使用PySpark并行运行独立转换?

我试图运行2个函数,使用PySpark在一个RDD上进行完全独立的转换.有什么方法可以做同样的事情?

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()
Run Code Online (Sandbox Code Playgroud)

这不起作用,我现在明白这不起作用.但有没有其他方法可以使这项工作?特别是有任何python-spark特定解决方案吗?

python-2.7 apache-spark apache-spark-sql python-multiprocessing pyspark

12
推荐指数
1
解决办法
4287
查看次数