You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by jo...@apache.org on 2022/07/31 08:21:35 UTC

[zeppelin] branch master updated: Refactor: remove ignite interpreter and related things form the repository (#4428)

This is an automated email from the ASF dual-hosted git repository.

jongyoul pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new 6cf0252a7b Refactor: remove ignite interpreter and related things form the repository (#4428)
6cf0252a7b is described below

commit 6cf0252a7bdc2758e1a15b0180fbe2f58aca6e0f
Author: Jiyun Park <51...@users.noreply.github.com>
AuthorDate: Sun Jul 31 17:21:30 2022 +0900

    Refactor: remove ignite interpreter and related things form the repository (#4428)
---
 .github/workflows/core.yml                         |   2 +-
 .github/workflows/frontend.yml                     |   2 +-
 Dockerfile                                         |   2 +-
 conf/interpreter-list                              |   1 -
 dev/create_release.sh                              |   2 +-
 docs/_includes/themes/zeppelin/_navigation.html    |   1 -
 .../img/docs-img/ignite-interpreter-binding.png    | Bin 177948 -> 0 bytes
 .../img/docs-img/ignite-interpreter-setting.png    | Bin 168157 -> 0 bytes
 .../themes/zeppelin/img/docs-img/ignite-logo.png   | Bin 287178 -> 0 bytes
 .../zeppelin/img/docs-img/ignite-scala-example.png | Bin 713233 -> 0 bytes
 .../zeppelin/img/docs-img/ignite-sql-example.png   | Bin 96362 -> 0 bytes
 docs/index.md                                      |   1 -
 docs/interpreter/ignite.md                         | 128 --------
 docs/quickstart/sql_with_zeppelin.md               |   1 -
 docs/setup/deployment/yarn_install.md              |   2 +-
 docs/usage/interpreter/installation.md             |   5 -
 docs/usage/other_features/zeppelin_context.md      |   2 +-
 ignite/pom.xml                                     | 139 ---------
 .../apache/zeppelin/ignite/IgniteInterpreter.java  | 347 ---------------------
 .../zeppelin/ignite/IgniteInterpreterUtils.java    |  44 ---
 .../zeppelin/ignite/IgniteSqlInterpreter.java      | 182 -----------
 ignite/src/main/resources/default-ignite-jdbc.xml  |  59 ----
 ignite/src/main/resources/interpreter-setting.json |  59 ----
 .../zeppelin/ignite/IgniteInterpreterTest.java     | 100 ------
 .../zeppelin/ignite/IgniteSqlInterpreterTest.java  | 107 -------
 .../java/org/apache/zeppelin/ignite/Person.java    |  50 ---
 pom.xml                                            |   1 -
 zeppelin-distribution/src/bin_license/LICENSE      |   1 -
 28 files changed, 6 insertions(+), 1232 deletions(-)

diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml
index 3b8730a3cc..cc653b37ae 100644
--- a/.github/workflows/core.yml
+++ b/.github/workflows/core.yml
@@ -82,7 +82,7 @@ jobs:
   interpreter-test-non-core:
     runs-on: ubuntu-20.04
     env:
-      INTERPRETERS: 'beam,hbase,jdbc,file,flink-cmd,ignite,cassandra,elasticsearch,bigquery,alluxio,livy,groovy,sap,java,neo4j,submarine,sparql,mongodb,influxdb,ksql'
+      INTERPRETERS: 'beam,hbase,jdbc,file,flink-cmd,cassandra,elasticsearch,bigquery,alluxio,livy,groovy,sap,java,neo4j,submarine,sparql,mongodb,influxdb,ksql'
     steps:
       - name: Checkout
         uses: actions/checkout@v2
diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml
index 9ad2bf5045..98f47375bd 100644
--- a/.github/workflows/frontend.yml
+++ b/.github/workflows/frontend.yml
@@ -19,7 +19,7 @@ env:
   SPARK_PRINT_LAUNCH_COMMAND: "true"
   SPARK_LOCAL_IP: 127.0.0.1
   ZEPPELIN_LOCAL_IP: 127.0.0.1
-  INTERPRETERS: '!beam,!hbase,!jdbc,!file,!flink,!ignite,!cassandra,!elasticsearch,!bigquery,!alluxio,!livy,!groovy,!sap,!java,!neo4j,!submarine,!sparql,!mongodb'
+  INTERPRETERS: '!beam,!hbase,!jdbc,!file,!flink,!cassandra,!elasticsearch,!bigquery,!alluxio,!livy,!groovy,!sap,!java,!neo4j,!submarine,!sparql,!mongodb'
 
 jobs:
   run-e2e-tests-in-zeppelin-web:
diff --git a/Dockerfile b/Dockerfile
index 63c5ee80f2..4b1e8d72ee 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -23,7 +23,7 @@ RUN echo "unsafe-perm=true" > ~/.npmrc && \
     echo '{ "allow_root": true }' > ~/.bowerrc && \
     ./mvnw -B package -DskipTests -Pbuild-distr -Pspark-3.2 -Pinclude-hadoop -Phadoop3 -Pspark-scala-2.12 -Pweb-angular && \
     # Example with doesn't compile all interpreters
-    # ./mvnw -B package -DskipTests -Pbuild-distr -Pspark-3.2 -Pinclude-hadoop -Phadoop3 -Pspark-scala-2.12 -Pweb-angular -pl '!groovy,!submarine,!livy,!hbase,!file,!flink,!ignite' && \
+    # ./mvnw -B package -DskipTests -Pbuild-distr -Pspark-3.2 -Pinclude-hadoop -Phadoop3 -Pspark-scala-2.12 -Pweb-angular -pl '!groovy,!submarine,!livy,!hbase,!file,!flink' && \
     mv /workspace/zeppelin/zeppelin-distribution/target/zeppelin-*/zeppelin-* /opt/zeppelin/ && \
     # Removing stuff saves time, because docker creates a temporary layer
     rm -rf ~/.m2 && \
diff --git a/conf/interpreter-list b/conf/interpreter-list
index 51be181f31..95b01746df 100644
--- a/conf/interpreter-list
+++ b/conf/interpreter-list
@@ -27,7 +27,6 @@ file            org.apache.zeppelin:zeppelin-file:0.10.0                 HDFS fi
 flink           org.apache.zeppelin:zeppelin-flink:0.10.0                Flink interpreter
 groovy          org.apache.zeppelin:zeppelin-groovy:0.10.0               Groovy interpreter
 hbase           org.apache.zeppelin:zeppelin-hbase:0.10.0                Hbase interpreter
-ignite          org.apache.zeppelin:zeppelin-ignite:0.10.0               Ignite interpreter
 java            org.apache.zeppelin:zeppelin-java:0.10.0                 Java interpreter
 jdbc            org.apache.zeppelin:zeppelin-jdbc:0.10.0                 Jdbc interpreter
 kotlin          org.apache.zeppelin:zeppelin-kotlin:0.10.0               Kotlin interpreter
diff --git a/dev/create_release.sh b/dev/create_release.sh
index 6e1ae8923d..4f3ce17f84 100755
--- a/dev/create_release.sh
+++ b/dev/create_release.sh
@@ -98,7 +98,7 @@ function make_binary_release() {
 git_clone
 make_source_package
 
-make_binary_release netinst "-Pweb-angular -Phadoop-2.6 -pl !beam,!hbase,!jdbc,!file,!flink,!ignite,!cassandra,!elasticsearch,!bigquery,!alluxio,!livy,!groovy,!sap,!java,!neo4j,!submarine,!sparql,!mongodb,!ksql -am"
+make_binary_release netinst "-Pweb-angular -Phadoop-2.6 -pl !beam,!hbase,!jdbc,!file,!flink,!cassandra,!elasticsearch,!bigquery,!alluxio,!livy,!groovy,!sap,!java,!neo4j,!submarine,!sparql,!mongodb,!ksql -am"
 make_binary_release all "-Pweb-angular -Phadoop-2.6"
 
 # remove non release files and dirs
diff --git a/docs/_includes/themes/zeppelin/_navigation.html b/docs/_includes/themes/zeppelin/_navigation.html
index 57fe76b8d4..cbef812dc2 100644
--- a/docs/_includes/themes/zeppelin/_navigation.html
+++ b/docs/_includes/themes/zeppelin/_navigation.html
@@ -147,7 +147,6 @@
                 <li><a href="{{BASE_PATH}}/interpreter/hbase.html">HBase</a></li>
                 <li><a href="{{BASE_PATH}}/interpreter/hdfs.html">HDFS</a></li>
                 <li><a href="{{BASE_PATH}}/interpreter/hive.html">Hive</a></li>
-                <li><a href="{{BASE_PATH}}/interpreter/ignite.html">Ignite</a></li>
                 <li><a href="{{BASE_PATH}}/interpreter/influxdb.html">influxDB</a></li>
                 <li><a href="{{BASE_PATH}}/interpreter/java.html">Java</a></li>
                 <li><a href="{{BASE_PATH}}/interpreter/jupyter.html">Jupyter</a></li>
diff --git a/docs/assets/themes/zeppelin/img/docs-img/ignite-interpreter-binding.png b/docs/assets/themes/zeppelin/img/docs-img/ignite-interpreter-binding.png
deleted file mode 100644
index 9f6d5ab3fd..0000000000
Binary files a/docs/assets/themes/zeppelin/img/docs-img/ignite-interpreter-binding.png and /dev/null differ
diff --git a/docs/assets/themes/zeppelin/img/docs-img/ignite-interpreter-setting.png b/docs/assets/themes/zeppelin/img/docs-img/ignite-interpreter-setting.png
deleted file mode 100644
index feec0ccf39..0000000000
Binary files a/docs/assets/themes/zeppelin/img/docs-img/ignite-interpreter-setting.png and /dev/null differ
diff --git a/docs/assets/themes/zeppelin/img/docs-img/ignite-logo.png b/docs/assets/themes/zeppelin/img/docs-img/ignite-logo.png
deleted file mode 100644
index 97a63e8096..0000000000
Binary files a/docs/assets/themes/zeppelin/img/docs-img/ignite-logo.png and /dev/null differ
diff --git a/docs/assets/themes/zeppelin/img/docs-img/ignite-scala-example.png b/docs/assets/themes/zeppelin/img/docs-img/ignite-scala-example.png
deleted file mode 100644
index ffa1c260bf..0000000000
Binary files a/docs/assets/themes/zeppelin/img/docs-img/ignite-scala-example.png and /dev/null differ
diff --git a/docs/assets/themes/zeppelin/img/docs-img/ignite-sql-example.png b/docs/assets/themes/zeppelin/img/docs-img/ignite-sql-example.png
deleted file mode 100644
index 9f43bd2928..0000000000
Binary files a/docs/assets/themes/zeppelin/img/docs-img/ignite-sql-example.png and /dev/null differ
diff --git a/docs/index.md b/docs/index.md
index 228778df5b..45d8922ddf 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -144,7 +144,6 @@ limitations under the License.
   * [HBase](./interpreter/hbase.html)
   * [HDFS](./interpreter/hdfs.html)
   * [Hive](./interpreter/hive.html)
-  * [Ignite](./interpreter/ignite.html)
   * [influxDB](./interpreter/influxdb.html)
   * [Java](./interpreter/java.html)
   * [JDBC](./interpreter/jdbc.html)
diff --git a/docs/interpreter/ignite.md b/docs/interpreter/ignite.md
deleted file mode 100644
index 40c56b89f4..0000000000
--- a/docs/interpreter/ignite.md
+++ /dev/null
@@ -1,128 +0,0 @@
----
-layout: page
-title: "Ignite Interpreter for Apache Zeppelin"
-description: "Apache Ignite in-memory Data Fabric is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash technologies."
-group: interpreter
----
-<!--
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-{% include JB/setup %}
-
-# Ignite Interpreter for Apache Zeppelin
-
-<div id="toc"></div>
-
-## Overview
-[Apache Ignite](https://ignite.apache.org/) In-Memory Data Fabric is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash technologies.
-
-![Apache Ignite]({{BASE_PATH}}/assets/themes/zeppelin/img/docs-img/ignite-logo.png)
-
-You can use Zeppelin to retrieve distributed data from cache using Ignite SQL interpreter. Moreover, Ignite interpreter allows you to execute any Scala code in cases when SQL doesn't fit to your requirements. For example, you can populate data into your caches or execute distributed computations.
-
-## Installing and Running Ignite example
-In order to use Ignite interpreters, you may install Apache Ignite in some simple steps:
-
-1. Ignite provides examples only with source or binary release. Download Ignite [source release](https://ignite.apache.org/download.html#sources) or [binary release](https://ignite.apache.org/download.html#binaries) whatever you want. But you must download Ignite as the same version of Zeppelin's. If it is not, you can't use scala code on Zeppelin. The supported Ignite version is specified in [Supported Interpreter table](https://zeppelin.apache.org/supported_interpreters.html#ignite) fo [...]
-2. Examples are shipped as a separate Maven project, so to start running you simply need to import provided `<dest_dir>/apache-ignite-fabric-{version}-bin/examples/pom.xml` file into your favourite IDE, such as Eclipse.
-
-* In case of Eclipse, Eclipse -> File -> Import -> Existing Maven Projects
-* Set examples directory path to Eclipse and select the pom.xml.
-* Then start `org.apache.ignite.examples.ExampleNodeStartup` (or whatever you want) to run at least one or more ignite node. When you run example code, you may notice that the number of node is increase one by one.
-
-> **Tip. If you want to run Ignite examples on the cli not IDE, you can export executable Jar file from IDE. Then run it by using below command.**
-
-```bash
-nohup java -jar </path/to/your Jar file name>
-```
-
-## Configuring Ignite Interpreter
-At the "Interpreters" menu, you may edit Ignite interpreter or create new one. Zeppelin provides these properties for Ignite.
-
-<table class="table-configuration">
-  <tr>
-    <th>Property Name</th>
-    <th>value</th>
-    <th>Description</th>
-  </tr>
-  <tr>
-    <td>ignite.addresses</td>
-    <td>127.0.0.1:47500..47509</td>
-    <td>Coma separated list of Ignite cluster hosts. See <a href="https://apacheignite.readme.io/docs/cluster-config">Ignite Cluster Configuration</a> section for more details.</td>
-  </tr>
-  <tr>
-    <td>ignite.clientMode</td>
-    <td>true</td>
-    <td>You can connect to the Ignite cluster as client or server node. See <a href="https://apacheignite.readme.io/docs/clients-vs-servers">Ignite Clients vs. Servers</a> section for details. Use true or false values in order to connect in client or server mode respectively.</td>
-  </tr>
-  <tr>
-    <td>ignite.config.url</td>
-    <td></td>
-    <td>Configuration URL. Overrides all other settings.</td>
-  </tr>
-  <tr>
-    <td>ignite.jdbc.url</td>
-    <td>jdbc:ignite:cfg://default-ignite-jdbc.xml</td>
-    <td>Ignite JDBC connection URL.</td>
-  </tr>
-  <tr>
-    <td>ignite.peerClassLoadingEnabled</td>
-    <td>true</td>
-    <td>Enables peer-class-loading. See <a href="https://apacheignite.readme.io/docs/zero-deployment">Zero Deployment</a> section for details. Use true or false values in order to enable or disable P2P class loading respectively.</td>
-  </tr>
-</table>
-
-![Configuration of Ignite Interpreter]({{BASE_PATH}}/assets/themes/zeppelin/img/docs-img/ignite-interpreter-setting.png)
-
-## How to use
-After configuring Ignite interpreter, create your own notebook. Then you can bind interpreters like below image.
-
-![Binding Interpreters]({{BASE_PATH}}/assets/themes/zeppelin/img/docs-img/ignite-interpreter-binding.png)
-
-For more interpreter binding information see [here](../usage/interpreter/overview.html#what-is-interpreter-setting).
-
-### Ignite SQL interpreter
-In order to execute SQL query, use ` %ignite.ignitesql ` prefix. <br>
-Supposing you are running `org.apache.ignite.examples.streaming.wordcount.StreamWords`, then you can use "words" cache( Of course you have to specify this cache name to the Ignite interpreter setting section `ignite.jdbc.url` of Zeppelin ).
-For example, you can select top 10 words in the words cache using the following query
-
-```sql
-%ignite.ignitesql
-select _val, count(_val) as cnt from String group by _val order by cnt desc limit 10
-```
-
-![IgniteSql on Zeppelin]({{BASE_PATH}}/assets/themes/zeppelin/img/docs-img/ignite-sql-example.png)
-
-As long as your Ignite version and Zeppelin Ignite version is same, you can also use scala code. Please check the Zeppelin Ignite version before you download your own Ignite.
-
-```scala
-%ignite
-import org.apache.ignite._
-import org.apache.ignite.cache.affinity._
-import org.apache.ignite.cache.query._
-import org.apache.ignite.configuration._
-
-import scala.collection.JavaConversions._
-
-val cache: IgniteCache[AffinityUuid, String] = ignite.cache("words")
-
-val qry = new SqlFieldsQuery("select avg(cnt), min(cnt), max(cnt) from (select count(_val) as cnt from String group by _val)", true)
-
-val res = cache.query(qry).getAll()
-
-collectionAsScalaIterable(res).foreach(println _)
-```
-
-![Using Scala Code]({{BASE_PATH}}/assets/themes/zeppelin/img/docs-img/ignite-scala-example.png)
-
-Apache Ignite also provides a guide docs for Zeppelin ["Ignite with Apache Zeppelin"](https://apacheignite-sql.readme.io/docs/apache-zeppelin)
diff --git a/docs/quickstart/sql_with_zeppelin.md b/docs/quickstart/sql_with_zeppelin.md
index 39d57291a3..2f04478020 100644
--- a/docs/quickstart/sql_with_zeppelin.md
+++ b/docs/quickstart/sql_with_zeppelin.md
@@ -62,7 +62,6 @@ For the further information about SQL support in Zeppelin, please check
 - [Spark Interpreter](../interpreter/spark.html)
 - [Flink Interpreter](../interpreter/flink.html)
 - [Python Interpreter](../interpreter/python.html)
-- [IgniteSQL Interpreter](../interpreter/ignite.html#ignite-sql-interpreter) for [Apache Ignite](https://ignite.apache.org/)
 
 
 
diff --git a/docs/setup/deployment/yarn_install.md b/docs/setup/deployment/yarn_install.md
index eac3e638f6..994180126e 100644
--- a/docs/setup/deployment/yarn_install.md
+++ b/docs/setup/deployment/yarn_install.md
@@ -118,7 +118,7 @@ bin/zeppelin-daemon.sh stop
 ```
 
 ## Interpreter
-Zeppelin provides various distributed processing frameworks to process data that ranges from Spark, JDBC and Ignite to name a few. This document describes to configure JDBC & Spark interpreters.
+Zeppelin provides various distributed processing frameworks to process data that ranges from Spark and JDBC to name a few. This document describes to configure JDBC & Spark interpreters.
 
 ### Hive
 Zeppelin supports Hive through JDBC interpreter. You might need the information to use Hive and can find in your hive-site.xml
diff --git a/docs/usage/interpreter/installation.md b/docs/usage/interpreter/installation.md
index 48716f6bdb..f3eb9e26b5 100644
--- a/docs/usage/interpreter/installation.md
+++ b/docs/usage/interpreter/installation.md
@@ -157,11 +157,6 @@ You can also find the below community managed interpreter list in `conf/interpre
     <td>org.apache.zeppelin:zeppelin-groovy:0.10.0</td>
     <td>Groovy interpreter</td>
   </tr>
-  <tr>
-    <td>ignite</td>
-    <td>org.apache.zeppelin:zeppelin-ignite:0.10.0</td>
-    <td>Ignite interpreter</td>
-  </tr>
   <tr>
     <td>java</td>
     <td>org.apache.zeppelin:zeppelin-java:0.10.0</td>
diff --git a/docs/usage/other_features/zeppelin_context.md b/docs/usage/other_features/zeppelin_context.md
index 229d0a9b9c..076dbe1f07 100644
--- a/docs/usage/other_features/zeppelin_context.md
+++ b/docs/usage/other_features/zeppelin_context.md
@@ -235,7 +235,7 @@ dynamic-forms and object-interpolation as described below.
 
 |             Interpreters that use Embedded Commands               |
 |-------------------------------------------------------------------|
-|spark.sql (\*), bigquery, cassandra, elasticsearch, file, hbase, ignite, jdbc (\*), livy, markdown, neo4j, python, shell (\*), zengine |
+|spark.sql (\*), bigquery, cassandra, elasticsearch, file, hbase, jdbc (\*), livy, markdown, neo4j, python, shell (\*), zengine |
 
 Dynamic forms are available in all of the interpreters in the table above, 
 but object interpolation is only available in a small, but growing, list of interpreters 
diff --git a/ignite/pom.xml b/ignite/pom.xml
deleted file mode 100644
index 3dbf2e28d1..0000000000
--- a/ignite/pom.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-  
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <artifactId>zeppelin-interpreter-parent</artifactId>
-    <groupId>org.apache.zeppelin</groupId>
-    <version>0.11.0-SNAPSHOT</version>
-    <relativePath>../zeppelin-interpreter-parent/pom.xml</relativePath>
-  </parent>
-
-  <artifactId>zeppelin-ignite</artifactId>
-  <packaging>jar</packaging>
-  <name>Zeppelin: Apache Ignite interpreter</name>
-
-  <properties>
-    <interpreter.name>ignite</interpreter.name>
-    <ignite.version>2.7.6</ignite.version>
-    <ignite.scala.version>${scala.2.11.version}</ignite.scala.version>
-
-    <!--plugin versions-->
-    <plugin.scala.version>2.15.2</plugin.scala.version>
-  </properties>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>org.apache.ignite</groupId>
-      <artifactId>ignite-core</artifactId>
-      <version>${ignite.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.ignite</groupId>
-      <artifactId>ignite-spring</artifactId>
-      <version>${ignite.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.ignite</groupId>
-      <artifactId>ignite-indexing</artifactId>
-      <version>${ignite.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.ignite</groupId>
-      <artifactId>ignite-scalar</artifactId>
-      <version>${ignite.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.scala-lang</groupId>
-      <artifactId>scala-library</artifactId>
-      <version>${ignite.scala.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.scala-lang</groupId>
-      <artifactId>scala-compiler</artifactId>
-      <version>${ignite.scala.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.scala-lang</groupId>
-      <artifactId>scala-reflect</artifactId>
-      <version>${ignite.scala.version}</version>
-    </dependency>
-
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.scala-tools</groupId>
-        <artifactId>maven-scala-plugin</artifactId>
-        <configuration>
-          <scalaVersion>${ignite.scala.version}</scalaVersion>
-        </configuration>
-        <executions>
-          <execution>
-            <id>compile</id>
-            <goals>
-              <goal>compile</goal>
-            </goals>
-            <phase>compile</phase>
-          </execution>
-          <execution>
-            <id>test-compile</id>
-            <goals>
-              <goal>testCompile</goal>
-            </goals>
-            <phase>test-compile</phase>
-          </execution>
-          <execution>
-            <phase>process-resources</phase>
-            <goals>
-              <goal>compile</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <artifactId>maven-enforcer-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <artifactId>maven-resources-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <artifactId>maven-shade-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-        <configuration>
-          <skip>false</skip>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteInterpreter.java b/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteInterpreter.java
deleted file mode 100644
index e104039946..0000000000
--- a/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteInterpreter.java
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.zeppelin.ignite;
-
-import org.apache.ignite.Ignite;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.PrintWriter;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import scala.Console;
-import scala.Some;
-import scala.collection.JavaConversions;
-import scala.tools.nsc.Settings;
-import scala.tools.nsc.interpreter.IMain;
-import scala.tools.nsc.interpreter.Results.Result;
-import scala.tools.nsc.settings.MutableSettings.BooleanSetting;
-import scala.tools.nsc.settings.MutableSettings.PathSetting;
-
-import org.apache.zeppelin.interpreter.Interpreter;
-import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterResult;
-import org.apache.zeppelin.interpreter.InterpreterResult.Code;
-import org.apache.zeppelin.interpreter.InterpreterUtils;
-import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
-import org.apache.zeppelin.scheduler.Scheduler;
-import org.apache.zeppelin.scheduler.SchedulerFactory;
-
-/**
- * Apache Ignite interpreter (http://ignite.incubator.apache.org/).
- *
- * Use the following properties for interpreter configuration:
- *
- * <ul>
- *     <li>{@code ignite.addresses} - coma separated list of hosts in form {@code <host>:<port>}
- *     or {@code <host>:<port_1>..<port_n>} </li>
- *     <li>{@code ignite.clientMode} - indicates that Ignite interpreter
- *     should start node in client mode ({@code true} or {@code false}).</li>
- *     <li>{@code ignite.peerClassLoadingEnabled} - enables/disables peer class loading
- *     ({@code true} or {@code false}).</li>
- *     <li>{@code ignite.config.url} - URL for Ignite configuration. If this URL specified then
- *     all aforementioned properties will not be taken in account.</li>
- * </ul>
- */
-public class IgniteInterpreter extends Interpreter {
-  static final String IGNITE_ADDRESSES = "ignite.addresses";
-
-  static final String IGNITE_CLIENT_MODE = "ignite.clientMode";
-
-  static final String IGNITE_PEER_CLASS_LOADING_ENABLED = "ignite.peerClassLoadingEnabled";
-
-  static final String IGNITE_CFG_URL = "ignite.config.url";
-
-  private Logger logger = LoggerFactory.getLogger(IgniteInterpreter.class);
-  private Ignite ignite;
-  private ByteArrayOutputStream out;
-  private IMain imain;
-  private Throwable initEx;
-
-  public IgniteInterpreter(Properties property) {
-    super(property);
-  }
-
-  @Override
-  public void open() {
-    Settings settings = new Settings();
-
-    URL[] urls = getClassloaderUrls();
-
-    // set classpath
-    PathSetting pathSettings = settings.classpath();
-    StringBuilder sb = new StringBuilder();
-
-    for (File f : currentClassPath()) {
-      if (sb.length() > 0) {
-        sb.append(File.pathSeparator);
-      }
-      sb.append(f.getAbsolutePath());
-    }
-
-    if (urls != null) {
-      for (URL u : urls) {
-        if (sb.length() > 0) {
-          sb.append(File.pathSeparator);
-        }
-        sb.append(u.getFile());
-      }
-    }
-
-    pathSettings.v_$eq(sb.toString());
-    settings.scala$tools$nsc$settings$ScalaSettings$_setter_$classpath_$eq(pathSettings);
-
-    settings.explicitParentLoader_$eq(new Some<>(Thread.currentThread().getContextClassLoader()));
-
-    BooleanSetting b = (BooleanSetting) settings.usejavacp();
-    b.v_$eq(true);
-    settings.scala$tools$nsc$settings$StandardScalaSettings$_setter_$usejavacp_$eq(b);
-
-    out = new ByteArrayOutputStream();
-    imain = new IMain(settings, new PrintWriter(out));
-
-    initIgnite();
-  }
-
-  private List<File> currentClassPath() {
-    List<File> paths = classPath(Thread.currentThread().getContextClassLoader());
-    String[] cps = System.getProperty("java.class.path").split(File.pathSeparator);
-
-    for (String cp : cps) {
-      paths.add(new File(cp));
-    }
-
-    return paths;
-  }
-
-  private List<File> classPath(ClassLoader cl) {
-    List<File> paths = new LinkedList<>();
-
-    if (cl == null) {
-      return paths;
-    }
-
-    if (cl instanceof URLClassLoader) {
-      URLClassLoader ucl = (URLClassLoader) cl;
-      URL[] urls = ucl.getURLs();
-      if (urls != null) {
-        for (URL url : urls) {
-          paths.add(new File(url.getFile()));
-        }
-      }
-    }
-
-    return paths;
-  }
-
-  public Object getLastObject() {
-    Object obj = imain.lastRequest().lineRep().call(
-        "$result",
-        JavaConversions.asScalaBuffer(new LinkedList<>()));
-    return obj;
-  }
-
-  private Ignite getIgnite() {
-    if (ignite == null) {
-      try {
-        String cfgUrl = getProperty(IGNITE_CFG_URL);
-
-        if (cfgUrl != null && !cfgUrl.isEmpty()) {
-          ignite = Ignition.start(new URL(cfgUrl));
-        } else {
-          IgniteConfiguration conf = new IgniteConfiguration();
-
-          conf.setClientMode(Boolean.parseBoolean(getProperty(IGNITE_CLIENT_MODE)));
-
-          TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
-          ipFinder.setAddresses(getAddresses());
-
-          TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-          discoSpi.setIpFinder(ipFinder);
-          conf.setDiscoverySpi(discoSpi);
-
-          conf.setPeerClassLoadingEnabled(
-                  Boolean.parseBoolean(getProperty(IGNITE_PEER_CLASS_LOADING_ENABLED)));
-
-          ignite = Ignition.start(conf);
-        }
-
-        initEx = null;
-      } catch (Exception e) {
-        logger.error("Error in IgniteInterpreter while getIgnite: " , e);
-        initEx = e;
-      }
-    }
-    return ignite;
-  }
-
-  private void initIgnite() {
-    ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
-    try {
-      imain.interpret("@transient var _binder = new java.util.HashMap[String, Object]()");
-      Map<String, Object> binder = (Map<String, Object>) getLastObject();
-
-      if (getIgnite() != null) {
-        binder.put("ignite", ignite);
-
-        imain.interpret("@transient val ignite = "
-            + "_binder.get(\"ignite\")"
-            + ".asInstanceOf[org.apache.ignite.Ignite]");
-      }
-    } finally {
-      Thread.currentThread().setContextClassLoader(contextClassLoader);
-    }
-  }
-
-  @Override
-  public void close() {
-    initEx = null;
-
-    if (ignite != null) {
-      ignite.close();
-      ignite = null;
-    }
-
-    if (imain != null) {
-      imain.close();
-      imain = null;
-    }
-  }
-
-  private List<String> getAddresses() {
-    String prop = getProperty(IGNITE_ADDRESSES);
-
-    if (prop == null || prop.isEmpty()) {
-      return Collections.emptyList();
-    }
-
-    String[] tokens = prop.split(",");
-    List<String> addresses = new ArrayList<>(tokens.length);
-    Collections.addAll(addresses, tokens);
-
-    return addresses;
-  }
-
-  @Override
-  public InterpreterResult interpret(String line, InterpreterContext context) {
-    if (initEx != null) {
-      return IgniteInterpreterUtils.buildErrorResult(initEx);
-    }
-
-    if (line == null || line.trim().length() == 0) {
-      return new InterpreterResult(Code.SUCCESS);
-    }
-
-    return interpret(line.split("\n"));
-  }
-
-  @Override
-  public void cancel(InterpreterContext context) {
-  }
-
-  private InterpreterResult interpret(String[] lines) {
-    String[] linesToRun = new String[lines.length + 1];
-    System.arraycopy(lines, 0, linesToRun, 0, lines.length);
-    linesToRun[lines.length] = "print(\"\")";
-
-    Console.setOut(out);
-    out.reset();
-    Code code = null;
-
-    String incomplete = "";
-    for (int l = 0; l < linesToRun.length; l++) {
-      String s = linesToRun[l];      
-      // check if next line starts with "." (but not ".." or "./") it is treated as an invocation
-      if (l + 1 < linesToRun.length) {
-        String nextLine = linesToRun[l + 1].trim();
-        if (nextLine.startsWith(".") && !nextLine.startsWith("..") && !nextLine.startsWith("./")) {
-          incomplete += s + "\n";
-          continue;
-        }
-      }
-
-      ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
-      try {
-        code = getResultCode(imain.interpret(incomplete + s));
-      } catch (Exception e) {
-        logger.info("Interpreter exception", e);
-        return new InterpreterResult(Code.ERROR, InterpreterUtils.getMostRelevantMessage(e));
-      } finally {
-        Thread.currentThread().setContextClassLoader(contextClassLoader);
-      }
-
-      if (code == Code.ERROR) {
-        return new InterpreterResult(code, out.toString());
-      } else if (code == Code.INCOMPLETE) {
-        incomplete += s + '\n';
-      } else {
-        incomplete = "";
-      }
-    }
-
-    if (code == Code.INCOMPLETE) {
-      return new InterpreterResult(code, "Incomplete expression");
-    } else {
-      return new InterpreterResult(code, out.toString());
-    }
-  }
-
-  private Code getResultCode(Result res) {
-    if (res instanceof scala.tools.nsc.interpreter.Results.Success$) {
-      return Code.SUCCESS;
-    } else if (res instanceof scala.tools.nsc.interpreter.Results.Incomplete$) {
-      return Code.INCOMPLETE;
-    } else {
-      return Code.ERROR;
-    }
-  }
-
-  @Override
-  public FormType getFormType() {
-    return FormType.NATIVE;
-  }
-
-  @Override
-  public int getProgress(InterpreterContext context) {
-    return 0;
-  }
-
-  @Override
-  public List<InterpreterCompletion> completion(String buf, int cursor,
-      InterpreterContext interpreterContext) {
-    return new LinkedList<>();
-  }
-
-  @Override
-  public Scheduler getScheduler() {
-    return SchedulerFactory.singleton().createOrGetFIFOScheduler(
-            IgniteInterpreter.class.getName() + this.hashCode());
-  }
-}
diff --git a/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteInterpreterUtils.java b/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteInterpreterUtils.java
deleted file mode 100644
index 74a0a7ffa9..0000000000
--- a/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteInterpreterUtils.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.zeppelin.ignite;
-
-import org.apache.zeppelin.interpreter.InterpreterResult;
-
-/**
- * Apache Ignite interpreter utils.
- */
-public class IgniteInterpreterUtils {
-  /**
-   * Builds error result from given exception.
-   * @param e Exception.
-   * @return result.
-   */
-  public static InterpreterResult buildErrorResult(Throwable e) {
-    StringBuilder sb = new StringBuilder(e.getMessage());
-
-    while ((e = e.getCause()) != null) {
-      String errMsg = e.getMessage();
-
-      if (errMsg != null) {
-        sb.append('\n').append(errMsg);
-      }
-    }
-
-    return new InterpreterResult(InterpreterResult.Code.ERROR, sb.toString());
-  }
-}
diff --git a/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteSqlInterpreter.java b/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteSqlInterpreter.java
deleted file mode 100644
index 4c236a2329..0000000000
--- a/ignite/src/main/java/org/apache/zeppelin/ignite/IgniteSqlInterpreter.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.zeppelin.ignite;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.zeppelin.interpreter.Interpreter;
-import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterException;
-import org.apache.zeppelin.interpreter.InterpreterResult;
-import org.apache.zeppelin.interpreter.InterpreterResult.Code;
-import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
-import org.apache.zeppelin.scheduler.Scheduler;
-import org.apache.zeppelin.scheduler.SchedulerFactory;
-
-/**
- * Apache Ignite SQL interpreter (http://ignite.apache.org/).
- *
- * Use {@code ignite.jdbc.url} property to set up JDBC connection URL.
- * URL has the following pattern:
- * {@code jdbc:ignite://<hostname>:<port>/<cache_name>}
- *
- * <ul>
- *     <li>Hostname is required.</li>
- *     <li>If port is not defined, 11211 is used (default for Ignite client).</li>
- *     <li>Leave cache_name empty if you are connecting to a default cache.
- *     Note that the cache name is case sensitive.</li>
- * </ul>
- */
-public class IgniteSqlInterpreter extends Interpreter {
-  private static final String IGNITE_JDBC_DRIVER_NAME = "org.apache.ignite.IgniteJdbcDriver";
-
-  static final String IGNITE_JDBC_URL = "ignite.jdbc.url";
-
-  private Logger logger = LoggerFactory.getLogger(IgniteSqlInterpreter.class);
-
-  private Connection conn;
-  private Throwable connEx;
-  private Statement curStmt;
-
-  public IgniteSqlInterpreter(Properties property) {
-    super(property);
-  }
-
-  @Override
-  public void open() {
-    try {
-      Class.forName(IGNITE_JDBC_DRIVER_NAME);
-    } catch (ClassNotFoundException e) {
-      logger.error("Can't find Ignite JDBC driver", e);
-      connEx = e;
-      return;
-    }
-
-    try {
-      logger.info("connect to " + getProperty(IGNITE_JDBC_URL));
-      conn = DriverManager.getConnection(getProperty(IGNITE_JDBC_URL));
-      connEx = null;
-      logger.info("Successfully created JDBC connection");
-    } catch (Exception e) {
-      logger.error("Can't open connection: ", e);
-      connEx = e;
-    }
-  }
-
-  @Override
-  public void close() throws InterpreterException {
-    try {
-      if (conn != null) {
-        conn.close();
-      }
-    } catch (SQLException e) {
-      throw new InterpreterException(e);
-    } finally {
-      conn = null;
-      connEx = null;
-    }
-  }
-
-  @Override
-  public InterpreterResult interpret(String st, InterpreterContext context) {
-    if (connEx != null) {
-      return new InterpreterResult(Code.ERROR, connEx.getMessage());
-    }
-
-    StringBuilder msg = new StringBuilder("%table ");
-    try (Statement stmt = conn.createStatement()) {
-      curStmt = stmt;
-      try (ResultSet res = stmt.executeQuery(st)) {
-        ResultSetMetaData md = res.getMetaData();
-
-        for (int i = 1; i <= md.getColumnCount(); i++) {
-          if (i > 1) {
-            msg.append('\t');
-          }
-          msg.append(md.getColumnName(i));
-        }
-        msg.append('\n');
-
-        while (res.next()) {
-          for (int i = 1; i <= md.getColumnCount(); i++) {
-            msg.append(res.getString(i));
-
-            if (i != md.getColumnCount()) {
-              msg.append('\t');
-            }
-          }
-
-          msg.append('\n');
-        }
-      }
-    } catch (Exception e) {
-      logger.error("Exception in IgniteSqlInterpreter while InterpreterResult interpret: ", e);
-      return IgniteInterpreterUtils.buildErrorResult(e);
-    } finally {
-      curStmt = null;
-    }
-
-    return new InterpreterResult(Code.SUCCESS, msg.toString());
-  }
-
-  @Override
-  public void cancel(InterpreterContext context) {
-    if (curStmt != null) {
-      try {
-        curStmt.cancel();
-      } catch (SQLException e) {
-        // No-op.
-        logger.info("No-op while cancel in IgniteSqlInterpreter", e);
-      } finally {
-        curStmt = null;
-      }
-    }
-  }
-
-  @Override
-  public FormType getFormType() {
-    return FormType.SIMPLE;
-  }
-
-  @Override
-  public int getProgress(InterpreterContext context) {
-    return 0;
-  }
-
-  @Override
-  public Scheduler getScheduler() {
-    return SchedulerFactory.singleton().createOrGetFIFOScheduler(
-            IgniteSqlInterpreter.class.getName() + this.hashCode());
-  }
-
-  @Override
-  public List<InterpreterCompletion> completion(String buf, int cursor,
-      InterpreterContext interpreterContext) {
-    return new LinkedList<>();
-  }
-}
diff --git a/ignite/src/main/resources/default-ignite-jdbc.xml b/ignite/src/main/resources/default-ignite-jdbc.xml
deleted file mode 100644
index 94c12b1aea..0000000000
--- a/ignite/src/main/resources/default-ignite-jdbc.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!--
-    Ignite configuration with all defaults and enabled p2p deployment and enabled events.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:util="http://www.springframework.org/schema/util"
-       xsi:schemaLocation="
-        http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans.xsd
-        http://www.springframework.org/schema/util
-        http://www.springframework.org/schema/util/spring-util.xsd">
-    <bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
-        <property name="clientMode" value="true"/>
-
-        <property name="peerClassLoadingEnabled" value="true"/>
-
-        <!-- Explicitly configure TCP discovery SPI to provide list of initial nodes. -->
-        <property name="discoverySpi">
-            <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
-                <property name="ipFinder">
-                    <!--
-                        Ignite provides several options for automatic discovery that can be used
-                        instead os static IP based discovery. For information on all options refer
-                        to our documentation: http://apacheignite.readme.io/docs/cluster-config
-                    -->
-                    <!-- Uncomment static IP finder to enable static-based discovery of initial nodes. -->
-                    <!--<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">-->
-                    <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
-                        <property name="addresses">
-                            <list>
-                                <!-- In distributed environment, replace with actual host IP address. -->
-                                <value>127.0.0.1:47500..47509</value>
-                            </list>
-                        </property>
-                    </bean>
-                </property>
-            </bean>
-        </property>
-    </bean>
-</beans>
diff --git a/ignite/src/main/resources/interpreter-setting.json b/ignite/src/main/resources/interpreter-setting.json
deleted file mode 100644
index 3601e155ab..0000000000
--- a/ignite/src/main/resources/interpreter-setting.json
+++ /dev/null
@@ -1,59 +0,0 @@
-[
-  {
-    "group": "ignite",
-    "name": "ignite",
-    "className": "org.apache.zeppelin.ignite.IgniteInterpreter",
-    "properties": {
-      "ignite.addresses": {
-        "envName": null,
-        "propertyName": "ignite.addresses",
-        "defaultValue": "127.0.0.1:47500..47509",
-        "description": "Comma separated list of addresses (e.g. 127.0.0.1:47500 or 127.0.0.1:47500..47509)",
-        "type": "textarea"
-      },
-      "ignite.clientMode": {
-        "envName": null,
-        "propertyName": "ignite.clientMode",
-        "defaultValue": true,
-        "description": "Client mode. true or false",
-        "type": "checkbox"
-      },
-      "ignite.config.url": {
-        "envName": null,
-        "propertyName": "ignite.config.url",
-        "defaultValue": "",
-        "description": "Configuration URL. Overrides all other settings.",
-        "type": "url"
-      },
-      "ignite.peerClassLoadingEnabled": {
-        "envName": null,
-        "propertyName": "ignite.peerClassLoadingEnabled",
-        "defaultValue": true,
-        "description": "Peer class loading enabled. True or false",
-        "type": "checkbox"
-      }
-    },
-    "editor": {
-      "editOnDblClick": false,
-      "completionSupport": false
-    }
-  },
-  { 
-    "group": "ignite",
-    "name": "ignitesql",
-    "className": "org.apache.zeppelin.ignite.IgniteSqlInterpreter",
-    "properties": {
-      "ignite.jdbc.url": {
-        "envName": null,
-        "propertyName": "ignite.jdbc.url",
-        "defaultValue": "jdbc:ignite:cfg://default-ignite-jdbc.xml",
-        "description": "Ignite JDBC connection URL.",
-        "type": "string"
-        }
-    },
-    "editor": {
-      "editOnDblClick": false,
-      "completionSupport": false
-    }
-  }
-]
diff --git a/ignite/src/test/java/org/apache/zeppelin/ignite/IgniteInterpreterTest.java b/ignite/src/test/java/org/apache/zeppelin/ignite/IgniteInterpreterTest.java
deleted file mode 100644
index de4588e6bd..0000000000
--- a/ignite/src/test/java/org/apache/zeppelin/ignite/IgniteInterpreterTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.zeppelin.ignite;
-
-import org.apache.ignite.Ignite;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterResult;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.Collections;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-/**
- * Tests for Apache Ignite interpreter ({@link IgniteInterpreter}).
- */
-public class IgniteInterpreterTest {
-  private static final String HOST = "127.0.0.1:47500..47509";
-
-  private static final InterpreterContext INTP_CONTEXT = InterpreterContext.builder().build();
-
-  private IgniteInterpreter intp;
-  private Ignite ignite;
-
-  @Before
-  public void setUp() {
-    TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
-    ipFinder.setAddresses(Collections.singletonList(HOST));
-
-    TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-    discoSpi.setIpFinder(ipFinder);
-
-    IgniteConfiguration cfg = new IgniteConfiguration();
-    cfg.setDiscoverySpi(discoSpi);
-
-    cfg.setGridName("test");
-
-    ignite = Ignition.start(cfg);
-
-    Properties props = new Properties();
-    props.setProperty(IgniteSqlInterpreter.IGNITE_JDBC_URL,
-            "jdbc:ignite:cfg://cache=person@default-ignite-jdbc.xml");
-    props.setProperty(IgniteInterpreter.IGNITE_CLIENT_MODE, "false");
-    props.setProperty(IgniteInterpreter.IGNITE_PEER_CLASS_LOADING_ENABLED, "false");
-    props.setProperty(IgniteInterpreter.IGNITE_ADDRESSES, HOST);
-
-    intp = new IgniteInterpreter(props);
-    intp.open();
-  }
-
-  @After
-  public void tearDown() {
-    ignite.close();
-    intp.close();
-  }
-
-  @Test
-  public void testInterpret() {
-    String sizeVal = "size";
-
-    InterpreterResult result = intp.interpret("import org.apache.ignite.IgniteCache\n" +
-            "val " + sizeVal + " = ignite.cluster().nodes().size()", INTP_CONTEXT);
-
-    assertEquals(InterpreterResult.Code.SUCCESS, result.code());
-    assertTrue(result.message().get(0).getData().contains(sizeVal + ": Int = " +
-            ignite.cluster().nodes().size()));
-
-    result = intp.interpret("\"123\"\n  .toInt", INTP_CONTEXT);
-    assertEquals(InterpreterResult.Code.SUCCESS, result.code());
-  }
-
-  @Test
-  public void testInterpretInvalidInput() {
-    InterpreterResult result = intp.interpret("invalid input", INTP_CONTEXT);
-
-    assertEquals(InterpreterResult.Code.ERROR, result.code());
-  }
-}
diff --git a/ignite/src/test/java/org/apache/zeppelin/ignite/IgniteSqlInterpreterTest.java b/ignite/src/test/java/org/apache/zeppelin/ignite/IgniteSqlInterpreterTest.java
deleted file mode 100644
index 3597769d73..0000000000
--- a/ignite/src/test/java/org/apache/zeppelin/ignite/IgniteSqlInterpreterTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.zeppelin.ignite;
-
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteCache;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.zeppelin.interpreter.InterpreterContext;
-import org.apache.zeppelin.interpreter.InterpreterException;
-import org.apache.zeppelin.interpreter.InterpreterResult;
-import org.apache.zeppelin.interpreter.InterpreterResult.Code;
-import org.apache.zeppelin.interpreter.InterpreterResult.Type;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.Collections;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * Tests for Apache Ignite SQL interpreter ({@link IgniteSqlInterpreter}).
- */
-public class IgniteSqlInterpreterTest {
-  private static final String HOST = "127.0.0.1:47500..47509";
-
-  private static final InterpreterContext INTP_CONTEXT = InterpreterContext.builder().build();
-
-  private Ignite ignite;
-  private IgniteSqlInterpreter intp;
-
-  @Before
-  public void setUp() {
-    TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
-    ipFinder.setAddresses(Collections.singletonList(HOST));
-
-    TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-    discoSpi.setIpFinder(ipFinder);
-
-    IgniteConfiguration cfg = new IgniteConfiguration();
-    cfg.setDiscoverySpi(discoSpi);
-    cfg.setPeerClassLoadingEnabled(true);
-
-    cfg.setGridName("test");
-
-    ignite = Ignition.start(cfg);
-
-    Properties props = new Properties();
-    props.setProperty(IgniteSqlInterpreter.IGNITE_JDBC_URL,
-            "jdbc:ignite:cfg://cache=person@default-ignite-jdbc.xml");
-
-    intp = new IgniteSqlInterpreter(props);
-
-    CacheConfiguration<Integer, Person> cacheConf = new CacheConfiguration<>();
-    cacheConf.setIndexedTypes(Integer.class, Person.class);
-    cacheConf.setName("person");
-
-    IgniteCache<Integer, Person> cache = ignite.createCache(cacheConf);
-    cache.put(1, new Person("sun", 100));
-    cache.put(2, new Person("moon", 50));
-    assertEquals("moon", cache.get(2).getName());
-
-    intp.open();
-  }
-
-  @After
-  public void tearDown() throws InterpreterException {
-    intp.close();
-    ignite.close();
-  }
-
-  @Test
-  public void testSql() {
-    InterpreterResult result = intp.interpret("select name, age from person where age > 10",
-            INTP_CONTEXT);
-
-    assertEquals(Code.SUCCESS, result.code());
-    assertEquals(Type.TABLE, result.message().get(0).getType());
-    assertEquals("NAME\tAGE\nsun\t100\nmoon\t50\n", result.message().get(0).getData());
-  }
-
-  @Test
-  public void testInvalidSql() throws Exception {
-    InterpreterResult result = intp.interpret("select * hrom person", INTP_CONTEXT);
-
-    assertEquals(Code.ERROR, result.code());
-  }
-}
diff --git a/ignite/src/test/java/org/apache/zeppelin/ignite/Person.java b/ignite/src/test/java/org/apache/zeppelin/ignite/Person.java
deleted file mode 100644
index e8bef93c37..0000000000
--- a/ignite/src/test/java/org/apache/zeppelin/ignite/Person.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.zeppelin.ignite;
-
-import org.apache.ignite.cache.query.annotations.QuerySqlField;
-
-import java.io.Serializable;
-
-public class Person implements Serializable {
-  @QuerySqlField
-  private String name;
-
-  @QuerySqlField
-  private int age;
-
-  public Person(String name, int age) {
-    this.name = name;
-    this.age = age;
-  }
-
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public int getAge() {
-    return age;
-  }
-
-  public void setAge(int age) {
-    this.age = age;
-  }
-}
diff --git a/pom.xml b/pom.xml
index d842697928..ba63eef088 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,7 +75,6 @@
     <module>file</module>
     <module>flink</module>
     <module>flink-cmd</module>
-    <module>ignite</module>
     <module>influxdb</module>
     <module>python</module>
     <module>cassandra</module>
diff --git a/zeppelin-distribution/src/bin_license/LICENSE b/zeppelin-distribution/src/bin_license/LICENSE
index 1c4081f412..379a4f42e9 100644
--- a/zeppelin-distribution/src/bin_license/LICENSE
+++ b/zeppelin-distribution/src/bin_license/LICENSE
@@ -33,7 +33,6 @@ The following components are provided under Apache License.
     (Apache 2.0) Apache Curator (org.apache.curator:curator:2.4.0 - http://curator.apache.org/)
     (Apache 2.0) Apache Cassandra (http://cassandra.apache.org/)
     (Apache 2.0) Apache HBase (http://hbase.apache.org/)
-    (Apache 2.0) Apache Ignite (http://ignite.apache.org/)
     (Apache 2.0) Apache Flink (http://flink.apache.org/)
     (Apache 2.0) Apache Jena (https://jena.apache.org/)
     (Apache 2.0) Apache Beam (http://beam.apache.org/)