前言:
眼前你们对“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安装