2

问题很简单:

master_dim.py调用dim_1.pydim_2.py并行执行。这在databricks pyspark中可能吗?

下图解释了我想要做什么,它由于某种原因出错,我在这里遗漏了什么吗?

在此处输入图像描述

4

2 回答 2

3

您的问题是您仅Test/将第一个参数作为第一个参数传递给dbutils.notebook.run(要执行的笔记本的名称),但您没有具有该名称的笔记本。

您需要修改路径列表 from['Threading/dim_1', 'Threading/dim_2']['dim_1', 'dim_2']替换dbutils.notebook.run('Test/', ...)dbutils.notebook.run(path, ...)

或更改dbutils.notebook.run('Test/', ...)dbutils.notebook.run('/Test/' + path, ...)

于 2021-08-26T12:12:31.863 回答
0

只是为了其他人,以防他们追求它的工作原理:

from multiprocessing.pool import ThreadPool
pool = ThreadPool(5)
notebooks = ['dim_1', 'dim_2']
pool.map(lambda path: dbutils.notebook.run("/Test/Threading/"+path, timeout_seconds= 60, arguments={"input-data": path}),notebooks)
于 2021-08-26T23:44:16.510 回答