【发布时间】:2020-09-14 20:49:40
【问题描述】:
如何将 Jupyter Notebook 用作 Kedro 管道中的节点?这与converting functions from Jupyter Notebooks into Kedro nodes 不同。我想要做的是使用完整的笔记本作为节点。
【问题讨论】:
标签: python jupyter-notebook data-pipeline kedro
如何将 Jupyter Notebook 用作 Kedro 管道中的节点?这与converting functions from Jupyter Notebooks into Kedro nodes 不同。我想要做的是使用完整的笔记本作为节点。
【问题讨论】:
标签: python jupyter-notebook data-pipeline kedro
尽管这在技术上是可行的(例如,通过 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
资源:
【讨论】: