18

(数据科学学习手札95)elyra——jupyter lab平台最强插件集

 3 years ago
source link: http://www.cnblogs.com/feffery/p/13692800.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本文示例文件已上传至我的 Github 仓库 https://github.com/CNFeffery/DataScienceStudyNotes

1 简介

jupyter lab 是我最喜欢的编辑器,在过往的文章中也给大家介绍过很多相关资源和实用插件,但本文要给大家介绍的 jupyter lab 插件 elyra ,绝对是我使用过的最强大的 jupyter lab 插件没有之一,因为它的核心功能就是帮助我们解决数据分析工作中非常重要的问题—— 搭建工作流

3eMne2A.png!mobile
图1

2 利用elyra搭建工作流

在安装 elyra 插件集之前,请确保你的 jupyter lab 版本在 2.0 及以上,并且已经安装好了 nodejs 也就是所有 jupyter lab 拓展插件都需要的依赖。

不像常规的 jupyter lab 插件的安装方法,我们执行下列命令即可安装 elyra 下集成的多个插件:

pip install --upgrade elyra && jupyter lab build

安装完之后,你的 jupyter lab 操作界面外观会发生一些变化,我们先记住在安装 elyra 之前我们的 jupyter lab 界面长啥样(我使用的主题感兴趣的朋友可以通过 jupyter labextension install jupyterlab-tailwind-theme 来安装):

Ab2yQbN.png!mobile
图2

而在安装完成重启 jupyter lab 之后,除了左上角的 jupyter logo变化了之外,还新增了图中我用红框框选出来的地方:

Nv2UvqM.png!mobile
图3

接下来我们就来介绍如何利用 elyra 交互式地 搭建工作流

elyra 赋予了我们通过交互的方式将若干个 ipynb 文件组织成工作流的能力,为了方便演示,这里我们创建几个带有简单流程代码的 ipynb 文件:

AzEZz2u.png!mobile
图4 step1.ipynb
nI3eeuq.png!mobile
图5 step2.ipynb
EJNbQnr.png!mobile
图6 step2-1.ipynb
yErUBrb.png!mobile
图7 step2-2.ipynb

接着我们在 Launcher 页面点击 Pipeline Editor 打开用来交互式编辑 notebook流水线 的界面:

IRJfyaq.png!mobile
图8
mqQjQne.png!mobile
图9

直接将侧边栏中对应的 step1.ipynb 文件拖拽进来:

ABNB7fE.gif!mobile
图10

点击流水线界面中 ipynb 文件对应节点右侧的三个圆点,可以打开更多功能选项:

uaimYvM.png!mobile
图11

因为我们是本地环境,所以这里只需要在 properties 下必填参数 Runtime Image 中随便选一个就行:

YFjEFfB.png!mobile
图12

保存之后,就完成了本地环境下单个节点的必要参数设置,同样的将其他 ipynb 文件拖拽进来,各自配置好必要参数再如图13所示将各节点联结起来:

QFNFvyi.gif!mobile
图13

这样我们的流水线就搭建好了,是不是非常滴好玩~,接着点击左上角的运行按钮,输入流水线名称后即可开始运行我们的工作流:

aqI7ruI.png!mobile
图14

工作流执行成功之后也会有提示:

jEb2Qnz.png!mobile
图15

如果工作流执行到某个节点发生程序错误,也会有非常人性化的提示:

uERRJjz.png!mobile
图16

对应出错的 ipynb 错误代码块上方, elyra 也会帮我们创建记录错误信息的 markdown 单元格:

q6nm2aA.png!mobile
图17

最好用的是,配合魔术命令 %store ,我们就可以跨 notebook 传递全局变量,而不需要再往外写出先前节点的结果文件:

利用 %store 变量名 将某个变量转化为跨 kernel 的全局变量:

rieaYbb.png!mobile
图18

利用 %store -r 变量名 将跨 kernel 全局变量中的指定变量加载到当前 kernel 中:

qyima2U.png!mobile
图19

而除了 搭建工作流 这个核心功能外, elyra 还有很多其他的实用功能,感兴趣的朋友可以前往官方文档( https://elyra.readthedocs.io/en/latest/)自行阅读学习。

R3Qv2iy.png!mobile
图20

以上就是本文的全部内容,欢迎在评论区与我进行讨论~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK