Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Zeppelin loads interpreter binaries (jar) from /interpreter/[INTERPRETER_NAME] directory and configured by zeppelin.interpreters property or ZEPPELIN_INTERPRETERS env variable.
They're loaded when Zeppelin is starting up.
We can make REST API that loads interpreter binaries from maven repository and configure it on runtime.
It gives two major advantages.
- We can reduce size of Zeppelin binary package distribution by releasing interpreter as maven artifact and let user load them online, on runtime. Instead of packaging all dependencies in a distribution.
- Using 3rd party interpreter is much easier.
REST api would look like
Load
/interpreter/load/[interpreter group name]/[interpreter name] params: artifact - maven artifact (groupId:artifactId:version) className - Interpreter class repository (optional) - additional maven repository address
Unload
/interpreter/unload/[interpreter group name]/[interpreter name]
Attachments
Issue Links
- incorporates
-
ZEPPELIN-598 Dynamic loading for Interpreter jar
- Open