Jupyter最佳实践
广受各大企业赞助的jupyter团队所开发的jupyter系列产品(主要包括jupyter notebook、jupyterlab和jupyterhub),在数据科学领域变得越来越火热,依托python强大的语言生态,得益于其良好的扩展性和友好的用户交互,jupyter逐渐成为数据分析可视化的首选开源工具之一,下面将对数据分析实践过程中针对jupyter的调研分析进行小结.如果你正在使用python语言进行相关数据分析,本文所记录的jupyter相关实践可能对你会有所帮助。
文章的部分内容被密码保护:
本文将主要从jupyter产品介绍、产品(jupyter notebook、jupyter lab和jupyterhub)的安装试用、jupyter 扩展优化、以及jupyter竞品分析等四大方面对jupyter的实践进行一个简短的介绍和回顾:
jupyter产品介绍:
根据jupyter官方网站,jupyter产品主要包括jupyter notebook、jupyter lab和jupyterhub三款产品,根据文章jupyter notebook、jupyterlab与jupyterhub的区别与联系
1,三者的联系和区别如下:
- jupyter notebook提供了一个交互友好的类webIDE环境,但Jupyter Notebook 是传统的单体服务架构模式, 缺少多用户管理和访问认证等方面的功能, 无法直接部署于计算集群上, 难以充分利用和调度计算中心的计算资源 。
- jupyter lab提供了单用户管理和认证,没有提供独立的工作空间,与jupyter notebook相比,功能更为丰富。
- jupyter hub提供了多用户管理和认证,支持OAuth协议,为用户提供了独立的工作空间,工作内容可以私有不共享。
在了解了jupyter系列产品后,就可以进行产品的安装和使用了。当然你也可以参考这些文章22和33、44、55来快速入门jupyter的使用.
产品安装使用
安装
根据以上的产品介绍,可以根据自己的需求选择安装jupyter notebook、jupyter lab还是jupyterhub。具体参考建议如下:
- 个人本地使用,安装快速方便–jupyter notebook
- 个人使用,可能会远程操作,需要额外的安装工作–jupyter lab
- 小型团队使用,可能需要额外的运维工作– jupyter hub
安装jupyter notebook
jupyter notebook目前已经包含在Anaconda安装包中,随Anaconda将一同安装,不需要额外的安装操作,如果你想了解更多jupyter notebook安装细节,可以参考文章6和文章7。
安装jupyter lab
jupyter lab可以通过pip,conda命令(Anaconda环境)作为jupyter notebook的扩展进行选装。
安装命令如下:
|
|
使用过程中,jupyterlab的作用更像一个功能强大的webshell,除支持文件上传,命令行等操作外,能够更直观地管理jupyter notebook的其他扩展。
安装jupyterhub
jupyterhub的docker化安装步骤如下:
|
|
使用
启动jupyter
- 启动jupyter notebook
1
jupyter notebook # 更多命令可额外输入--help进行查看
- 启动jupyter lab
1
jupyter lab # 更多命令可额外输入--help进行查看
excel表格处理
jupyternotebook中使用pandas可以方便的处理excel文件,简单的差集、并集、交集运算使用几句简单的代码即可完成。
数据可视化分析
结合pandas工具包可以非常方便的进行数据的基础分析,使用plot工具包可以完成交互性比较友好的动态数据分析图表。
jupyter扩展
为了提升jupyter的使用体验,目前已经有非常多的jupyter扩展可供使用,其范围除了优化其本身可视化交互体验之外,还涵盖了排版、多语言支持等功能。
文章88介绍了常用的99种jupyter扩展,
文章99中所介绍的扩展主要围绕人工智能(AI)进行展开,
文章1010介绍了提升jupyter使用环境体验的相关实践,
文章1111介绍了扩展jupyter的99种方法,
文章1212介绍了生成pages的方法,
文章1313中通过低代码方式使用jupyter notebook,进一步降低了jupyter的难度、提高了jupyter的交互友好度。
文章1414主要介绍了jupyter notebook的基础架构,如果需要进行进一步应用开发集成,对其基础架构了解是必须的。
pyspark集成
大数据相关技术的发展,jupyter支持与spark进行相关集成
技术架构分析
jupyter 使用了较新的web技术(Websocket等)来保证用户交互的友好性,提供了一种混合的编辑方式, 将程序
代码运行、文字图表编辑等功能糅合在同一电子笔记中, 打破了两者之间的隔离界限.fastpage12介绍了将jupyternotebook内容导出为page,可以直接应用于博客或者出版,进一步提高了jupyter的可扩展性。为了集成和二次开发jupyter,通过文章技术架构分析
14中对jupyter的技术架构进行简单的了解,得出如下jupyter架构图,
jupyter竞品分析
通过搜索,Netflix发布的Polynote15有可能成为jupyter的竞品,除此之外,阿里巴巴、kaggle以及大多数据竞赛平台也开始提供类似jupyter的数据分析平台以方便开发者快速使用。
如果你有更好的想法和建议,欢迎留言。
参考