首页 > 其他分享 >火山引擎 DataLeap 下 Notebook 系列文章二:技术路线解析

火山引擎 DataLeap 下 Notebook 系列文章二:技术路线解析

时间:2023-04-20 19:22:30浏览次数:49  
标签:Kernel 火山 引擎 DataLeap Notebook Spark 解析

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【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 了解更多

标签:Kernel,火山,引擎,DataLeap,Notebook,Spark,解析
From: https://www.cnblogs.com/bytedata/p/17338042.html

相关文章

  • HTML实现文件上传下载功能实例解析
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。那有没有......
  • 论文解析 -- A Survey of AIOps Methods for Failure Management
    此篇Survey是ASystematicMappingStudyinAIOps的后续研究对于AIOPS中占比较高的FailureManagement进行进一步的研究   Comparedtotraditionalapproaches,AIOpsis:•fast,becauseitreactsindependentlyandautomaticallytoreal-timeproblems,with......
  • Spring源码系列:核心概念解析
    前言本文旨在为读者解析Spring源码中的关键类,以便读者在深入阅读源码时,能够了解关键类的作用和用途。在阅读Spring源码时,经常会遇到一些不熟悉的概念,了解关键类的作用可以帮助读者更好地理解这些概念。BeanDefinitionBeanDefinition是Spring框架中的一个重要概念,它定义了一个Be......
  • 2022上半年系统集成项目案例分析真题解析(广东卷)
    2022上半年系统集成项目案例分析真题解析(广东卷)......
  • 2022上半年系统集成项目综合知识真题及解析(广东卷)
    ......
  • day 09 9.1 数据解析之正则
    第三章.数据解析之正则RegularExpression,译作正则表达式或正规表示法,表示有规则的表达式,意思是说,描述一段文本排列规则的表达式。正则表达式并不是Python的一部分。而是一套独立于编程语言,用于处理复杂文本信息的强大的高级文本操作工具。正则表达式拥有自己独特的规则语法以......
  • C# Web实现文件上传下载功能实例解析
    ​IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag        客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续传......
  • struts2文件上传的采用的三种方式解析
    文件上传几乎是每个项目实现的一个必须的模块。上传就是将信息从个人计算机(本地计算机)传递到中央计算机(远程计算机)系统上,让网络上的人都能看到。将制作好的网页、文字、图片等发布到互联网上去,以便让其他人浏览、欣赏。这一过程称为上传。JAVA实现文件上传的几个组件:......
  • 大揭秘!瑞芯微RK3568对比RK3399性能解析
    RK3568核心板简介​RK3568核心板是武汉万象奥科基于瑞芯微Rockchip的RK3568设计的一款高性能核心板。它采用四核Cortex-A55架构,最高主频可达2.0GHz,同时集成Mali-G522EEGPU,支持[email protected]/H.264/VP9解码和[email protected]/H.264编码。此外,RK3568支持多种接口,包括USB3.0、PC......
  • PHP Web实现文件上传下载功能实例解析
    ​ 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range  用于请求头......