Description

Zeppelin is a collaborative data analytics and visualization tool for distributed, general-purpose data processing systems such as Apache Spark and Apache Flink.

It has two main features:

This project is an improvement or a re-design of the Data Visualization Component.

Zeppelin front-end web application already have rich visualization library based on D3, but is not made to allow other libraries and charts.

The goal of this Google Summer of Code project is to make the visualization module pluggable in order to benefit from the wide range of existing visualization libraries.

Mentors

Unknown User (corneadoug)

BEZZUBOV Alexander

Student

UDANTHA Madhuka

JIRA Issues

 

Original GSOC Issue
Feature Issue

 

Documentation

 

Issue Milestones


 

Milestone-1June 1st - June 5th
Milestone-2June 5th - June 19th
Milestone-3June 19th - June 26th
Milestone-4June 26th - July 3rd
Milestone-5July 3rd - July 13th
Milestone-6July 13th - July 27th
Milestone-7July 27th - August 4th
Milestone-8August 4th - August 17th
Milestone-9 August 17th - August 20th

 

 

 



Milestone-1

Description

This Milestone is to study different charting libraries and understand how we can make a pluggable system.

Since this milestone works as some POC, the source code will be found in the student public repository


Ressources

 

Repositoryhttps://github.com/Madhuka/apache-zeppelin-gsoc
Pull Requesthttps://github.com/Madhuka/apache-zeppelin-gsoc/pull/2

 

 

Feature List

 

Task List


Results


Use case:

 


 

Milestone-2

Description

This Milestone an update of previous Milestone. Instead of making the scope bigger, it was decided that it would be more beneficial to work on code quality.

Since this milestone works as some POC, the source code will be found in the student public repository

Ressources

 

Repositoryhttps://github.com/Madhuka/apache-zeppelin-gsoc
Pull Requesthttps://github.com/Madhuka/apache-zeppelin-gsoc/pull/3

 

 

Feature List

 

Task List

Change on UI:

Using Zeppelin Tools:

Improving Code:

Testing:

Git Flow Process

Architecture Improvements

Style

Results

Project is using grunt so you can test application from grunt test (Few test cases are developed)

It contains industrial standard plugins for grunt (clean, wiredep, concurrent, karma. etc.). Grunt serve will start the server

It will start app and open the home page as below

Now you can check milestone in the menu. You will have select the data set from click as button. Data set is store as csv file. D3 is used to read it.

 

 After you picked the 'Data Set' (Car or Bike), You can pick charting library then chart type as below


 

Milestone-3

Description

This Milestone will try to make the chart libraries totally pluggable (no hard coded configuration).

We also want to push the project to have more test and be an example when it comes to web testing.

Since this milestone works as some POC, the source code will be found in the student public repository

Ressources

 

Repositoryhttps://github.com/Madhuka/apache-zeppelin-gsoc
Pull Request

https://github.com/Madhuka/apache-zeppelin-gsoc/pull/5

https://github.com/Madhuka/apache-zeppelin-gsoc/pull/6

 

 

Feature List

 

Task List

Readme:

UI:

Bugs:

Code Style:


Html reduction:


Make code scalable for pluggable libraries:

Fix a few bad things:

Tests:

Results

20 Test Cases are written 'grunt test'

Updated UIs

URL:

http://madhuka.github.io/gh-pages-m3/#/milestone01



Milestone-4

Description

Controller should work with any chart library and it should be abstracted. Therefore no library switches in Dev.  Writing the steps how to add new chart type (such as pie chart) and steps to be followed for adding a new chart library to application are main task for documentation. Since this milestone works as some POC, the source code will be found in the student public repository

Ressources

 

Repositoryhttps://github.com/Madhuka/apache-zeppelin-gsoc
Pull Requesthttps://github.com/Madhuka/apache-zeppelin-gsoc/pull/9

 

 

Feature List

 

Task List

Documentations

 

Fixes

 

Deployment

 

Test Cases:

 

Results

 

Site : 


 


Milestone-5

Description

In this milestone, we will start working on Zeppelin Code Base. It will also help you being more familiar with the source code of the project.

Feature List
Resources

 

Repositoryhttps://github.com/Madhuka/incubator-zeppelin
Pull Requesthttps://github.com/apache/incubator-zeppelin/pull/147

 

 

Task List

Results

'grunt test' is working after the fix

Decisions can be found in email thread subjected "[GSOC] Map Visualization for Zeppelin" in dev@zeppelin.incubator.apache.org

Libraries was on  the list for decision

 

JIRA on Map Visualizations  

 

Milestone-6

Description

In this milestone, we will work on Zeppelin Code Base. Adding leafletJS library for (World Map) Mapping visualization and sample tutorial 

Feature List
Resources

 

Repositoryhttps://github.com/Madhuka/incubator-zeppelin
Pull Requesthttps://github.com/apache/incubator-zeppelin/pull/152

 

 

Task List
Results

Tutorial script will download the sample data set and draw the map.

Sample tutorial in clean pack.

Sample Data set in table view.

Makers on Map after results querying 

Data validation is exposed as services. (you can set schema for data model and called with the services)

 

Milestone-7

Description

In this milestone, we will work on Zeppelin Code Base. Improve Data Validation factory for generalize mode and where it can be extendable. 

Feature List
Resources

 

Repositoryhttps://github.com/apache/incubator-zeppelin
Pull Requesthttps://github.com/apache/incubator-zeppelin/pull/152

 

 

Task List
Results

Drawing map with data validation

Above is the data set, Data validation will check is Longitude and Latitude is in valid range. Here Map with above data sert

 

Milestone-8

Description

In this milestone, we will work on Zeppelin Documentation, Code Polishing and Test Spec

Feature List

 

 

 

Resources

 

Repositoryhttps://github.com/apache/incubator-zeppelin
Pull Request

https://github.com/apache/incubator-zeppelin/pull/203

https://github.com/apache/incubator-zeppelin/pull/179

https://github.com/apache/incubator-zeppelin/pull/152

 

 

Task List
Results

Here is sample schema for Map data model

    'MapSchema': {
      type: ['string', 'string', 'number', 'number', 'number'],
      range: {
        latitude: {
          low: -90,
          high: 90
        },
        longitude: {
          low: -180,
          high: 180
        }
      }
    }

Updating Map feature for zeppelin with data validator

Test Spec for build and grunt test improvement

New 12 Test Specs are added with covering data validation user cases. 

 

 

Documentation updating 

 

Milestone-9

Description

In this milestone, we have completed  all the work on Zeppelin (Coding, Documentation and Test Case). It mainly improve documentation

Feature List
Resources

 

Repositoryhttps://github.com/apache/incubator-zeppelin
Pull Request

https://github.com/apache/incubator-zeppelin/pull/203

https://github.com/apache/incubator-zeppelin/pull/152

https://github.com/apache/incubator-zeppelin/pull/179

 

 

Task List

Improving Documentation