繁体   English   中英

高效地并行运行 Pyspark 函数

[英]Run Pyspark functions in parallel efficiently

我有一个具有 3 个功能的 pyspark 代码。 第一个 function 是加载一些数据并为其他两个功能做准备。 其他两个函数使用这个 output 并执行一些任务并生成相应的输出。

所以代码看起来像这样,

def first_function():
    # load data
    # pre-process
    # return pre-processed data

def second_function(output_of_first_function):
    # tasks for second function
    # return output

def third_function(output_of_first_function):
    # tasks for third function
    # return output

这些函数是从一个主 function 调用的,如下所示,

def main():
    output_from_first_function = first_function()
    output_from_second_function = second_function(output_from_first_function)
    output_from_third_function = third_function(output_from_first_function)

second_function 和 third_function 之间没有相互依赖关系。 我正在寻找一种同时并行运行这两个功能的方法。 这些函数内部发生了一些转换。 因此,并行帮助这些功能可能会有所帮助。

如何并行运行 second_function 和 third_function? 这些函数中的每一个应该创建自己的火花上下文还是可以共享火花上下文?

从您的问题来看,您似乎并不需要 pyspark。 我认为您应该考虑使用 Python 线程库。 如本文所述: 如何使用 PySpark 并行运行独立转换?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM