Jupyter笔记本作为Kedro节点

问题描述

如何将Jupyter Notebook用作Kedro管道中的节点?这与converting functions from Jupyter Notebooks into Kedro nodes不同。我想做的是使用完整的笔记本作为节点。

解决方法

尽管这在技术上是可行的(例如,通过nbconvert),但强烈建议multiple reasons这样做,包括缺乏笔记本电脑的可测试性和可重复性。

最佳做法通常是保留管道节点功能pure(在适用的情况下),这意味着它们不会产生任何副作用。笔记本的工作方式通常与该原则相抵触。

,

AFAIK Kedro 不支持这一点,但 Ploomber 支持(免责声明:我是作者)。任务可以是笔记本、脚本、函数或它们的任意组合。您可以在本地、Airflow 或 Kubernetes(使用 Argo 工作流)运行。

如果使用笔记本或脚本作为管道任务,Ploomber 会在您运行管道时创建一个副本。例如,您可以创建函数来预处理您的数据,并在笔记本中添加一个训练模型的最终任务,这样您就可以利用 ipynb 格式为您的模型训练过程生成报告。

管道声明如下所示:

tasks:
  - source: notebook.ipynb
    product:
      nb: output.html
      data: output.csv

  - source: another.ipynb
    product:
      nb: another.html
      data: another.csv

资源: