Jupyter
综述
Jupyter任务类型,用于创建并执行Jupyter类型任务。worker 执行该任务的时候,会通过papermill执行jupyter note。
点击这里 获取更多关于papermill的信息。
Conda虚拟环境配置
- 在
common.properties配置conda.path,将其指向您的conda.sh。这里的conda应该是您用来管理您的papermill和jupyter所在python环境的相同conda。 点击 这里 获取更多关于conda的信息. conda.path默认设置为/opt/anaconda3/etc/profile.d/conda.sh。 如果您不清楚您的conda环境在哪里,只需要在命令行执行conda info | grep -i 'base environment'即可获得。
注意:
Jupyter任务插件使用source命令激活conda环境, 如果您的租户没有source命令使用权限,Jupyter任务插件将无法使用。
Python依赖管理
使用预装好的Conda环境
- 手动或使用
shell任务在您的目标机器上创建conda环境。 - 在您的
jupyter任务中,将condaEnvName设置为您在上一步创建的conda环境名。
使用打包的Conda环境
- 使用 Conda-Pack 将您的conda环境打包成
tarball. - 将您打包好的conda环境上传到
资源中心. - 在您的
jupyter任务资源设置中,添加您在上一步中上传的conda环境包,如jupyter_env.tar.gz.
提示: 请您按照 Conda-Pack 官方指导打包conda环境, 正确打包出的conda环境包解压后文件目录结构应和下图完全一致:
.├── bin├── conda-meta├── etc├── include├── lib├── share└── ssl
注意: 请严格按照上述
conda pack指示操作,并且不要随意修改bin/activate。Jupyter任务插件使用source命令激活您打包的conda环境。 若您对使用source命令有安全性上的担忧,请使用其他方法管理您的python依赖。
由依赖需求文本文件临时构建
- 在
资源中心创建或上传.txt格式的python依赖需求文本文件。 - 将
jupyter任务中的condaEnvName参数设置成您的python依赖需求文本文件,如requirements.txt。 - 在您
jupyter任务的资源中选取您的python依赖需求文本文件,如requirements.txt。
如下是一个依赖需求文本文件的样例,通过该文件,jupyter任务插件会自动构建您的python依赖,并执行您的python代码,
执行完成后会自动释放临时构建的环境。
fastjsonschema==2.15.3fonttools==4.33.3geojson==2.5.0identify==2.4.11idna==3.3importlib-metadata==4.11.3importlib-resources==5.7.1ipykernel==5.5.6ipython==8.2.0ipython-genutils==0.2.0jedi==0.18.1Jinja2==3.1.1json5==0.9.6jsonschema==4.4.0jupyter-client==7.3.0jupyter-core==4.10.0jupyter-server==1.17.0jupyterlab==3.3.4jupyterlab-pygments==0.2.2jupyterlab-server==2.13.0kiwisolver==1.4.2MarkupSafe==2.1.1matplotlib==3.5.2matplotlib-inline==0.1.3mistune==0.8.4nbclassic==0.3.7nbclient==0.6.0nbconvert==6.5.0nbformat==5.3.0nest-asyncio==1.5.5notebook==6.4.11notebook-shim==0.1.0numpy==1.22.3packaging==21.3pandas==1.4.2pandocfilters==1.5.0papermill==2.3.4
创建任务
- 点击项目管理-项目名称-工作流定义,点击”创建工作流”按钮,进入DAG编辑页面。
- 工具栏中拖动
到画板中,即可完成创建。
任务参数
- 默认参数说明请参考DolphinScheduler任务参数附录
默认任务参数一栏。
| 任务参数 | 描述 |
|---|---|
| Conda Env Name | Conda环境或打包的Conda环境包名称 |
| Input Note Path | 输入的jupyter note模板路径 |
| Output Note Path | 输出的jupyter note路径 |
| Jupyter Parameters | 用于对接jupyter note参数化的JSON格式参数 |
| Kernel | Jupyter notebook 内核 |
| Engine | 用于执行Jupyter note的引擎名称 |
| Jupyter Execution Timeout | 对于每个jupyter notebook cell设定的超时时间 |
| Jupyter Start Timeout | 对于jupyter notebook kernel设定的启动超时时间 |
| Others | 传入papermill命令的其他参数 |
任务样例
简单的Jupyter任务样例
这个示例展示了如何创建Jupyter任务节点:

