### What is this PR for? * Make Helium pkgs sortable For now, we have 3 types of Helium packages: `VISUALIZATION`, `SPELL` and `APPLICATION`. `VISUALIZATION` and `SPELL` type of pkgs can be published [NPM registry](https://www.npmjs.com/). Likewise, `APPLICATION` type pkg can be registered in [Maven central repository](http://search.maven.org/). But all available Helium packages are not sorted and shown in random order in Helium menu. To do this, I put "NPM Packages" & "Maven Artifacts" button at top-right corner of Helium menu. * Introduce "INTERPRETER" type As a first step of [ZEPPELIN-1993: Install interpreter from Helium menu](https://issues.apache.org/jira/browse/ZEPPELIN-1993), I added `INTERPRETER` type as a new Helium pkg type. Like [ZEPPELIN-1973](https://issues.apache.org/jira/browse/ZEPPELIN-1973) did, we can retrieve Maven artifact(which has `zeppelin-interpreter` as its dependency) info and save it to Helium online registry as well. For more detailed explanation, please see [ZEPPELIN-1993](https://issues.apache.org/jira/browse/ZEPPELIN-1993) and [ZEPPELIN-2110](https://issues.apache.org/jira/browse/ZEPPELIN-2110)'s description. ### What type of PR is it? Improvement ### What is the Jira issue? * [ZEPPELIN-2109](https://issues.apache.org/jira/browse/ZEPPELIN-2109) : Make Helium packages sortable in Helium menu * [ZEPPELIN-2110](https://issues.apache.org/jira/browse/ZEPPELIN-2110) : List community & 3rd party interpreter registered at Maven central repo in Helium menu ### How should this be tested? To see how `INTERPRETER` type can be shown in Helium menu, 1. Replace temporarily [ZeppelinConfiguration.java#L46](https://github.com/apache/zeppelin/blob/master/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java#L46) with [this url](https://raw.githubusercontent.com/AhyoungRyu/spark-notebook-example/master/helium-test.json) 2. Build \w below command and restart ``` $ mvn clean package -DskipTests -pl 'zeppelin-zengine, zeppelin-server, zeppelin-interpreter' ``` 3. Start web dev server under `ZEPPELIN_HOME/zeppelin-web` and browse `localhost:9000` ``` $ yarn run dev:helium ``` 4. Go to Helium menu ### Screenshots (if appropriate) - How's it look?  - Package selection by types (`VISUALIZATION`, `SPELL`, `INTERPRETER` and `APPLICATION`) <img width="500" alt="screen shot 2017-02-23 at 12 51 22 am" src="https://cloud.githubusercontent.com/assets/10060731/23219377/3c020fb4-f962-11e6-849c-6da193414d87.png"> - Disabled "Enable" button until [ZEPPELIN-1993](https://issues.apache.org/jira/browse/ZEPPELIN-1993) is resolved <img width="580px" alt="screen shot 2017-02-20 at 2 03 23 am" src="https://cloud.githubusercontent.com/assets/10060731/23104412/c95dccb2-f710-11e6-9602-4159c7182e64.png"> ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: AhyoungRyu <fbdkdud93@hanmail.net> Author: Ahyoung Ryu <ahyoungryu@apache.org> Closes #2037 from AhyoungRyu/ZEPPELIN-2109 and squashes the following commits:7393c6a[AhyoungRyu] Change '==' to '===' to make CI green0fd68ba[AhyoungRyu] Remove useless comment code569f9c9[AhyoungRyu] Add guide dialog msg for INTERPRETER type pkge6ccc28[AhyoungRyu] Fix typo in docsbb34428[AhyoungRyu] Package orderBy publishedDatea5eb006[AhyoungRyu] Add 'spell' to description1707882[AhyoungRyu] Get publishedDate, artifactId and groupId from online registry data03312ac[AhyoungRyu] Fix interpreter type name duplication95b0b87[AhyoungRyu] Fix mistakes made by resolving conflicts894a27e[Ahyoung Ryu] Merge branch 'master' into ZEPPELIN-2109d5ae4e2[AhyoungRyu] Add default msg to show when each package size is 0899e8fa[AhyoungRyu] Put license sentences back removed by mistakec68efd2[AhyoungRyu] Remove unused img files6d7f4fa[AhyoungRyu] Make packages sortable by type not repository86e1eda[AhyoungRyu] Remove unnecassary wordsb74c599[AhyoungRyu] Remove console.log4a6eace[AhyoungRyu] Enable Helium pkg type sortablef1c7bac[AhyoungRyu] Add 'INTERPRETER', 'APPLICATION' as helium pkg types6de9169[AhyoungRyu] Add img files
7.2 KiB
| layout | title | description | group |
|---|---|---|---|
| page | Interpreter Installation in Netinst Binary Package | Apache Zeppelin provides Interpreter Installation mechanism for whom downloaded Zeppelin netinst binary package, or just want to install another 3rd party interpreters. | manual |
{% include JB/setup %}
Interpreter Installation
Apache Zeppelin provides Interpreter Installation mechanism for whom downloaded Zeppelin netinst binary package, or just want to install another 3rd party interpreters.
Community managed interpreters
Apache Zeppelin provides several interpreters as community managed interpreters.
If you downloaded netinst binary package, you need to install by using below commands.
Install all community managed interpreters
./bin/install-interpreter.sh --all
Install specific interpreters
./bin/install-interpreter.sh --name md,shell,jdbc,python
You can get full list of community managed interpreters by running
./bin/install-interpreter.sh --list
Install interpreter built with Scala 2.10
Zeppelin support both Scala 2.10 and 2.11 for several interpreters as below:
| Name | Maven Artifact for Scala 2.10 | Maven Artifact for Scala 2.11 |
|---|---|---|
| cassandra | org.apache.zeppelin:zeppelin-cassandra_2.10:0.7.0 | org.apache.zeppelin:zeppelin-cassandra_2.11:0.7.0 |
| flink | org.apache.zeppelin:zeppelin-flink_2.10:0.7.0 | org.apache.zeppelin:zeppelin-flink_2.11:0.7.0 |
| ignite | org.apache.zeppelin:zeppelin-ignite_2.10:0.7.0 | org.apache.zeppelin:zeppelin-ignite_2.11:0.7.0 |
| scio | org.apache.zeppelin:zeppelin-scio_2.10:0.7.0 | org.apache.zeppelin:zeppelin-scio_2.11:0.7.0 |
| spark | org.apache.zeppelin:zeppelin-spark_2.10:0.7.0 | org.apache.zeppelin:zeppelin-spark_2.11:0.7.0 |
If you install one of these interpreters only with --name option, installer will download interpreter built with Scala 2.11 by default. If you want to specify Scala version, you will need to add --artifact option. Here is the example of installing flink interpreter built with Scala 2.10.
./bin/install-interpreter.sh --name flink --artifact org.apache.zeppelin:zeppelin-flink_2.10:0.7.0
Install Spark interpreter built with Scala 2.10
Spark distribution package has been built with Scala 2.10 until 1.6.2. If you have SPARK_HOME set pointing to Spark version earlier than 2.0.0, you need to download Spark interpreter packaged with Scala 2.10. To do so, use follow command:
rm -rf ./interpreter/spark
./bin/install-interpreter.sh --name spark --artifact org.apache.zeppelin:zeppelin-spark_2.10:0.7.0
Once you have installed interpreters, you need to restart Zeppelin. And then [create interpreter setting](../manual/interpreters.html#what-is-zeppelin-interpreter) and [bind it with your notebook](../manual/interpreters.html#what-is-zeppelin-interpreter-setting).
3rd party interpreters
You can also install 3rd party interpreters located in the maven repository by using below commands.
Install 3rd party interpreters
./bin/install-interpreter.sh --name interpreter1 --artifact groupId1:artifact1:version1
The above command will download maven artifact groupId1:artifact1:version1 and all of its transitive dependencies into interpreter/interpreter1 directory.
After restart Zeppelin, then create interpreter setting and bind it with your note.
Install multiple 3rd party interpreters at once
./bin/install-interpreter.sh --name interpreter1,interpreter2 --artifact groupId1:artifact1:version1,groupId2:artifact2:version2
--name and --artifact arguments will recieve comma separated list.
Available community managed interpreters
You can also find the below community managed interpreter list in conf/interpreter-list file.
| Name | Maven Artifact | Description |
|---|---|---|
| alluxio | org.apache.zeppelin:zeppelin-alluxio:0.7.0 | Alluxio interpreter |
| angular | org.apache.zeppelin:zeppelin-angular:0.7.0 | HTML and AngularJS view rendering |
| beam | org.apache.zeppelin:zeppelin-beam:0.7.0 | Beam interpreter |
| bigquery | org.apache.zeppelin:zeppelin-bigquery:0.7.0 | BigQuery interpreter |
| cassandra | org.apache.zeppelin:zeppelin-cassandra\_2.11:0.7.0 | Cassandra interpreter built with Scala 2.11 |
| elasticsearch | org.apache.zeppelin:zeppelin-elasticsearch:0.7.0 | Elasticsearch interpreter |
| file | org.apache.zeppelin:zeppelin-file:0.7.0 | HDFS file interpreter |
| flink | org.apache.zeppelin:zeppelin-flink\_2.11:0.7.0 | Flink interpreter built with Scala 2.11 |
| hbase | org.apache.zeppelin:zeppelin-hbase:0.7.0 | Hbase interpreter |
| ignite | org.apache.zeppelin:zeppelin-ignite\_2.11:0.7.0 | Ignite interpreter built with Scala 2.11 |
| jdbc | org.apache.zeppelin:zeppelin-jdbc:0.7.0 | Jdbc interpreter |
| kylin | org.apache.zeppelin:zeppelin-kylin:0.7.0 | Kylin interpreter |
| lens | org.apache.zeppelin:zeppelin-lens:0.7.0 | Lens interpreter |
| livy | org.apache.zeppelin:zeppelin-livy:0.7.0 | Livy interpreter |
| md | org.apache.zeppelin:zeppelin-markdown:0.7.0 | Markdown support |
| pig | org.apache.zeppelin:zeppelin-pig:0.7.0 | Pig interpreter |
| python | org.apache.zeppelin:zeppelin-python:0.7.0 | Python interpreter |
| scio | org.apache.zeppelin:zeppelin-scio\_2.11:0.7.0 | Scio interpreter built with Scala 2.11 |
| shell | org.apache.zeppelin:zeppelin-shell:0.7.0 | Shell command |