Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add a jar in zeppelin?

How to add a jar in Zeppelin for %hive interpreter?

I have tried

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

Also zeppelin hive interpreter throws ClassNotFoundException

Adding to ./interpreter/hive/ throughs thrift exception while add jar says file not found.

How to do it? I am trying to add jsonserde.jar by Amazon to parse DynamoDB imports.

like image 767
user 923227 Avatar asked Aug 10 '16 20:08

user 923227


3 Answers

Example, tested in 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")
like image 100
Zouzias Avatar answered Nov 15 '22 04:11

Zouzias


Updated on Zeppelin 0.8.x

You can now load external dependencies or jars using %dep or %spark.dep (if using Spark). Documentation is on zeppline website: Dynamic Dependency Loading

%dep z.load("/path/to/your/packages.jar")

or

%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")
like image 33
Dat Avatar answered Nov 15 '22 03:11

Dat


The recommended way is using Zeppelin's Dependency Management

It can add jar file or maven artifact.

the dependency jar will be downloaded to local-repo.

NOTE: If the jar file is compiled from source, when you compile again, it will NOT be synchronised automatically(download again). You need go to interpreter setting, click edit and OK will trigger another download to local-repo.


NOTE: If you use one scala version first, and compiled again with another version. It will report Exception in thread “main” java.lang.NoSuchMethodError: scala.reflect.api.JavaUniverse.runtimeMirror. remove already downloaded jar with rm -rf local-repo/*


NOTE: z.dep is deprecated.

like image 28
Rockie Yang Avatar answered Nov 15 '22 02:11

Rockie Yang