zeppelin介绍:
zeppelin 作为数据湖的交互式分析平台,可以在上面写sql,python,java等多种语音和数据库的交互式分析工具,可以通过一个个片段进行分析,支持片段上下文,支持参数和结果传递,不需要进行IDE进行编程,直接在页面上操作。
zeppelin 和DataBrick 的对比:
1.zeppelin 是开源的notebook ,支持在线编写脚本,在线编写代码
databrick 也支持在线编写脚本,集成spark ,默认自定义数据湖组件.
2.zeppelin 将notebook 的片段编译成json 文件,保存路径可以选择对象存储,本地存储和hdfs存储支持高可用,支持集群部署。
databrick 也支持高可用,集群部署,需要进行配置。
3.zeppline 除了支持spark更多引擎,flink Es python,scala,java 等等,databrick 支持python和spark。
databrick的架构图如下:
zeppelin的安装介绍:
zepplin 在0.10.1支持spark3的安装,但是目前支持的版本是3.0的版本,针对这个问题,spark 安装的是3.4.1 。针对这个版本,只能自己进行源码编译。
1.需要maven:安装maven
2.需要java version 8-151以后的版本。
3.编译zeppelin,spark 版本选择 3.4.1
mvn clean package -DskipTests -Dspark.version=3.4.1 -Dflink.version=1.14 -Pscala-2.12
如果需要修改其他版本,在spark 源码里面,spark 的interpreter文件里面有这些文件:
cala-2.10 scala-2.11 scala-2.12 spark1-shims spark2-shims spark3-shims spark-dependencies spark-scala-parent spark-shims
spark3 的源码在spark3-shims 文件里面:
pom.xml src
<modelVersion>4.0.0</modelVersion>
<artifactId>spark3-shims</artifactId>
<packaging>jar</packaging>
<name>Zeppelin: Spark3 Shims</name>
<properties>
<scala.binary.version>2.12</scala.binary.version>
<spark.version>3.1.1</spark.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.zeppelin</groupId>
<artifactId>spark-shims</artifactId>
<version>${project.version}</version>
</dependency>
修改上面的版本号,这里用的是spark 3.1.1 ,如果需要修改源码在src 里面,只有一个java 类,如果没有需要修改的可以不用动。修改完版本号后,
执行:mvn编译
mvn clean package -DskipTests -Dspark.version=3.4.1 -Dflink.version=1.14 -Pscala-2.12
编译时间过长:需要耐心等待...