【问题标题】:Execute multiple notebooks in parallel in pyspark databricks在 pyspark databricks 中并行执行多个笔记本
【发布时间】:2023-03-24 21:18:02
【问题描述】:

问题很简单:

ma​​ster_dim.py 调用 dim_1.pydim_2.py 并行执行。这在databricks pyspark中是否可行?

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

【问题讨论】:

    标签: databricks azure-databricks aws-databricks databricks-community-edition


    【解决方案1】:

    您的问题是您仅将 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, ...)

    【讨论】:

      【解决方案2】:

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

      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)
      

      【讨论】:

      • 您可以只使用path - 在这种情况下,如果path 不是绝对的,则将项目移动到新文件夹等会更容易,那么它会被视为相对于当前笔记本
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-22
      • 2020-12-21
      • 1970-01-01
      相关资源
      最近更新 更多