更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群
Notebook 是一种反对 REPL 模式的开发环境。所谓「REPL」,即「读取 - 求值 - 输入」循环:输出一段代码,立即失去相应的后果,并持续期待下一次输出。Notebook 通常使得探索性的开发和调试更加便捷,在 Notebook 环境,用户能够交互式地在其中编写你的代码、运行代码、查看输入、可视化数据并查看后果,应用起来非常灵活。
在数据开发畛域,Notebook 广泛应用于数据清理和转换、数值模仿、统计建模、数据可视化、构建和训练机器学习模型等方面。
然而显然做数据开发,只有 Notebook 是不够的。目前,火山引擎 DataLeap 数据研发平台提供了工作开发、公布调度、监控运维等一系列能力,并将 Notebook 作为一种工作类型,退出进 DataLeap 数据研发平台,使用户既能领有 Notebook 交互式的开发体验,又能享受一站式大数据研发治理套件提供的便当。
在火山引擎 DataLeap 数据研发平台,开发过程围绕的外围是工作。用户能够在我的项目下的工作开发目录创立子目录和工作,像 IDE(集成开发环境)一样通过目录树治理其工作。Notebook 也是一种工作类型,用户能够启动一个独立的工作 Kernel 环境,像开发其余一般工作一样应用 Notebook。
图:火山引擎 DataLeap 数据开发 Notebook 工作界面
基于简化运维老本、升高架构复杂性,以及进步用户体验的思考,2021 上半年,火山引擎 DataLeap 研发人员对整体架构进行了一次改进。新的架构次要做了以下改良,大抵简化为下图
- 移除 JupyterHub(https://jupyterhub.readthedocs.io/en/stable/),将 JupyterLab(https://jupyterlab.readthedocs.io/en/stable/getting_started/o…)改为多实例无状态常驻服务,并实现对接 火山引擎 DataLeap 的多用户鉴权。
- 革新本来落在 JupyterLab 本地的数据存储,包含用户自定义配置、Session 保护和代码文件读写。
- Enterprise Gateway(EG)反对长久化 Kernel,将 Kernel 近程环境元信息长久化在远端存储 (MySQL) 上,使其重启时能够重连,且 JupyterLab 能够晓得某个 Kernel 须要通过哪个 EG(https://jupyter-enterprise-gateway.readthedocs.io/en/latest/)连贯。
图:火山引擎 DataLeap 下改进版 Notebook 整体架构
架构降级简化后,整套 Notebook 服务的稳定性取得了极大的晋升。因为实现了用户无感知的降级,DataLeap 不仅晋升了用户的应用体验,运维、算力、人力等老本也失去了极大地升高。
据理解,Notebook 工作已成为字节跳动外部应用较为高频的工作类型。内部用户能够购买火山引擎 DataLeap,即一站式大数据研发治理套件,开明交互式剖析的版本,应用到 DataLeap 的 Notebook 工作。
点击跳转大数据研发治理套件 DataLeap 理解更多