问题很简单:
master_dim.py调用dim_1.py和dim_2.py并行执行。这在databricks pyspark中可能吗?
下图解释了我想要做什么,它由于某种原因出错,我在这里遗漏了什么吗?
问题很简单:
master_dim.py调用dim_1.py和dim_2.py并行执行。这在databricks pyspark中可能吗?
下图解释了我想要做什么,它由于某种原因出错,我在这里遗漏了什么吗?
您的问题是您仅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, ...)
只是为了其他人,以防他们追求它的工作原理:
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)