龙空技术网

Apache Zeppelin使用入门指南:添加外部依赖

程序员小陶 293

前言:

眼前你们对“apache如何外网访问”大致比较关注,兄弟们都需要知道一些“apache如何外网访问”的相关内容。那么小编同时在网上收集了一些有关“apache如何外网访问””的相关资讯,希望兄弟们能喜欢,各位老铁们快快来了解一下吧!

在前面的两篇文章中我们介绍了如何编译和部署Apache Zeppelin、如何使用Apache Zeppelin。这篇文章中将介绍如何将外部依赖库加入到Apache Zeppelin中。

在现实情况下,我们编写程序一般都是需要依赖外部的相关类库的,比如我们现在需要Spark读取Mysql里面的数据,所以我们需要添加Mysql相关的依赖。这里将介绍两种方法来添加外部依赖。

一、我们都知道,很多类库都是可以通过Maven仓库下载到的,所以我们可以指定依赖库的group ID、artifact ID以及version来指定具体的依赖。在Zeppelin中,我们可以通过%dep Interpreter来加载依赖,如下:

%dep

z.load("mysql:mysql-connector-java:5.1.35")

%dep默认就可以使用,z代表的是Zeppelin context。

如果我们觉得Maven中央仓库下载的速度比较慢,我们可以自定义Maven仓库,如下:

%dep

z.addRepo("RepoName").url("RepoURL")

二、通过指定jar的本地路径来加载外部依赖,具体如下:

%dep

z.load("/path/to.jar")

在使用dep需要主要的是,我们必须在初始化SparkContext之前就得加载相关的外部类,否则将会出现异常。所以比较明智的方法是,在创建Notebook之后的第一步就是使用dep先加载相关的类库。

上面已经加载好了Mysql驱动,现在我们需要构建连接Mysql相关的参数信息,如下:

val props = scala.collection.mutable.Map[String,String]();

props+=("driver" -> "com.mysql.jdbc.Driver")

props+=("url" -> "jdbc:mysql://;password=orange123")

props+=("dbtable" -> "(select id, name, phone, email, gender from scalada.student) as students")

props+=("partitionColumn" -> "id")

props+=("lowerBound" -> "0")

props+=("upperBound" -> "100")

props+=("numPartitions" -> "2")

我们可以看出这是Spark连接Mysql的一种方式(更多的方式可以参见《Spark读取数据库(Mysql)的四种方式讲解》),然后我们可以创建DataFrame了:

import scala.collection.JavaConverters._

val studentDf = sqlContext.load("jdbc", props.asJava)

studentDf.printSchema()

studentDf.show()

studentDf.registerTempTable("students")

标签: #apache如何外网访问 #apachezeppelin安装