如何在Zeppelin中为%hive解释器添加一个jar?
我试过了
%z.dep('');
add jar <jar path>
还有zeppelin hive interpreter throws ClassNotFoundException
添加到./interpreter/hive/
通过节俭异常,而add jar
说文件未找到。
怎么做?我试图通过亚马逊添加jsonserde.jar来解析DynamoDB导入。
推荐的方法是使用Zeppelin的Dependency Management
它可以添加jar文件或maven工件。
依赖jar将被下载到local-repo。
注意:如果jar文件是从源代码编译的,那么当您再次编译时,它将不会自动同步(再次下载)。您需要转到
interpreter
设置,单击编辑,然后确定将触发另一个下载到local-repo。
注意:如果您首先使用一个scala版本,并使用另一个版本再次编译。它将报告
Exception in thread “main” java.lang.NoSuchMethodError: scala.reflect.api.JavaUniverse.runtimeMirror
。删除已经下载的jar与rm -rf local-repo/*
注意:不推荐使用z.dep。
您现在可以使用%dep
或%spark.dep
加载外部依赖项或jar(如果使用Spark)。文档在zeppline网站上:Dynamic Dependency Loading
%dep z.load("/path/to/your/packages.jar")
要么
%spark.dep
z.reset() // clean up previously added artifact and repository
// add maven repository
z.addRepo("RepoName").url("RepoURL")
// add maven snapshot repository
z.addRepo("RepoName").url("RepoURL").snapshot()
// add credentials for private maven repository
z.addRepo("RepoName").url("RepoURL").username("username").password("password")
我的版本为0.5.6以下工作:
%hive
add jar /home/hadoop/jsonserde.jar
例子,在Zeppelin 0.8.1中测试过:
%dep
z.addRepo("Spark Packages Repo").url("http://dl.bintray.com/spark-packages/maven")
z.addRepo("OSS SNAPSHOTS").url("https://oss.sonatype.org/content/repositories/snapshots")
z.load("org.zouzias:spark-lucenerdd_2.11:0.3.7")