samthebest
samthebest

Reputation: 31543

Programmatically add jar to zeppelin spark interpreter via API

Using %dep to add jars to Zeppelin is deprecated. We have been recommended to use clicky buttons here: http://zeppelin.apache.org/docs/0.7.0-SNAPSHOT/manual/dependencymanagement.html

This method is annoying because I cannot figure out a way to automate it. The nice thing about using the %dep was that you could use the notebook API to load the jar. This was great because we run some E2E tests through notebooks, and thus require a way to automatically load the jars.

Has anyone figured out a programmatic way to load jars without using %dep?

Upvotes: 3

Views: 918

Answers (1)

Mina Lee
Mina Lee

Reputation: 11

%dep was going to deprecated but there were many users asking to keep it. So %dep deprecation is recently removed in master branch and it won't be displayed anymore from 0.7.0 version.

Another way to do it is using rest api. This works in same logic as GUI dependency management.

curl -w "%{http_code}" -H 'Content-Type:application/json' \
  -XPUT http://192.168.99.100:8080/api/interpreter/setting/{interpreterId} \
  -d '{"dependencies":[
    {
      "groupArtifactVersion":"/usr/zeppelin/ml-view-assembly.jar",
      "exclusions":[]
    }
]}'

Be sure to get your interpreterId using /api/interpreter/setting NOT /api/interpreter as the latter rather confusingly gives some random useless ID.

Upvotes: 1

Related Questions