更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群

在 Jupyter 的生态下,除了 Notebook 本身,火山引擎 DataLeap 研发团队还注意到了很多其他组件。彼时,JupyterLab 正在逐渐取代传统的 Jupyter Notebook 界面,成为新的标准。JupyterHub 使用广泛,是多用户 Notebook 的版本答案。

脱胎于 Jupyter Kernel Gateway(JKG)的 Enterprise Gateway(EG),提供了火山引擎 DataLeap 研发团队需要的 Remote Kernel(上述的独立任务 Kernel 环境)能力。2020 上半年,火山引擎 DataLeap 研发团队基于上面的三大组件,进行二次开发,发布了 Notebook 任务类型。

(图:火山引擎 DataLeap 下 Notebook 整体架构)
 

JupyterLab 前端这一侧,火山引擎 DataLeap 研发团队选择了基于更现代化的 JupyterLab 进行改造,刨去了它的周边视图,只留下了中间的 Cell 编辑区,嵌入了火山引擎 DataLeap 数据研发的页面中。为了和火山引擎 DataLeap 的视觉风格更契合,从 2020 下半年到 2021 年初,团队还针对性地改进了 JupyterLab 的 UI。

另外火山引擎 DataLeap 研发团队还开发了定制的可视化 SDK,使得用户在 Notebook 上计算得到的 Pandas Dataframe 可以接入火山引擎 DataLeap 数据研发已经提供的数据结果分析模块,直接在 Notebook 内部做一些简单的数据探查。

JupyterHub提供了可扩展的认证鉴权能力和环境创建能力。首先,由于用户较多,因此为每个用户提供单独的 Notebook 实例不太现实。因此团队决定,按 火山引擎 DataLeap 项目来切分 Notebook 实例,同项目下的用户共享一个实例(即一个项目实际上在 JupyterHub 是一个用户)。这也与 火山引擎 DataLeap 的项目权限体系保持了一致。

Jupyter Enterprise Gateway提供了在分布式集群(包括 YARN、Kubernetes 等)内部启动 Kernel 的能力,并成为了 Notebook 到集群内 Kernel 的代理。

(图:Enterprise Gateway )

EG 本身提供的 Kernel 类型,和火山引擎内部系统并不完全兼容,火山引擎 DataLeap 研发团队首先以 Spark Kernel 的形式对接了字节跳动内部的 YARN 集群。Kernel 以 PySpark 的形式在 Cluster 模式的 Spark Driver 运行,并提供一个默认的 Spark Session。

用户可以通过在 Driver 上的 Kernel,直接发起运行 Spark 相关代码。同时,为了满足 Spark 用户的使用习惯,火山引擎 DataLeap 额外提供了在同一个 Kernel 内交叉运行 SQL 和 Scala 代码的能力。

2020 下半年,伴随着云原生的浪潮,火山引擎 DataLeap 研发团队还接入了字节跳动云原生 K8s 集群,为用户提供了 Python on K8s 的 Kernel,还扩展了很多自定义的能力,例如支持自定义镜像,以及针对于 Spark Kernel 的自定义 Spark 参数。

目前 Notebook 任务已成为字节跳动内部使用较为高频的任务类型,用户可以在火山引擎 DataLeap 官网开通交互式分析的版本,使用到 DataLeap 的 Notebook 任务。

点击跳转 火山引擎大数据研发治理DataLeap 了解更多

