本文针对Zeppelin版本:v0.8.1
Github地址 https://github.com/apache/zeppelin

Zeppelin主体由Java开发,使用Maven作为构建工具,语言组成如图所示:
Apache Zeppelin源码结构分析
其中,核心的Server、Zengine、Interpreter、Jupyter模块都由Java语言编写,Zeppelin Web模块使用AngularJS框架以及基础的js、css、html等技术。

Apache Zeppelin源码结构分析

Maven项目由多个module组成,分为框架核心module和其他解释器module。其中核心的module有:

  • zeppelin-server
    项目入口,通过Jetty内嵌服务器提供WebSocekt服务和RESTful服务,并且提供了基本的权限验证服务。

  • zeppelin-zengine
    实现Notebook的持久化和检索服务。

  • zeppelin-interpreter
    抽象了interpreter接口,规定了解释器的功能。并且提供了与zeppelin-zengine使用Thrift进行通信的协议。

  • zeppelin-display
    实现前台Angular元素绑定后台数据。

  • zeppelin-jupyter
    封装了Java对Jupyter的应用机制,将Jupyter的框架纳入Zeppelin。

  • zeppelin-web
    提供可视化用户界面,使用AngluarJS框架开发的前端。

  • helium-dev
    helium可以使interpreter模块在软件运行时加入到Zeppelin中,即实现解释器的自启动。

  • zeppelin-distribution、zeppelin-integration
    此两个模块主要是用于Zeppelin的打包发布。

  • 其他解释器模块
    包括alluxio、angular、bigquery、Cassandra、Elasticsearch、file、flink、groovy、hbase、ignite、jdbc、kylin、lens、livy、markdown、neo4j、pig、Python、r、scio、shell、spark等

相关文章:

  • 2021-08-31
  • 2021-11-08
  • 2021-04-27
  • 2022-12-23
  • 2021-11-19
猜你喜欢
  • 2021-09-19
  • 2021-10-09
  • 2021-05-01
  • 2021-11-18
  • 2021-11-18
  • 2021-09-01
相关资源
相似解决方案