Zeppelin源码详解大数据
在大数据应用场景中,处理数据分析方面,由于开发者的水平不一样,使用的编程语言也不尽相同,可能会涉及到R、Python、Java、Scala等,数据计算模型也估计不一样,可能涉及的有Spark、Hive、Flink、Kylin等等。本篇博客笔者给大家介绍的内容并不是告诉大家如何去使用。在《Zeppelin使用心得》中有介绍如何使用,这里就不多做赘述了,今天主要是给大家剖析Zeppelin的源码模块。
目前Zeppelin官方已经发布版本为0.7.3,源码带托管在Github上,大家可以先将Zeppelin的源码在Github上下载下来。Zeppelin的项目结构是以Maven的形式存在的,由多个Module构成,分为框架核心Module和其他Interpreter Module,源码结构如下图所示:
从截图中可以看出,其实Zeppelin到目前为止,集成了很多插件,比如Beam、HBase、ES、Flink、Kylin、Pig等,这些都是平时大数据场景下常用的。
2.1 模块分析Zeppelin的入口是ZeppelinServer(在zeppelin-server模块下)这个类下的Main函数,通过Jetty内嵌服务器提供WebSocket服务和Restful服务,还基于Shiro提供了权限认证和用户校验功能,都是使用Java编程语言实现的。在zeppelin-zengine模块下,实现Notebook的持久化和检索功能,同样使用Java语言实现。在zeppelin-interpreter模块下,通过调用zeppelin-zengine中的Thrift服务,来实现解释器的交互功能。在zeppelin-web模块下,用于脚本语言编写以及数据的可视化,使用AngularJS前端框架实现。其他模块详见下表。
3.源码调试
明白Zeppelin各个模块的功能和作用后,我们可以尝试去调试一下Zeppelin的源码,这里我们将Zeppelin的源码导入到 IDEA 编辑器,然后找到ZeppelinServer启动,如下图所示:
然后选择“Run ZeppelinServer.main() ”命令即可,等待服务启动完成,启动成功后,会在编辑器控制台打印日志,如下图所示:
这里,在启动端口默认是8080,在ZeppelinConfiguration类下可以进行编辑,如下图所示:
然后,我们可以到浏览器预览调试结果,如下图所示:
一般在二次开发完成Zeppelin的功能后,我们会将源代码重新编译打包,可以使用Maven打包命令,如下所示:
mvn clean package -Pbuild-distr -Dcheckstyle.skip=true -DskipTests
打包完成后,会在zeppelin-distribution的target目录下生成一个二进制的软件安装包。
4.关系图这里笔者给大家整理了Zeppelin-0.7.3的各个Module之间的关系图,如下所示:
这篇博客就和大家分享到这里,如果大家在研究学习的过程当中有什么问题,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉。
9885.html
分布式文件系统,分布式数据库区块链并行处理(MPP)数据库,数据挖掘开源大数据平台数据中台数据分析数据开发数据治理数据湖数据采集相关文章
- vue3项目debugger调试看不到源码-jeecgboot
- 微信小程序官方组件展示之媒体组件image源码
- vue源码分析-基础的数据代理检测
- jdk-Atomic源码学习
- mac 上学习k8s系列(49)源码部署dm同步mysql数据到tidb
- 基于Python接口自动化测试框架+数据与代码分离(进阶篇)附源码
- MapReduce部分源码解读(一)详解大数据
- Spark源码分析之spark-submit详解大数据
- HDFS源码分析(三)—–数据块关系基本结构详解大数据
- YARN源码分析(三)—–ResourceManager HA之应用状态存储与恢复详解大数据
- YARN源码分析(一)—–ApplicationMaster详解大数据
- Spark-Sql源码解析之七 Execute: executed Plan -> RDD[Row]详解大数据
- Spark-Sql源码解析之六 PrepareForExecution: spark plan -> executed Plan详解大数据
- Spark-Sql源码解析之五 Spark Planner:optimized logical plan –> spark plan详解大数据
- Spark-Sql源码解析之一 引言详解大数据
- Spark-Core源码阅读详解大数据
- Apache Ranger0.6版本源码编译详解大数据
- Kafka 源码剖析详解大数据
- Hadoop2源码分析-YARN RPC 示例介绍详解大数据
- Hadoop2源码分析-RPC机制初识详解大数据
- Hadoop2源码分析-Hadoop V2初识详解大数据
- Hadoop2源码分析-准备篇详解大数据