关于技术选型:火山引擎-DataLeap-下-Notebook-系列文章一技术选型之路

更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群Notebook 是一种反对 REPL 模式的开发环境。所谓「REPL」,即「读取-求值-输入」循环:输出一段代码,立即失去相应的后果,并持续期待下一次输出。Notebook 通常使得探索性的开发和调试更加便捷,在 Notebook 环境,用户能够交互式地在其中编写代码、运行代码、查看输入、可视化数据并查看后果,应用起来非常灵活。 在数据开发畛域,Notebook 广泛应用于数据清理和转换、数值模仿、统计建模、数据可视化、构建和训练机器学习模型等方面。 然而显然,做数据开发,只有 Notebook 是不够的。目前火山引擎 DataLeap 数据研发平台提供了工作开发、公布调度、监控运维等一系列能力。研发团队将 Notebook 作为一种工作类型,退出了火山引擎 DataLeap 数据研发平台,使用户既能领有 Notebook 交互式的开发体验,又能享受一站式大数据研发治理套件提供的便当。 如果还不够直观的话,试想以下场景: 在交互式运行和可视化图表的加持下,用户很快就调试实现了一份 Notebook。简略整顿了下代码,依据应用到的数据配置了上游工作依赖,上线了周期调度,并棘手挂了报警。之后,基本上就不必管这个工作了:不须要每天手动查看上游数据是否就绪;不须要每天来点击运行,因为调度零碎会主动帮用户执行这个 Notebook;执行失败了有报警,能够间接上平台来解决;上游数据出错了,能够请零碎发动深度回溯,对立修数。2019 年末,基于业务需要决定反对 Notebook 工作的时候,火山引擎 DataLeap 研发团队调研了许多 Notebook 的实现,包含 Jupyter、Polynote、Zeppelin、Deepnote 等。Jupyter Notebook 是 Notebook 的传统实现,它有着极其丰富的生态以及宏大的用户群体,置信许多人都用过这个软件。 事实上,在字节跳动数据平台倒退晚期,就有了在物理机集群上对立部署的 Jupyter(基于多用户计划 JupyterHub),供外部的用户应用。思考到用户习惯和其弱小的生态,Jupyter 最终成为了火山引擎 DataLeap 研发团队的抉择。 (图:Jupyter Notebook 界面) Jupyter Notebook 是一个 Web 利用。通常认为其有两个外围的概念:Notebook 和 Kernel。 Notebook 指的是代码文件,个别在文件系统中存储,后缀名为ipynb。Jupyter Notebook 后端提供了治理这些文件的能力,用户能够通过 Jupyter Notebook 的页面创立、关上、编辑、保留 Notebook。在 Notebook 中,用户以一个一个 Cell 的模式编写代码,并按 Cell 运行代码。Notebook 文件的具体内容格局,可参考 The Notebook file format ...

April 18, 2023 · 1 min · jiezi