33

jupyter平台最强插件没有之一

 3 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA%3D%3D&%3Bmid=2650074902&%3Bidx=2&%3Bsn=f65d6e606d91222a3309f4b79e1da419
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 插件没有之一,因为它的核心功能就是帮助我们解决数据分析工作中非常重要的问题—— 「搭建工作流」

fQbuaqi.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 来安装):

eeaEJzz.png!mobile
图2

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

feaiAru.png!mobile
图3

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

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

qQjuiqU.png!mobile
图4  step1.ipynb
jUJZjui.png!mobile
图5 step2.ipynb
7NNrqiz.png!mobile
图6 step2-1.ipynb
7Fjauyu.png!mobile
图7 step2-2.ipynb

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

vErmmya.png!mobile
图8
22mMFbA.png!mobile
图9

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

nqm2Yvj.gif!mobile
图10

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

zeyEv23.png!mobile
图11

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

N3m2Mb.png!mobile
图12

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

BV7RVb2.gif!mobile
图13

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

ERNfYzE.png!mobile
图14

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

fU7RryF.png!mobile
图15

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

Ur63me.png!mobile
图16

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

emuAVvr.png!mobile
图17

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

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

U3EfIbV.png!mobile
图18

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

nQFneqn.png!mobile
图19

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

yaQBN3e.png!mobile
图20

近期文章

Python网络爬虫与文本数据分析

rpy2库 | 在jupyter中调用R语言代码

tidytext | 耳目一新的R-style文本分析库

reticulate包 | 在Rmarkdown中调用Python代码

plydata库 | 数据操作管道操作符>>

七夕礼物 | 全网最火的钉子绕线图制作教程

读完本文你就了解什么是文本分析

文本分析在经管领域中的应用概述

综述:文本分析在市场营销研究中的应用

plotnine: Python版的ggplot2作图库

小案例: Pandas的apply方法   

stylecloud:简洁易用的词云库  

用Python绘制近20年地方财政收入变迁史视频   

Wow~70G上市公司定期报告数据集

漂亮~pandas可以无缝衔接Bokeh

YelpDaset: 酒店管理类数据集10+G

分享 ”和“ 在看 ”是更好的支持!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK