如何在齐柏林飞艇中添加一个jar?

vlju58qv  于 2021-06-28  发布在  Hive
关注(0)|答案(4)|浏览(274)

如何在齐柏林飞艇中为%hive解释器添加一个jar?
我试过了

%z.dep('');
add jar <jar path>

同时齐柏林飞艇Hive解释器抛出classnotfoundexception
添加到 ./interpreter/hive/ 通过节俭例外而 add jar 文件未找到。
怎么做?我正在尝试通过amazon添加jsonserde.jar来解析dynamodb导入。

txu3uszq

txu3uszq1#

例如,在齐柏林飞艇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")
6tqwzwtp

6tqwzwtp2#

在齐柏林飞艇0.8.x上更新

现在可以使用 %dep 或者 %spark.dep (如果使用Spark)。文档在zeppline网站上:动态依赖加载

%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")
ql3eal8s

ql3eal8s3#

推荐的方法是使用齐柏林飞艇的依赖关系管理
它可以添加jar文件或maven工件。
依赖jar将下载到本地repo。
注意:如果jar文件是从源代码处编译的,当您再次编译时,它将不会自动同步(再次下载)。你需要去 interpreter 设置后,单击编辑,确定将触发另一个下载到本地回购。
注意:如果您先使用一个scala版本,然后用另一个版本重新编译。它会报告的 Exception in thread “main” java.lang.NoSuchMethodError: scala.reflect.api.JavaUniverse.runtimeMirror . 删除已下载的jar rm -rf local-repo/* 注意:不推荐使用z.dep。

qlvxas9a

qlvxas9a4#

我的版本是0.5.6,以下是有效的:

%hive
add jar /home/hadoop/jsonserde.jar

相关问题