火山引擎 DataLeap 下 Notebook 系列文章二:技术路线解析的更多相关文章

  1. 火山引擎 DataLeap:3 个关键步骤,复制字节跳动一站式数据治理经验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理. ...

  2. 如何又快又好实现 Catalog 系统搜索能力?火山引擎 DataLeap 这样做

      摘要 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理.资产.安全等全套数据中台建设,降低工作成本和数据维护成本.挖掘数据价 ...

  3. 火山引擎 DataLeap:揭秘字节跳动数据血缘架构演进之路

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维 ...

  4. 火山引擎 DataLeap:一家企业,数据体系要怎么搭建?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 导读:经过十多年的发展,数据治理在传统行业以及新兴互联网公司都已经产生落地实践.字节跳动也在探索一种分布式的数据治 ...

  5. 火山引擎 DataLeap 的 Data Catalog 系统公有云实践

      Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景.本篇内容源自于火山引擎大数据研发治理套件 DataLeap 中的 Data Ca ...

  6. 火山引擎DataLeap数据调度实例的 DAG 优化方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 实例 DAG 介绍 DataLeap 是火山引擎自研的一站式大数据中台解决方案,集数据集成.开发.运维.治理.资产管理能力 ...

  7. Redis变慢?深入浅出Redis性能诊断系列文章(二)

    (本文首发于"数据库架构师"公号,订阅"数据库架构师"公号,一起学习数据库技术) 本篇为Redis性能问题诊断系列的第二篇,本文主要从应用发起的典型命令使用上进 ...

  8. .NET性能系列文章二:Newtonsoft.Json vs. System.Text.Json

    微软终于追上了? 图片来自 Glenn Carstens-Peters Unsplash 欢迎来到.NET性能系列的另一章.这个系列的特点是对.NET世界中许多不同的主题进行研究.基准和比较.正如标题 ...

  9. NHibernate系列文章二十八:NHibernate Mapping之Auto Mapping(附程序下载)

    摘要 上一篇文章介绍了Fluent NHibernate基础知识.但是,Fluent NHibernate提供了一种更方便的Mapping方法称为Auto Mapping.只需在代码中定义一些Conv ...

  10. NHibernate系列文章二十七:NHibernate Mapping之Fluent Mapping基础(附程序下载)

    摘要 从这一节起,介绍NHibernate Mapping的内容.前面文章都是使用的NHibernate XML Mapping.NHibernate XML Mapping是NHibernate最早 ...

随机推荐

  1. fileclude

    打开界面是一篇源代码 看到有flag.php文件,直接打开出现错误提示,看来只能用编码读取数据了 需要传入file1和file2 file1编码读取flag.php的内容 file1=php://fi ...

  2. Wampserver搭建DVWA和sqli-labs问题总结

    Wampserver 搭建 DVWA 和 sqli-labs 问题总结 遇到问题解决的思路方法 百度,博客去搜索相关的问题,人工智能 chatgpt 查看官方文档,查看注释. 本次解决方法就是在文档的 ...

  3. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-30-处理日历时间控件-下篇

    1.简介 理想很丰满现实很骨感,在应用playwright实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操 ...

  4. L2-034 口罩发放

    重点在阅读理解能力 身份证号必须是18位数字,话说平时咱们身份证也可以带个X啥的啊. 合法状态就是只要身份证合格就行,一开始我还想是它犯病,然后申请了口罩才算一个合法记录. 后边输出状态为1的人,一定 ...

  5. iptables中limit 和 limit-burst 说明

    Limit match    这个匹配操作必须由-m limit明确指定才能使用.有了他的帮助,就能对指定的规则的日志数量加以限制,以免你被信息的洪流淹没哦.比如,你能事先设定一个限定值,当符合条件的 ...

  6. 关于微信小程序中如何实现数据可视化-echarts动态渲染

    移动端设备中,难免会涉及到数据的可视化展示.数据统计等等,本篇主要讲解原生微信小程序中嵌入echarts并进行动态渲染,实现数据可视化功能. 基础使用 首先在GitHub上下载echarts包 地址: ...

  7. 🔥🔥Java开发者的Python快速进修指南:实战之跳表pro版本

    之前我们讲解了简易版的跳表,我希望你能亲自动手实现一个更完善的跳表,同时也可以尝试实现其他数据结构,例如动态数组或哈希表等.通过实践,我们能够发现自己在哪些方面还有所欠缺.这些方法只有在熟练掌握之后才 ...

  8. Mysql中的FOREIGN_KEY_CHECKS方法【外键约束作用】

    一.命令行 首先FOREIGN_KEY_CHECKS方法的作用是用来启动和关闭外键约束的方法. 二.外键约束 即数据库中两个数据表之间的某个列建立的一种联系.MySQL通过外键约束的引入,可以使得数据 ...

  9. 瀑布图有什么作用?除了excel如何快速制作?

    瀑布图是一种特殊的数据可视化图表,具有以下作用: 1. 对比变化:瀑布图可以清晰地展示数据在不同因素作用下的变化情况.通过将数据分解成各个组成部分,并以阶梯状呈现,可以直观地对比每个因素对总体结果的影 ...

  10. 给 Web 前端工程师看的用 Rust 开发 wasm 组件实战

    什么是wasm组件? wasm 全称 WebAssembly,是通过虚拟机的方式,可以在服务端.客户端如浏览器等环境执行的二进制程序.他有速度快.效率高.可移植的特点. 对我们 Web 前端工程最大的 ...