zeppelin源码分析(5)——notebook的持久化

本文详细介绍了Zeppelin Notebook的持久化系统,包括NotebookRepo接口及其默认实现VFSNotebookRepo,以及版本管理、S3和Azure的实现。Note的加载过程包括从note.json反序列化为Note实例,并重建transient状态。note.json中序列化的内容对应Note的非transient字段及嵌套对象。此外,文章还提到了NotebookRepoSync的同步功能和ZeppelinHubRepo的云存储支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Notebook的持久化系统主要的类图如下:


各类主要的职责如下:

1)      NotebookRepo是顶层接口,规定了持久化层基本的CRUD接口。

2)      NotebookVersioned定义了Note的版本管理接口,目前其实现类只有GitNotebookRepo(该功能目前实现的不完善,既没有实现按照rev log进行过滤检索,界面上目前也没有检索或者是回退到具体某个版本的入口),采用JGit实现。

3)      VFSNotebookRepo是zeppelin的默认实现类,使用apache common-vfs来实现多文件系统支持。(受配置参数zeppelin.notebook.storage控制,参见:ZeppelinConfiguration。

ZEPPELIN_NOTEBOOK_STORAGE("zeppelin.notebook.storage", VFSNotebookRepo.class.getName()),


目前common-vfs支持的文件系统虽然很多,但是由于Notebook持久化时需要RW、Create/Delete权限,实际上可用的只有如下:

</

File System

Directory Contents

Authentication

Read

Write

Create/Delete

Random

Version

Rename

File

No

No

Yes

Yes

Yes

Read/Write

No

Yes

FTP

No

Yes

Yes

Yes

Yes

Read

No

Yes

FTPS

No

Yes

Yes

Yes

Yes

 

 

 

RAM

No

No

Yes

Yes

Yes

Read/Write

No

Yes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值