zeppelin/zeppelin-web
Naman Mishra f8cd64cb50 [ZEPPELIN-3091] Correct aggregation functionality in charts
### What is this PR for?
The aggregation functions interpret NaN columns as 1 which leads to incorrect output being shown in charts. This PR fixes this by correcting the sum, min, max and average aggregation method.

### What type of PR is it?
Bug Fix

### Todos

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-3091

### How should this be tested?
* Update the data field of a paragraph results with %table to contain null values, e.g.
`"data": "age\tvalue\n19\t4\n20\t3\n21\t7\n22\t9\n23\t20\n24\t24\n25\t44\n26\t77\n27\t94\n28\t103\n29\t97\n20\t5\n20\tnull\n"`

The "null" values should be ignored for sum, min, max but included for count (and hence average).

### Screenshots (if appropriate)
![correct_sum](https://user-images.githubusercontent.com/6438072/33609178-14e05988-d9ed-11e7-9f1b-99e0141c5153.png)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No

Author: Naman Mishra <namanmishra1991@gmail.com>

Closes #2696 from namanmishra91/ZEPPELIN-3091 and squashes the following commits:

d8a57c238 [Naman Mishra] Add test
38ad39c65 [Naman Mishra] Merge branch 'master' into ZEPPELIN-3091
568ae3f2a [Naman Mishra] Correct aggregation functionality in charts
2017-12-14 08:39:14 -08:00
..
e2e [ZEPPELIN-2975] Fix e2e CI test profile 2017-10-06 10:54:32 -07:00
src [ZEPPELIN-3091] Correct aggregation functionality in charts 2017-12-14 08:39:14 -08:00
.babelrc [ZEPPELIN-2439] Use babel-preset-env to specify browser compatibility explicitly 2017-04-22 19:20:08 -07:00
.bowerrc Rename zeppelin-web2 -> zeppelin-web 2014-09-06 11:36:28 +09:00
.editorconfig Rename zeppelin-web2 -> zeppelin-web 2014-09-06 11:36:28 +09:00
.eslintrc [ZEPPELIN-2222] Add Network Visualization 2017-06-09 15:37:43 +09:00
bower.json ZEPPELIN-3072: Zeppelin UI becomes slow/unresponsive if there are too many notebooks 2017-11-24 17:54:09 +05:30
Gruntfile.js [ZEPPELIN-2427] Hide navbar and noteAction bar when scrolling down 2017-04-28 02:53:53 -07:00
karma.conf.js ZEPPELIN-3072: Zeppelin UI becomes slow/unresponsive if there are too many notebooks 2017-11-24 17:54:09 +05:30
package.json [ZEPPELIN-2756] Support ansi escape code for colorizing output in browser 2017-09-02 12:21:00 +09:00
pom.xml [ZEPPELIN-2766] Make online resources url configurable at compile time 2017-08-08 11:21:15 +09:00
protractor.conf.js [ZEPPELIN-2342] Improving Test Environment for zeppelin-web (e2e, coverage) 2017-07-14 10:51:48 +09:00
README.md [ZEPPELIN-2342] Improving Test Environment for zeppelin-web (e2e, coverage) 2017-07-14 10:51:48 +09:00
webpack.config.js [ZEPPELIN-2924] Fix broken javascript source map 2017-10-11 19:40:09 +09:00

Zeppelin Web Application

This is Zeppelin's frontend project.

Development Guide

Local Development

It is recommended to install node 6.0.0+ since Zeppelin uses 6.9.1+ (see creationix/nvm)

All build commands are described in package.json

# install required depepdencies and bower packages (only once)
$ npm install -g yarn
$ yarn install

# build zeppelin-web for production
$ yarn run build

# run frontend application only in dev mode (localhost:9000) 
# you need to run zeppelin backend instance also
$ yarn run dev

Supports the following options with using npm environment variable when running the web development mode.

# if you are using a custom port instead of default(8080), 
# you must use the 'SERVER_PORT' variable to run the web application development mode
$ SERVER_PORT=YOUR_ZEPPELIN_PORT yarn run dev

# if you want to use a web dev port instead of default(9000), 
# you can use the 'WEB_PORT' variable
$ WEB_PORT=YOUR_WEB_DEV_PORT yarn run dev

Testing

# running unit tests
$ yarn run test

# running e2e tests: make sure that zeppelin instance started (localhost:8080)
$ yarn run e2e

Packaging

If you want to package the zeppelin-web only, simply run this command in this folder.
This will download all the dependencies including node (the binaries in the folder zeppelin-web/node)

$ mvn package 

Troubleshooting

Git error

In case of the error ECMDERR Failed to execute "git ls-remote --tags --heads git://xxxxx", exit code of #128

change your git config with git config --global url."https://".insteadOf git://

Proxy issues

Try to add to the .bowerrc file the following content:

  "proxy" : "http://<host>:<port>",
  "https-proxy" : "http://<host>:<port>"

also try to add proxy info to yarn install command:

<execution>
	<id>yarn install</id>
	<goals>
    	<goal>yarn</goal>
    </goals>
    <configuration>
    	<arguments>--proxy=http://<host>:<port> --https-proxy=http://<host>:<port></arguments>
    </configuration>
</execution>

and retry to build again.

Contribute on Zeppelin Web

If you wish to help us and contribute to Zeppelin WebApplication, please look at the overall project contribution guidelines and the more focused Zeppelin WebApplication's documentation.