正常我们使用spark ,可能都不只有spark ,也会使用其他的第三方jar包 配合使用spark 比如,现在使用spark graphx 和 neo4j ,我们就需要 neo4j的驱动包 和与spark 的连接包,直接使用第三方的类,会报错,需要 zeppelin 声明 自己加载 本地jar包 ,或者 声明下载 maven 地址的包
比如 我要加载 maven仓库中的neo-connect-spark jar包,
`
%dep
z.load("groupID:artifactID:version")
`
要注意的是 加载包要在sparkContext 初始化之前,否则需要重启 spark 的解释器
Must be used before SparkInterpreter (%spark) initialized
Hint: put this paragraph before any Spark code and restart Zeppelin/Interpreter
错误的是这样的
`
%dep
z.load("neo4j-contrib" : "neo4j-spark-connector" : "2.1.0-M4")
`
正确的是这样的
`
%dep
z.load("neo4j-contrib:neo4j-spark-connector:2.1.0-M4")
`
res0: org.apache.zeppelin.dep.Dependency = org.apache.zeppelin.dep.Dependency@61d50fa8
这个 一次下载后的jar包,多次使用,zeppelin应该是缓存到本地了
另外就是本地加载
本地:
这个方式的缺点和优点是和maven相反的
%dep z.load("/path/to.jar")