Python核心分裂多处理



我正在使用python执行复杂的SQL查询,并在单个数据框架中附加结果。我在许多SQL数据库中使用简单的替换数据库名称从列表中执行相同的查询。有什么办法可以加快这一点吗?我的计算机上有几个内核。

您可以使用joblib.parallel(https://pythonhosted.org/joblib/joblib/parallel.html(。

例如。

from joblib import Parallel, delayed
def your_function_that_queries(your_functions_input1,your_functions_input_2,sql_name):
    foo(your_functions_input1,your_functions_input_2)
    resultblock = bar()
    return resultblock
temp_results = Parallel(n_jobs=number_of_parallel_processes_you_want)(delayed(your_function_that_queries)(your_functions_input1,your_functions_input_2,sql_name) for sql_name in sql_list)
# now process the list of resultblocks returned by Parallel
#e.g.
for resultblock in temp_results:
    pd.Dataframe.append or something

只需提防Parallels函数调用,延迟(函数((功能参数(而不是延迟(function(functionParameters((。

最新更新