在 pyspark databricks 中并行执行多个笔记本

Cha*_*dra 8 amazon-web-services databricks azure-databricks aws-databricks databricks-community-edition

问题很简单:

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

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

在此输入图像描述

Cha*_*dra 16

仅供其他人使用,以防他们了解其工作原理:

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


Ale*_*Ott 5

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

['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, ...)