首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在气流中运行jupyter笔记本

如何在气流中运行jupyter笔记本
EN

Stack Overflow用户
提问于 2018-07-29 01:38:48
回答 3查看 10.3K关注 0票数 12

我的代码是用jupyter编写的,并保存为.ipynb格式。

我们希望使用airflow来调度执行并定义依赖项。

如何在气流中执行笔记本?

我知道我可以先将它们转换成python文件,但在运行时生成的图形将很难处理。

有没有更简单的解决方案?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-07-26 17:39:11

您也可以组合使用airflow + papermill

造纸厂

Papermill是一个运行jupyter notebook的工具,带参数:https://github.com/nteract/papermill运行jupyter notebook非常简单,你可以从python脚本中运行:

代码语言:javascript
复制
import papermill as pm

pm.execute_notebook(
   'path/to/input.ipynb',
   'path/to/output.ipynb',
   parameters = dict(alpha=0.6, ratio=0.1)
)

或从CLI:

代码语言:javascript
复制
$ papermill local/input.ipynb s3://bkt/output.ipynb -p alpha 0.6 -p l1_ratio 0.1

它将从输入路径运行一个notebook,在输出路径中创建一个副本,并在每个单元格运行后更新此副本。

气流集成

为了将其与Airflow集成,有一个专门的造纸厂操作员用于运行参数化笔记本:https://airflow.readthedocs.io/en/latest/howto/operator/papermill.html您可以直接在DAG定义中设置相同的输入/输出/参数参数,并对aifrlow变量使用模板:

代码语言:javascript
复制
run_this = PapermillOperator(
    task_id="run_example_notebook",
    dag=dag,
    input_nb="/tmp/hello_world.ipynb",
    output_nb="/tmp/out-{{ execution_date }}.ipynb",
    parameters={"msgs": "Ran from Airflow at {{ execution_date }}!"}
)
票数 11
EN

Stack Overflow用户

发布于 2018-07-29 01:38:48

我们以前遇到过这个问题,花了相当多的时间来解决它。我们将其打包为docker文件并发布到github https://github.com/michaelchanwahyan/datalab上。

它是通过修改开放源码包nbparameterize并集成传递参数(如execution_date. )来完成的动态生成的图形也可以在笔记本中更新和保存。

当它执行时

  1. notebook将被读取并注入参数
  2. notebook将被执行,并且输出将覆盖原始路径

此外,还安装和配置了spark、keras、tensorflow等常用工具。

票数 6
EN

Stack Overflow用户

发布于 2021-03-29 13:33:10

另一种选择是使用Ploomner (免责声明:我是作者)。它使用引擎盖下的造纸厂来建造多级管道。任务可以是笔记本、脚本、函数或它们的任意组合。您可以在本地运行、Airflow或Kubernetes (使用Argo工作流)。

这是管道声明的样子:

代码语言:javascript
复制
tasks:
  - source: notebook.ipynb
    product:
      nb: output.html
      data: output.csv

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51573768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档