mirror of
https://github.com/apache/zeppelin
synced 2026-05-24 09:38:26 +00:00
73 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
45cc8a9e8a |
[ZEPPELIN-2217] AdvancedTransformation for Visualization
### What is this PR for? `AdvancedTransformation` has more detailed options while providing existing features of `PivotTransformation` and `ColumnselectorTransformation` which Zeppelin already has  Here are some features which advanced-transformation can provide. 1. **(screenshot)** multiple sub charts 2. **(screenshot)** parameter widgets: `input`, `checkbox`, `option`, `textarea` 3. **(screenshot)** expand/fold axis and parameter panels 4. **(screenshot)** clear axis and parameter panels 5. **(screenshot)** remove duplicated columns in an axis 6. **(screenshot)** limit column count in an axis 7. configurable char axes: `valueType`, `axisType`, `description`, ... 8. configurable chart parameters 9. lazy transformation 10. parsing parameters automatically based on their type: `int`, `float`, `string`, `JSON` 11. multiple transformation methods 12. re-initialize whole configuration based on spec hash. 13. **(screenshot)** shared axis #### API Details: Spec `AdvancedTransformation` requires `spec` which includes axis and parameter details for charts. - Let's create 2 sub-charts called `simple-line` and `step-line`. - Each sub chart can have different `axis` and `parameter` depending on their requirements. ```js constructor(targetEl, config) { super(targetEl, config) const spec = { charts: { 'simple-line': { sharedAxis: true, /** set if you want to share axes between sub charts, default is `false` */ axis: { 'xAxis': { dimension: 'multiple', axisType: 'key', }, 'yAxis': { dimension: 'multiple', axisType: 'aggregator'}, 'category': { dimension: 'multiple', axisType: 'group', }, }, parameter: { 'xAxisUnit': { valueType: 'string', defaultValue: '', description: 'unit of xAxis', }, 'yAxisUnit': { valueType: 'string', defaultValue: '', description: 'unit of yAxis', }, 'dashLength': { valueType: 'int', defaultValue: 0, description: 'the length of dash', }, }, }, 'step-line': { axis: { 'xAxis': { dimension: 'single', axisType: 'unique', }, 'yAxis': { dimension: 'multiple', axisType: 'value', }, }, parameter: { 'xAxisUnit': { valueType: 'string', defaultValue: '', description: 'unit of xAxis', }, 'yAxisUnit': { valueType: 'string', defaultValue: '', description: 'unit of yAxis', }, 'noStepRisers': { valueType: 'boolean', defaultValue: false, description: 'no risers in step line', widget: 'checkbox', }, }, }, } this.transformation = new AdvancedTransformation(config, spec) } ``` #### API Details: Axis Spec | Field Name | Available Values (type) | Description | | --- | --- | --- | |`dimension` | `single` | Axis can contains only 1 column | |`dimension` | `multiple` | Axis can contains multiple columns | |`axisType` | `key` | Column(s) in this axis will be used as `key` like in `PivotTransformation`. These columns will be served in `column.key` | |`axisType` | `aggregator` | Column(s) in this axis will be used as `value` like in `PivotTransformation`. These columns will be served in `column.aggregator` | |`axisType` | `group` | Column(s) in this axis will be used as `group` like in `PivotTransformation`. These columns will be served in `column.group` | |`axisType` | (string) | Any string value can be used here. These columns will be served in `column.custom` | |`maxAxisCount` | (int) | The maximum column count that this axis can contains. (unlimited if `undefined`) | |`valueType` | (string) | Describe the value type just for annotation | Here is an example. ```js axis: { 'xAxis': { dimension: 'multiple', axisType: 'key', }, 'yAxis': { dimension: 'multiple', axisType: 'aggregator'}, 'category': { dimension: 'multiple', axisType: 'group', maxAxisCount: 2, valueType: 'string', }, }, ``` #### API Details: Parameter Spec | Field Name | Available Values (type) | Description | | --- | --- | --- | |`valueType` | `string` | Parameter which has string value | |`valueType` | `int` | Parameter which has int value | |`valueType` | `float` | Parameter which has float value | |`valueType` | `boolean` | Parameter which has boolean value used with `checkbox` widget usually | |`valueType` | `JSON` | Parameter which has JSON value used with `textarea` widget usually. `defaultValue` should be `""` (empty string). This ||`defaultValue` | (any) | Default value of this parameter. `JSON` type should have `""` (empty string) | |`description` | (string) | Description of this parameter. This value will be parsed as HTML for pretty output | |`widget` | `input` | Use [input](https://developer.mozilla.org/en/docs/Web/HTML/Element/input) widget. This is the default widget (if `widget` is undefined)| |`widget` | `checkbox` | Use [checkbox](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox) widget. | |`widget` | `textarea` | Use [textarea](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea) widget. | |`widget` | `option` | Use [select + option](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select) widget. This parameter should have `optionValues` field as well. | |`optionValues` | (Array<string>) | Available option values used with the `option` widget | Here is an example. ```js parameter: { // string type, input widget 'xAxisUnit': { valueType: 'string', defaultValue: '', description: 'unit of xAxis', }, // boolean type, checkbox widget 'inverted': { widget: 'checkbox', valueType: 'boolean', defaultValue: false, description: 'invert x and y axes', }, // string type, option widget with `optionValues` 'graphType': { widget: 'option', valueType: 'string', defaultValue: 'line', description: 'graph type', optionValues: [ 'line', 'smoothedLine', 'step', ], }, // HTML in `description` 'dateFormat': { valueType: 'string', defaultValue: '', description: 'format of date (<a href="https://docs.amcharts.com/3/javascriptcharts/AmGraph#dateFormat">doc</a>) (e.g YYYY-MM-DD)', }, // JSON type, textarea widget 'yAxisGuides': { widget: 'textarea', valueType: 'JSON', defaultValue: '', description: 'guides of yAxis ', }, ``` #### API Details: Transformer Spec `AdvancedTransformation` supports 3 transformation methods. The return value will depend on the transformation method type. ```js const spec = { charts: { 'simple': { /** default value of `transform.method` is the flatten cube. */ axis: { ... }, parameter: { ... } }, 'cube-group': { transform: { method: 'cube', }, axis: { ... }, parameter: { ... }, } 'no-group': { transform: { method: 'raw', }, axis: { ... }, parameter: { ... }, } ``` | Field Name | Available Values (type) | Description | | --- | --- | --- | |`method` | `object` | designed for [amcharts: serial](https://www.amcharts.com/demos/date-based-data/) | |`method` | `array` | designed for [highcharts: column](http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/column-basic/) | |`method` | `drill-down` | designed for [highcharts: drill-down](http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/column-drilldown/) | |`method` | `raw` | will return the original `tableData.rows` | Whatever you specified as `transform.method`, the `transformer` value will be always function for lazy computation. ```js // advanced-transformation.util#getTransformer if (transformSpec.method === 'raw') { transformer = () => { return rows; } } else if (transformSpec.method === 'array') { transformer = () => { ... return { ... } } } ``` #### Feature Details: Automatic parameter parsing Advanced transformation will parse parameter values automatically based on their type: `int`, `float`, `string`, `JSON` - See also `advanced-transformation-util.js#parseParameter` #### Feature Details: re-initialize the whole configuration based on spec hash ```js // advanced-transformation-util#initializeConfig const currentVersion = JSON.stringify(spec) if (!config.spec || !config.spec.version || config.spec.version !== currentVersion) { spec.version = currentVersion // reset config... } ``` #### Feature Details: Shared Axes If you set `sharedAxis` to `true` in chart specification, then these charts will share their axes. (default is `false`) ```js const spec = { charts: { 'column': { transform: { method: 'array', }, sharedAxis: true, axis: { ... }, parameter: { ... }, }, 'stacked': { transform: { method: 'array', }, sharedAxis: true, axis: { ... } parameter: { ... }, }, ```  #### API Details: Usage in Visualization#render() Let's assume that we want to create 2 sub-charts called `basic` and `no-group`. - https://github.com/1ambda/zeppelin-ultimate-line-chart (an practical example) ```js drawBasicChart(parameter, column, transformer) { const { ... } = transformer() } drawNoGroupChart(parameter, column, transformer) { const { ... } = transformer() } render(data) { const { chart, parameter, column, transformer, } = data if (chart === 'basic') { this.drawBasicChart(parameter, column, transformer) } else if (chart === 'no-group') { this.drawNoGroupChart(parameter, column, transformer) } } ``` ### What type of PR is it? [Feature] ### Todos NONE ### What is the Jira issue? [ZEPPELIN-2217](https://issues.apache.org/jira/browse/ZEPPELIN-2217) ### How should this be tested? 1. Clone https://github.com/1ambda/zeppelin-ultimate-line-chart 2. Create a symbolic link `ultimate-line-chart.json` into `$ZEPPELIN_HOME/helium` 3. Modify the `artifact` value to proper absolute path considering your local machine. 4. Install the above visualization in `localhost:9000/#helium` 5. Test it ### Screenshots (if appropriate) #### 1. *(screenshot)* multiple sub charts  #### 2. *(screenshot)* parameter widgets: `input`, `checkbox`, `option`, `textarea`  #### 3. *(screenshot)* expand/fold axis and parameter panels  #### 4. *(screenshot)* clear axis and parameter panels  #### 5. *(screenshot)* remove duplicated columns in an axis  #### 6. *(screenshot)* limit column count in an axis  ### Questions: * Does the licenses files need update? - NO * Is there breaking changes for older versions? - NO * Does this needs documentation? - NO Author: 1ambda <1amb4a@gmail.com> Closes #2098 from 1ambda/ZEPPELIN-2217/advanced-transformation and squashes the following commits: |
||
|
|
53a28a3a91 |
Groovy Interpreter for Apazhe Zeppelin [ZEPPELIN-2176]
### What is this PR for? Groovy Interpreter ### What type of PR is it? Feature ### Todos * [ Tests ] - Task * [ Documentation ] - Task ### What is the Jira issue? [ZEPPELIN-2176] ### How should this be tested? Follow the groovy interpreter documentation samples ### Questions: * Does the licenses files need update? YES * Is there breaking changes for older versions? NO * Does this needs documentation? YES Author: dlukyanov <dlukyanov@ukr.net> Author: dm <dm> Closes #2135 from dlukyanov/master and squashes the following commits: |
||
|
|
9e8d7eb90c |
[Minor][ZEPPELIN-2328] Separate Helium related docs from 'Contribution' section
### What is this PR for?
Actually writing "Visualization", "Spell" or "Application" type of Helium package is not a direct contribution to Zeppelin. So i created "Helium Framework" section and moved "Writing Zeppelin Visualization", "Writing Zeppelin Spell", and "Writing Zeppelin Application" under "Helium Framework" from "Contribution".
### What type of PR is it?
Documentation
### What is the Jira issue?
[ZEPPELIN-2328](https://issues.apache.org/jira/browse/ZEPPELIN-2328)
### Screenshots (if appropriate)
- Before
<img src="https://cloud.githubusercontent.com/assets/10060731/24444171/743d8c7e-14a0-11e7-8a10-ec02596d2a19.png" width="300px">
- After
<img src="https://cloud.githubusercontent.com/assets/10060731/24444245/aecfe274-14a0-11e7-8488-99086b1db415.png" width="300px">
### 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>
Closes #2202 from AhyoungRyu/ZEPPELIN-2328 and squashes the following commits:
|
||
|
|
8bb37c2c2e |
[DOCS][ZEPPELIN-2140] Add docs for notebookRepo REST API
### What is this PR for? Added a docs page for notebookRepo REST API based on [NotebookRepoRestApi.java](https://github.com/apache/zeppelin/blob/master/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRepoRestApi.java). And this PR will cover "notebook repository reload endpoint" : #2043 as well. ### What type of PR is it? Documentation ### What is the Jira issue? [ZEPPELIN-2140](https://issues.apache.org/jira/browse/ZEPPELIN-2140) ### How should this be tested? Just checking screenshots will be faster! ### Screenshots (if appropriate) - In navbar <img width="300" alt="screen shot 2017-02-25 at 11 02 02 pm" src="https://cloud.githubusercontent.com/assets/10060731/23331707/76551c8a-fbae-11e6-99b8-cc686e208c39.png"> - API description list <img width="751" alt="screen shot 2017-02-25 at 10 54 21 pm" src="https://cloud.githubusercontent.com/assets/10060731/23331704/57dd7d4c-fbae-11e6-8cc2-189fc9e68ece.png"> <img width="715" alt="screen shot 2017-02-25 at 10 54 29 pm" src="https://cloud.githubusercontent.com/assets/10060731/23331708/85f722a0-fbae-11e6-9b40-7f4c98761dd6.png"> <img width="730" alt="screen shot 2017-02-25 at 10 54 38 pm" src="https://cloud.githubusercontent.com/assets/10060731/23331709/8882b93a-fbae-11e6-9fe2-95bc2620e2c9.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> Closes #2067 from AhyoungRyu/ZEPPELIN-2140 and squashes the following commits: |
||
|
|
5e75145ac8 |
[ZEPPELIN-1859] Add MongoNotebookRepo
### What is this PR for? This PR adds Mongo notebook storage. The reason that I made this feature is for HA(High Availability). S3 and Git storage are the only available method for HA as far as I know. I'm managing Ambari cluster in my lab, but Zeppelin is the most vulnerable part of it. Because one server contains all Zeppelin notes. Therefore, by deploying MongoDB's [replica set](https://docs.mongodb.com/manual/replication/) and using it as Zeppelin notebook storage, I would like to achieve HA. #### The way to use Mongo DB as notebook storage ```sh export ZEPPELIN_NOTEBOOK_STORAGE=org.apache.zeppelin.notebook.repo.MongoNotebookRepo ``` or at `zeppelin-site.xml`: ```xml <property> <name>zeppelin.notebook.storage</name> <value>org.apache.zeppelin.notebook.repo.MongoNotebookRepo</value> <description>notebook persistence layer implementation</description> </property> ``` #### Configurable environment variables * `ZEPPELIN_NOTEBOOK_MONGO_URI` MongoDB connection URI * `ZEPPELIN_NOTEBOOK_MONGO_DATABASE` Database name * `ZEPPELIN_NOTEBOOK_MONGO_COLLECTION` Collection name * `ZEPPELIN_NOTEBOOK_MONGO_AUTOIMPORT` If `true`, automatically import your local notes. Default `false` They can be configured at `zeppelin-site.xml` as well: * `zeppelin.notebook.mongo.uri` * `zeppelin.notebook.mongo.database` * `zeppelin.notebook.mongo.collection` * `zeppelin.notebook.mongo.autoimport` #### Future work If we use Mongo DB's [oplog tailing](https://docs.mongodb.com/manual/core/replica-set-oplog/), maybe multi-server architecture is possible. ### What type of PR is it? [Feature] ### Todos * [ ] - Write a documentation for Mongo storage ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1859 ### How should this be tested? #### Install MongoDB (if you don't have) ```sh brew update brew install mongodb ``` #### Build Zepppelin ```sh mvn clean package -DskipTests ``` #### Run Zeppelin wih Mongo storage ```sh export ZEPPELIN_NOTEBOOK_STORAGE=org.apache.zeppelin.notebook.repo.MongoNotebookRepo export ZEPPELIN_NOTEBOOK_MONGO_AUTOIMPORT=true bin/zeppelin-daemon.sh restart ``` The default database and collection names are `zeppelin`, `notes` respectively. And `ZEPPELIN_NOTEBOOK_MONGO_AUTOIMPORT` option will automatically import your `local notes` that don't exist in MongoDB. #### Check whether a document in MongoDB updated Create, update, remove a note and open mongo shell: ```sh mongo zeppelin ``` And check state of the note is the same as you think: ```sh db.notes.findOne({_id: '<NOTE_ID_THAT_YOU_WANT_TO_SEE>'}) ``` #### Confirm that configurations works ```sh export ZEPPELIN_NOTEBOOK_STORAGE=org.apache.zeppelin.notebook.repo.MongoNotebookRepo export ZEPPELIN_NOTEBOOK_MONGO_AUTOIMPORT=true export ZEPPELIN_NOTEBOOK_MONGO_DATABASE=otherdb export ZEPPELIN_NOTEBOOK_MONGO_COLLECTION=mynotes export ZEPPELIN_NOTEBOOK_MONGO_URI=mongodb://localhost:27017 bin/zeppelin-daemon.sh restart ``` The collection `mynotes` should be created in db `otherdb`. Let's check it! ```sh mongo otherdb db.mynotes.count() ``` The result should not be zero. #### Confirm that configurations from `zeppelin-site.xml` works Open your `conf/zeppelin-site.xml` file (copy from `zeppelin-site.xml.template` if you don't have one), and comment lines below: ```xml <!-- <property> <name>zeppelin.notebook.storage</name> <value>org.apache.zeppelin.notebook.repo.VFSNotebookRepo</value> <description>notebook persistence layer implementation</description> </property> --> ``` And add lines below: ```xml <property> <name>zeppelin.notebook.storage</name> <value>org.apache.zeppelin.notebook.repo.MongoNotebookRepo</value> <description>notebook persistence layer implementation</description> </property> <property> <name>zeppelin.notebook.mongo.uri</name> <value>mongodb://localhost</value> <description>MongoDB connection URI used to connect to a MongoDB database server</description> </property> <property> <name>zeppelin.notebook.mongo.database</name> <value>zepl</value> <description>database name for notebook storage</description> </property> <property> <name>zeppelin.notebook.mongo.collection</name> <value>notes</value> <description>collection name for notebook storage</description> </property> <property> <name>zeppelin.notebook.mongo.autoimport</name> <value>false</value> <description>import local notes into MongoDB automatically on startup</description> </property> ``` This time we will import a note via `mongoimport`. I made it possible to import a note from JSON just in case. ```sh cd $ZEPPELIN_HOME/notebook/<NOTE_ID_YOU_WANT_TO_IMPORT> mongoimport --db zepl --collection notes --file note.json ``` Ensure that your environment variables are clean(just reopen your terminal if you are not), and restart zeppelin: ```sh bin/zeppelin-daemon.sh restart ``` Open browser and go to `localhost:8080`. The note that you imported should be shown. ### Questions: * Does the licenses files need update? Maybe...? I used [java-mongodb-driver](https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver/3.4.1) which has *The Apache Software License, Version 2.0* * Is there breaking changes for older versions? NO * Does this needs documentation? YES Author: Jun Kim <i2r.jun@gmail.com> Closes #1826 from tae-jun/ZEPPELIN-1859 and squashes the following commits: |
||
|
|
90e8b80b56 |
[ZEPPELIN-2070][DOCS] Create Docs for Spell
### What is this PR for? Docs for Spell which was added by #1940 ### What type of PR is it? [Documentation] ### Todos * [x] - Add docs for spell * [x] - Fix typo in vis docs ### What is the Jira issue? [ZEPPELIN-2070](https://issues.apache.org/jira/browse/ZEPPELIN-2070) ### How should this be tested? - `cd docs` - `/usr/local/bin/bundle exec jekyll serve --watch` - Open `http://localhost:4000/development/writingzeppelinspell.html` ### Screenshots (if appropriate)   ### Questions: * Does the licenses files need update? - NO * Is there breaking changes for older versions? - NO * Does this needs documentation? - YES Author: 1ambda <1amb4a@gmail.com> Closes #1998 from 1ambda/ZEPPELIN-2070/docs-for-spell and squashes the following commits: |
||
|
|
d053e5b333 |
[MINOR][ZEPPELIN-2100] Enable to go back to zeppelin.apache.org in docs site
### What is this PR for? Currently there is no link to go back to [zeppelin.apache.org](https://zeppelin.apache.org) in each docs site. It's a bit inconvenient. e.g. In [https://zeppelin.apache.org/docs/0.8.0-SNAPSHOT/](https://zeppelin.apache.org/docs/0.8.0-SNAPSHOT/), if I click Zeppelin main logo, it keeps me staying in docs main page not the root: [zeppelin.apache.org](https://zeppelin.apache.org). So I separated main logo in navbar to "Zeppelin" and "version". And linked [production_url](https://github.com/apache/zeppelin/blob/master/docs/_config.yml#L34) and [BASE_PATH](https://github.com/apache/zeppelin/blob/master/docs/_config.yml#L62) to each of them. Please see the below screenshot img. ### What type of PR is it? Improvement ### What is the Jira issue? [ZEPPELIN-2100](https://issues.apache.org/jira/browse/ZEPPELIN-2100) ### How should this be tested? Run docs site locally under `ZEPPELIN_HOME/docs` as described in here: [Run website locally](https://github.com/apache/zeppelin/blob/master/docs/README.md#run-website-locally) ### Screenshots (if appropriate) In [https://zeppelin.apache.org/docs/0.8.0-SNAPSHOT/](https://zeppelin.apache.org/docs/0.8.0-SNAPSHOT/), - Before <img width="400px" src="https://cloud.githubusercontent.com/assets/10060731/22860466/6064c964-f142-11e6-9bc1-bbd34fa42c18.png"> - After <img width="500px" src="https://cloud.githubusercontent.com/assets/10060731/22860469/69364568-f142-11e6-963d-7b6ab33330c3.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> Closes #2008 from AhyoungRyu/change/mainLogoUrlToOfficialSite and squashes the following commits: |
||
|
|
300f753234 |
[ZEPPELIN-1619] Load js package as a plugin visualization
### What is this PR for?
Current helium plugin application api (experimental) requires create library in java class, and need to create both backend / frontend code in the package. Which is good if your plugin requires both frontend and backend code running.
However, when user just want to make new visualization which completely runs on front-end side in javascript, creating helium application in java project and taking care of backend code can be bit of overhead and barrier for javascript developers.
This PR adds capability to load pure javascript package as a visualization.
### how it works
1. create (copy, download) 'helium package json' file into `ZEPPELIN_HOME/helium` directory.
The json file point visualization js package in npm repository or local file system in `artifact` field.
`type` field in the json file need to be `VISUALIZATION`
Here's an example (zeppelin-examples/zeppelin-example-horizontalbar/zeppelin-example-horizontalbar.json)
```
{
"type" : "VISUALIZATION",
"name" : "zeppelin_horizontalbar",
"description" : "Horizontal Bar chart (example)",
"artifact" : "./zeppelin-examples/zeppelin-example-horizontalbar",
"icon" : "<i class='fa fa-bar-chart rotate90flipX'></i>"
}
```
2. Go to helium GUI menu. (e.g. http://localhost:8080/#/helium).
The menu will list all available packages.
<img width="796" alt="writing_visualization_helium_menu" src="https://cloud.githubusercontent.com/assets/1540981/21749660/0f401c10-d558-11e6-9961-b6d0a9c023d8.png">
3. click 'enable' in any package want to use.
Once a visualization package is enabled, `HeliumVisualizationFactory` will collect all enabled visualizations and create js bundle on the fly.
4. js bundle will be loaded on notebook and additional visualization becomes available

### Programming API to create new plugin visualization.
Simply extends [visualization.js](https://github.com/apache/zeppelin/blob/master/zeppelin-web/src/app/visualization/visualization.js) and overrides some methods, such as
```
/**
* get transformation
*/
getTransformation() {
// override this
};
/**
* Method will be invoked when data or configuration changed
*/
render(tableData) {
// override this
};
/**
* Refresh visualization.
*/
refresh() {
// override this
};
/**
* method will be invoked when visualization need to be destroyed.
* Don't need to destroy this.targetEl.
*/
destroy() {
// override this
};
/**
* return {
* template : angular template string or url (url should end with .html),
* scope : an object to bind to template scope
* }
*/
getSetting() {
// override this
};
```
This is exactly the same api that built-in visualization uses.
an example implementation included `zeppelin-examples/zeppelin-example-horizontalbar/horizontalbar.js`.
Actually [all built-in visualizations](https://github.com/apache/zeppelin/tree/master/zeppelin-web/src/app/visualization/builtins) are example
### Packaging and publishing visualization
Each visualization will need `package.json` file (e.g. `zeppelin-examples/zeppelin-example-horizontalbar/package.json`) to be packaged.
Package can be published in npm repository or package can be deployed to the local filesystem.
`zeppelin-examples/zeppelin-example-horizontalbar/` is an example package that is deployed in the local filesystem
### Development mode
First, locally install and enable your development package by setting `artifact` field to the development directory.
Then run zeppelin-web in visualization development mode with following command
```
cd zeppelin-web
npm run visdev
```
When you have change in your local development package, just reload your notebook. Then Zeppelin will automatically rebuild / reload the package.
Any feedback would be appreciated!
### What type of PR is it?
Feature
### Todos
* [x] - Load plugin visualization js package on runtime
* [x] - Make the feature works in zeppelin Binary package
* [x] - Show loading indicator while 'enable' / 'disable' package
* [x] - Add document
* [x] - Add license of new dependency
* [x] - Development mode
* [x] - Propagate error to front-end
* [x] - Display multiple versions of a package.
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-1619
### How should this be tested?
Build Zeppelin with `-Pexamples` flag. That'll install example visualization package `horizontalbar`.
You'll able to select `horizontalbar` along with other built-in visualizations

To test npm online package install capability, Place [zeppelin-bubble.json](https://github.com/Leemoonsoo/zeppelin-bubble/blob/master/zeppelin-bubble.json) in hour local registry (`ZEPPELIN_HOME/helium`) and enable it in Helium gui menu.
And then zeppelin will download package from npm repository and load.

### Questions:
* Does the licenses files need update? yes
* Is there breaking changes for older versions? no
* Does this needs documentation? yes
Author: Lee moon soo <moon@apache.org>
Closes #1842 from Leemoonsoo/ZEPPELIN-1619-rebased and squashes the following commits:
|
||
|
|
1697275717 |
[MINOR][ZEPPELIN-1913] Separate "Apache Zeppelin Configuration" from quickstart page
### What is this PR for? I think [Quick Start](https://zeppelin.apache.org/docs/0.7.0-SNAPSHOT/install/install.html) page should contain minimum contents to get start Zeppelin for beginners. If not, this can be making the entrance barrier high. But after "SSL configuration" contents were added, configuration section came so long. So I created new page `configuration.md` and separated the all configuration related contents from Quick Start page. ### What type of PR is it? Documentation ### What is the Jira issue? [ZEPPELIN-1913](https://issues.apache.org/jira/browse/ZEPPELIN-1913) ### How should this be tested? Outline the steps to test the PR here. ### Screenshots (if appropriate) - before (quickstart guide + Zeppelin configuration in one page)  - after (separated two page)  ### 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> Closes #1855 from AhyoungRyu/separate/confContents and squashes the following commits: |
||
|
|
c854fda936 |
[DOCS] Separate "interpreter exec hooks (experimental)" from interpreter overview page
### What is this PR for?
After #1470 merged, "(Experimental) Interpreter Execution Hooks" is added under https://zeppelin.apache.org/docs/0.7.0-SNAPSHOT/manual/interpreters.html page. But i think we need to keep this page as simple as possible since it's explaining the basic concept of Zeppelin interpreters. So I separated "(Experimental) Interpreter Execution Hooks" section from `interpreters.md` and created new page `interpreterexechooks.md`.
And also fixed some markdown rendering issues.
### What type of PR is it?
Documentation
### What is the Jira issue?
N/A
### How should this be tested?
Please see below screenshots :)
### Screenshots (if appropriate)
- Before (under [manual/interpreter.md](https://zeppelin.apache.org/docs/0.7.0-SNAPSHOT/manual/interpreters.html#experimental-interpreter-execution-hooks)
<img width="437" alt="screen shot 2016-12-15 at 5 05 49 pm]" src="https://cloud.githubusercontent.com/assets/10060731/21216362/a3bb89f0-c2e9-11e6-9678-8e6d8749229b.png">
- After
<img width="300" alt="dropdown" src="https://cloud.githubusercontent.com/assets/10060731/21216570/dcca63f0-c2ea-11e6-90a9-969d363b423a.png">
<img width="437" alt="screen shot 2016-12-15 at 5 05 58 pm" src="https://cloud.githubusercontent.com/assets/10060731/21216363/a6c2d82e-c2e9-11e6-920c-a603e25e1699.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>
Closes #1768 from AhyoungRyu/separate-eventhook-section and squashes the following commits:
|
||
|
|
31f584cfee |
[ZEPPELIN-1320] Run zeppelin interpreter process as web front end user
Have recreated this from https://github.com/apache/zeppelin/pull/1322 ### What is this PR for? While running a Notebook using shell, spark, python uses same user as which zeppelin server is running. Which means these interprets have same permission on file system as zeppelin server. IMO users should be able to impersonate themselves as a complete security system. ### What type of PR is it? [Improvement] ### Todos - [x] - Update doc - [x] - FIX NPEs - [x] - FIX CI ### What is the Jira issue? - [ZEPPELIN-1320](https://issues.apache.org/jira/browse/ZEPPELIN-1320) ### How should this be tested? - Enable shiro auth in shiro.ini - Add ssh key for the same user you want to try and impersonate (say user1). ``` adduser user1 ssh-keygen ssh user1localhost mkdir -p .ssh cat ~/.ssh/id_rsa.pub | ssh user1localhost 'cat >> .ssh/authorized_keys' ``` - Start zeppelin server, try and run following in paragraph in a notebook - Go to interpreter setting page, and enable "User Impersonate" in any of the interpreter (in my example its shell interpreter) ``` %sh whoami ``` Check that it should run as new user, i.e. "user1" ### Screenshots (if appropriate)  ### Questions: - Does the licenses files need update? no - Is there breaking changes for older versions? no - Does this needs documentation? yes Author: Prabhjyot Singh <prabhjyotsingh@gmail.org> Closes #1554 from prabhjyotsingh/ZEPPELIN-1320-2 and squashes the following commits: |
||
|
|
f127237fb1 |
Closes [ZEPPELIN-1505] Add Scio interpreter
### What is this PR for? Closes #ZEPPELIN-1505. Adds Scio interpreter. Scio is a Scala DSL on top of Dataflow/Beam. ### What type of PR is it? Improvement - ZEPPELIN-1505 ### Todos - [x] - test integration with zeppelin context (zeppelin context is too tightly coupled withs spark) - [x] - what to do about code completion? - [x] - add more tests? - [x] - add helpers to display data - [x] - add doc in `docs/interpreter/scio` ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1505 ### How should this be tested? ``` mvn -pl scio,zeppelin-display,zeppelin-interpreter -Dtest='org.apache.zeppelin.scio.*' -DfailIfNoTests=false test ``` ### Screenshots  ### Questions: - Does the licenses files need update? ~~no~~ yes - Is there breaking changes for older versions? no - Does this needs documentation? yes (included in the PR) Author: Rafal Wojdyla <rav@spotify.com> Closes #1471 from ravwojdyla/scio and squashes the following commits: |
||
|
|
c9adf7161f |
ZEPPELIN-415 document for Apache Kylin Interpreter
### What is this PR for? This is document for Apache Kylin Interpreter for Apache Zeppelin ### What type of PR is it? Documentation ### Todos Done ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-415 ### How should this be tested? ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? This is document Author: zhongjian <jiatuer@163.com> Author: Jason <jiatuer@163.com> Closes #1576 from janzhongi/master and squashes the following commits: |
||
|
|
5b1b811540 |
[ZEPPELIN-1644] make document easier to follow key instructions
### What is this PR for? Doc should deliver key features and recommended usage more simple and easy way. - docs/install/install.md has lots of duplicated section with README.md. - docs/install/install.md includes install from binary as well as build from source. I've seen that makes some beginners try download binary and then source build it again. - recommended and key usage need to be highlighted. - Be less verbose in key instructions. Move optional, additional info from in the middle of key instruction to end of the each page. ### What type of PR is it? Improvement ### Todos * [x] - improve doc ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1644 ### How should this be tested? Run doc locally ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: Lee moon soo <moon@apache.org> Closes #1615 from Leemoonsoo/ZEPPELIN-1644 and squashes the following commits: |
||
|
|
201d601224 |
[ZEPPELIN-1552] Search button goes to next line when display's width shortens.
### What is this PR for? In document page(http://zeppelin.apache.org/docs/0.7.0-SNAPSHOT/), the search button goes to next line when display's width shortens. ### What type of PR is it? [Improvement] ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1552 ### Screenshots (if appropriate) <img width="927" alt="2016-10-15 2 04 00" src="https://cloud.githubusercontent.com/assets/6567102/19398321/0d76a1c4-9287-11e6-86e0-9f120c00b143.png"> when (768px ≤ width < 992px) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: hyonzin <hyeonjin507@gmail.com> Author: AhyoungRyu <ahyoungryu@apache.org> Author: 정현진 <hyeonjin507@gmail.com> Closes #1525 from hyonzin/ZEPPELIN-1552 and squashes the following commits: |
||
|
|
465c51a419 |
ZEPPELIN-335. Pig Interpreter
### What is this PR for? Based on #338 , I refactor most of pig interpreter. As I don't think the approach in #338 is the best approach. In #338, we use script `bin/pig` to launch pig script, it is different to control that job (hard to kill and get progress and stats info). In this PR, I use pig api to launch pig script. Besides that I implement another interpreter type `%pig.query` to leverage the display system of zeppelin. For the details you can check `pig.md` ### What type of PR is it? [Feature] ### Todos * Syntax Highlight * new interpreter type `%pig.udf`, so that user can write pig udf in zeppelin directly and don't need to build udf jar manually. ### What is the Jira issue? * https://issues.apache.org/jira/browse/ZEPPELIN-335 ### How should this be tested? Unit test is added and also manual test is done ### Screenshots (if appropriate)  ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jeff Zhang <zjffdu@apache.org> Author: Ali Bajwa <abajwa@hortonworks.com> Author: AhyoungRyu <ahyoungryu@apache.org> Author: Jeff Zhang <zjffdu@gmail.com> Closes #1476 from zjffdu/ZEPPELIN-335 and squashes the following commits: |
||
|
|
523868ed8d |
[DOCS] Zeppelin Flink Spark tutorial
Moon recommended I migrate a How To tutorial I wrote into the website.
http://mail-archives.apache.org/mod_mbox/incubator-zeppelin-users/201511.mbox/browser
I didn't create a JIRA issue, it doesn't look like that is nessicary for website updates? If it is, I'm sorry I'll go make one. Sorry, I'm new.
Author: rawkintrevo <trevor.d.grant@gmail.com>
Closes #418 from rawkintrevo/zeppelin-flink-spark-tutorial and squashes the following commits:
|
||
|
|
c7ce709f35 |
[ZEPPELIN-1279] Zeppelin with CDH5.x docker document.
### What is this PR for? This PR is for the documentation of running zeppelin with CDH docker environment. and This PR is the part of https://issues.apache.org/jira/browse/ZEPPELIN-1198. Tested CDH5.7 on ubuntu. ### What type of PR is it? Documentation ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1281 ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: astroshim <hsshim@nflabs.com> Author: AhyoungRyu <ahyoungryu@apache.org> Author: HyungSung <hsshim@nflabs.com> Closes #1451 from astroshim/ZEPPELIN-1281 and squashes the following commits: |
||
|
|
403c8c4e79 |
[ZEPPELIN-682] New interpreter for Apache Beam (incubating)/DataFlow
## What is this PR for? The PR is a interpreter for [Apache Beam](http://beam.incubator.apache.org) which is an open source unified platform for data processing pipelines. A pipeline can be build using one of the Beam SDKs. The execution of the pipeline is done by different Runners . Currently, Beam supports Apache Flink Runner, Apache Spark Runner, and Google Dataflow Runner. ### What type of PR is it? - Feature ### Todos * Test case * Review Comments * Documentation ### What is the Jira issue? * [ZEPPELIN-682] ### How should this be tested? - Start the Zeppelin server - The prefix of interpreter is `%beam` and then write your code with required imports and the runner ### Screenshots (if appropriate)   ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? yes Author: mahmoudelgamal <mahmoudf.elgamal@gmail.com> Author: mfelgamal <mahmoudf.elgamal@gmail.com> Author: Fouad <fuad.assayadi@gmail.com> Closes #1334 from mfelgamal/beam-interpreter-static-repl-7 and squashes the following commits: |
||
|
|
cee58aa038 |
[ZEPPELIN-1279] Spark on Mesos Docker.
### What is this PR for? This PR is for the documentation of running zeppelin on production environments especially spark on mesos via Docker. Related issue is https://github.com/apache/zeppelin/pull/1227 and https://github.com/apache/zeppelin/pull/1318 and I got a lot of hints from https://github.com/sequenceiq/hadoop-docker. Tested on ubuntu. ### What type of PR is it? Documentation ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1279 ### How should this be tested? You can refer to https://github.com/apache/zeppelin/blob/master/docs/README.md#build-documentation. ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: astroshim <hsshim@nflabs.com> Author: AhyoungRyu <fbdkdud93@hanmail.net> Author: HyungSung <hsshim@nflabs.com> Closes #1389 from astroshim/ZEPPELIN-1279 and squashes the following commits: |
||
|
|
eccfe0076b |
[ZEPPELIN-1280][Spark on Yarn] Documents for running zeppelin on production environments using docker.
### What is this PR for? This PR is for the documentation of running zeppelin on production environments especially spark on yarn. Related issue is https://github.com/apache/zeppelin/pull/1227 and I got a lot of hints from https://github.com/sequenceiq/hadoop-docker. Tested on ubuntu. ### What type of PR is it? Documentation ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1280 ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: astroshim <hsshim@nflabs.com> Author: AhyoungRyu <fbdkdud93@hanmail.net> Author: HyungSung <hsshim@nflabs.com> Closes #1318 from astroshim/ZEPPELIN-1280 and squashes the following commits: |
||
|
|
85d4df4f0c |
[ZEPPELIN-1219] Add searching feature to Zeppelin docs site
### What is this PR for? As more and more document pages are added, it's really hard to find specific pages. So I added searching feature to Zeppelin documentation site([jekyll](https://jekyllrb.com/) based site) using [lunr.js](http://lunrjs.com/). - **How does it work?** I created [`search_data.json`]( |
||
|
|
b965503291 |
[ZEPPELIN-1198][Spark Standalone] Documents for running zeppelin on production environments.
### What is this PR for? This PR is for documentation for running zeppelin on production environments. ### What type of PR is it? Documentation ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1198 ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: astroshim <hsshim@nflabs.com> Closes #1227 from astroshim/ZEPPELIN-1198/standalone and squashes the following commits: |
||
|
|
57c264da2d |
BigQuery Interpreter for Apazhe Zeppelin[ZEPPELIN-1153]
### What is this PR for? Google BigQuery is a popular no-ops datawarehouse. This commit will enable Apache Zeppelin users to perform BI and Analytics on their datasets in BigQuery. ### What type of PR is it? Feature ### Todos * Make bigquery interpreter appear in the interpreters section in the UI * Build SQL completion * Authorization of non-gcp ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1153 ### How should this be tested? copy conf/zeppelin-site.xml.template to conf/zeppelin-site.xml Add org.apache.zeppelin.bigquery.bigQueryInterpreter to property zeppelin.interpreters in zeppelin-site.xml Start Zeppelin Add BigQuery Interpreter with your project ID Create new note with %bsql.sql and run your SQL against public datasets in bigquery. ### Screenshots (if appropriate)  ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Babu Prasad Elumalai <babupe@google.com> Author: babupe <babupe@google.com> Author: Alexander Bezzubov <bzz@apache.org> Closes #1170 from babupe/babupe-bigquery and squashes the following commits: |
||
|
|
6bd4ede7e5 |
[DOC][MINOR] Add shell interpreter docs to _navigation.html
### What is this PR for? After #1087 merged, a new docs `shell.md` was added. But in the docs website, still Shell interpreter link points to `pleasecontribute.html`. So I changed this link, applied TOC and added more descriptions. ### What type of PR is it? Documentation ### Todos * [x] - Change `pleasecontribute.html` -> `shell.html` * [x] - Apply TOC(table of contents) * [x] - Add more description to `shell.md` ### 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> Closes #1138 from AhyoungRyu/improve/shell-docs and squashes the following commits: |
||
|
|
d87f2e5dfb |
[ZEPPELIN-1054] Improve "Credentials" UI
### What is this PR for? Currently, users can add new their credential info for data source authentication in Zeppelin "Credentials" menu. Even though it was saved successfully, they can't see the whole list of credentials in Zeppelin UI. This PR enables to `get` all credential list, `edit` and `remove` via UI. *NOTE : Since this patch was implemented based on #1030 API, should be tested after #1030 merged.* ### What type of PR is it? Improvement & Documentation ### Todos * [x] - rename `interpreter_authorization.md` -> `datasource_authorization.md` * [x] - remove `Interpreter Authorization` section (since we don't have this feature yet : [ZEPPELIN-945](https://issues.apache.org/jira/browse/ZEPPELIN-945)) * [x] - rebase after #1030 & #1064 merged * [ ] - address reviews ### What is the Jira issue? [ZEPPELIN-1054](https://issues.apache.org/jira/browse/ZEPPELIN-1054) ### How should this be tested? 1. Apply this patch and build `zeppelin-web` as described in [here](https://github.com/apache/zeppelin/tree/master/zeppelin-web#configured-environment). 2. Go to `Credentials` menu. 3. Add new credentials -> you can see the credential info in the credential list table. 4. You can edit & delete them. -> Compare with `conf/credentials.json` ### Screenshots (if appropriate) - Before <img width="952" alt="screen shot 2016-06-28 at 12 37 10 am" src="https://cloud.githubusercontent.com/assets/10060731/16407604/69b0c4d8-3cc9-11e6-8284-9abe2969cdc1.png"> - After  If there is no credential <img width="957" alt="screen shot 2016-06-28 at 12 19 46 am" src="https://cloud.githubusercontent.com/assets/10060731/16407620/7838995e-3cc9-11e6-90ba-1bd0173a1b49.png"> - `datasource_authorization.md` <img width="845" alt="screen shot 2016-06-28 at 7 58 24 pm" src="https://cloud.githubusercontent.com/assets/10060731/16439169/d4026034-3d6a-11e6-930f-86de12e5fc49.png"> <img width="851" alt="screen shot 2016-06-28 at 7 58 44 pm" src="https://cloud.githubusercontent.com/assets/10060731/16439170/d62f2842-3d6a-11e6-9d3f-ecc5cda29c77.png"> <img width="846" alt="screen shot 2016-06-28 at 8 00 20 pm" src="https://cloud.githubusercontent.com/assets/10060731/16439200/fed58390-3d6a-11e6-9aa2-8cff5a1b7b66.png"> ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? yes Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #1100 from AhyoungRyu/ZEPPELIN-1054 and squashes the following commits: |
||
|
|
3ad809f6b5 |
[DOC][ZEPPELIN-732] Helium Application
### What is this PR for? After #836 and #1031 merged into master branch, I also applied TOC(table of contents) to newly added `writingzeppelinapplication.md`. And also added this docs link under `index.md`'s docs list. ### What type of PR is it? Documentation ### Todos * [x] - Apply TOC(table of contents) to `writingzeppelinapplication.md` and add this docs to `index.md` ### 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> Closes #1133 from AhyoungRyu/docs/ZEPPELIN-732 and squashes the following commits: |
||
|
|
9463fb8547 |
[ZEPPELIN-732] Helium Application
### What is this PR for?
This PR implements pluggable Application Framework.
Here's summary of the change.
**Applicaiton**
Base class of user application. User application should extends `org.apache.zeppelin.helium.Application`.
It looks like
```java
public abstract class Application {
/**
* When application loaded
* params context Application context
*/
public Application(ApplicationContext context) {
this.context = context;
}
/**
* This method can be invoked multiple times before unload(),
* Invoked just after application loaded or when paragraph output is updated
* param args Required resources from paragraph
*/
public abstract void run(ResourceSet args)
throws ApplicationException, IOException;
/**
* this method is invoked just before application is removed
*/
public abstract void unload() throws ApplicationException;
}
```
**HeliumPackage**
`org.apache.zeppelin.helium.HeliumPackage` keeps information of application package.
Package informations includes
```
{
type : "APPLICATION", // type of this package
name : "zeppelin.app", // application name. [organizationName].[appName] format
description : "App description", // description
artifact : "groupId:artifactId:version", // artifact name for maven repository
className : "org.apache.zeppelin.helium.MyApp", // application class that extends org.apache.zeppelin.helium.Application
resources : [[]], // required resource
icon : '<i class="fa fa-clock-o"></i>' // icon
}
```
`resources` field defines what kind of data this application requires, from ResourcePool.
"resourceName" and ":className" works in the array.
inner array combines each resourceName, :className with 'AND'
outer array combines inner array with 'OR'.
For example,
```
resources : [
[ "name1", ":java.util.Date"],
[ "name1", "name2"]
]
```
Then Zeppelin searches ResourcePool, first for resource name "name1" and resource type "java.util.Date" from resourcePool then resource name "name1" and "name2".
Once resources are found, they'll be passed to `Application.run()` method
**Package Registry**
`org.apache.zeppelin.helium.HeliumRegistry` provides list of available HeliumPackages.
Currently `HeliumLocalRegistry` is implemented and it provides list by reading HeliumPackage json files under ./helium directory in the file system. Later there will be some class like `HeliumOnlineRegistry' which reads available package from a community managed online central registry.
**Development mode**
`org.apache.zeppelin.interpreter.dev.*` package is provided for development support.
Developer can run their app inside of their IDE, that connects to running Zeppelin instance and display output.
**Application Suggestion**
Once paragraph becomes FINISHED status after run, Zeppelin searches resources from ResourcesPool that belongs to current paragraph. And compare all HeliumPackage if these resources satisfies their requirements ('resources' field). If there're available app, Helium button will be displayed.

User can see and select available application for this paragraph.

**Application selection**
After application is loaded, application icon will be displayed. So user can select and switch between apps.

if built-in visualization is available, application icon will be displayed next to built-in visualizations

**Experimental**
While this is new feature and API and specification may change, i'd suggest mark this feature as a experimental for a while.
### What type of PR is it?
Feature
### Todos
* [x] - Helium Application framework
* [x] - App launcher
* [x] - App display and selectors
* [x] - Package registry
* [x] - Development mode
* [x] - Make CI green
* [x] - Improve comment in source codes
* [x] - Documentation
* [x] - Examples
* [x] - Mark experimental
* [ ] - Review
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-732
### How should this be tested?
Will be updated with examples
### Screenshots (if appropriate)

### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? yes
Author: Lee moon soo <moon@apache.org>
Closes #836 from Leemoonsoo/ZEPPELIN-732-up and squashes the following commits:
|
||
|
|
c348161df0 |
[ZEPPELIN-1023] Add more credential apis.
### What is this PR for? This PR is for supporting various Credential APIs for users. ### What type of PR is it? Improvement ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1023 ### How should this be tested? - to create credential information. ``` curl -XPUT -H "Content-Type: application/json" "http://localhost:8080/api/credential" -d '{"entity" : "e1", "username" : "user1", "password" : "testpass"}' ``` - to get credential information. ``` curl -XGET -H "Content-Type: application/json" "http://localhost:8080/api/credential" ``` - to remove credential entity information. ``` curl -XDELETE -H "Content-Type: application/json" "http://localhost:8080/api/credential/e1" ``` - to remove all credential information. ``` curl -XDELETE -H "Content-Type: application/json" "http://localhost:8080/api/credential" ``` ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: astroshim <hsshim@nflabs.com> Author: AhyoungRyu <fbdkdud93@hanmail.net> Author: HyungSung <hsshim@nflabs.com> Closes #1030 from astroshim/ZEPPELIN-1023 and squashes the following commits: |
||
|
|
09f0ebda9b |
[DOC] Update doc image in Explore Zeppelin UI page
### What is this PR for? There were several changes in Zeppelin UI after #860, #1006, #1013, #1081 so update screenshot of documents accordingly. ### What type of PR is it? Documentation ### 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: Mina Lee <mina.hyeji.lee@gmail.com> Author: Mina Lee <minalee@apache.org> Closes #1089 from minahlee/doc/ZEPPELIN-1002 and squashes the following commits: |
||
|
|
5975125f18 |
[ZEPPELIN-1018] Apply auto "Table of Contents" generator to Zeppelin docs website
### What is this PR for? I added auto TOC(Table of Contents) generator for Zeppelin documentation website. TOC can help people looking through whole contents at a glance and finding what they want quickly. I just added `<div id="toc"></div>` to the each documentation header. [`toc`](https://github.com/apache/zeppelin/compare/master...AhyoungRyu:ZEPPELIN-1018?expand=1#diff-85af09fb498a5667ea455391533f945dR3) recognize `<h2>` & `<h3>` as a title in the docs and it automatically generate TOC. So I set a rule for this work. (I'll write this rule on `docs/CONTRIBUTING.md` or [docs/howtocontributewebsite](https://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/development/howtocontributewebsite.html)). ``` # Level-1 Heading <- Use only for the main title of the page ## Level-2 Heading <- Start with this one ### Level-3 heading <- Only use this one for child of Level-2 toc only recognize Level-2 & Level-3 ``` Please see the below attached screenshot image. ### What type of PR is it? Improvement & Documentation ### Todos * [x] - Add TOC generator * [x] - Apply TOC(`<div id="toc"></div>`) to every documentation and reorganize each headers(apply the above rule) * [x] - Fix some broken code block in several docs * [x] - Apply TOC to `r.md` (Currently R docs has some duplicated info since [this one]( |
||
|
|
4efb39f450 |
[ZEPPELIN-1046] bin/install-interpreter.sh for netinst package
### What is this PR for? Implementation of bin/install-interpreter.sh for netinst package which suggested in the [discussion](http://apache-zeppelin-users-incubating-mailing-list.75479.x6.nabble.com/Ask-opinion-regarding-0-6-0-release-package-tp3298p3314.html). Some usages will be ``` # download all interpreters provided by Apache Zeppelin project bin/install-interpreter.sh --all # download an interpreter with name (for example markdown interpreter) bin/install-interpreter.sh --name md # download an (3rd party) interpreter with specific maven artifact name bin/install-interpreter.sh --name md -t org.apache.zeppelin:zeppelin-markdown:0.6.0-SNAPSHOT ``` If it looks fine, i'll continue the work (refactor code, and add test) ### What type of PR is it? Feature ### Todos * [x] - working implementation * [x] - refactor * [x] - add test ### What is the Jira issue? * Open an issue on Jira https://issues.apache.org/jira/browse/ZEPPELIN/ * Put link here, and add [ZEPPELIN-*Jira number*] in PR title, eg. [ZEPPELIN-533] ### How should this be tested? Outline the steps to test the PR here. ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? * Is there breaking changes for older versions? * Does this needs documentation? Author: Lee moon soo <moon@apache.org> Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #1042 from Leemoonsoo/netinst and squashes the following commits: |
||
|
|
5ddc1ef87e |
[ZEPPELIN-996] Improve first page and dropdown menu in documentation site
### What is this PR for? Current Zeppelin documentation site is little bit hard to find a way for Zeppelin beginners. It will not easy to improve this at a time, but I did the below as a start of this work. 1. Restructured dropdown menu and added each category names 2. Added a overview list(with short description) to first page of website (index.md) so that people can look through the overall contents in Zeppelin website at a glance. (as [Apache Spark](http://spark.apache.org/docs/latest/#where-to-go-from-here) and [Apache Mesos](http://mesos.apache.org/documentation/latest/) does) Please see the attached screenshot images :) ### What type of PR is it? Improvement & Documentation ### Todos * [x] - Change outdated screenshot images * [x] - Combine `text.md`, `table.md` and `html.md` to `basicdisplaysystem.md` * [x] - Fix dead link in `virtual_machine.md` * [x] - Improve dropdown menu and reorder * [x] - Improve first page(`index.md`) * [x] - Combine with #995 after it is merged into master ### What is the Jira issue? [ZEPPELIN-996](https://issues.apache.org/jira/browse/ZEPPELIN-996) ### How should this be tested? 1. Apply this patch and [build the docs website with jekyll](https://github.com/apache/zeppelin/tree/master/docs#build-documentation) 2. Check the first page(index.html) and dropdown menu ### Screenshots (if appropriate) - Dropdown menu  - First page <img width="717" alt="screen shot 2016-06-14 at 1 28 58 pm" src="https://cloud.githubusercontent.com/assets/10060731/16058631/3ab2cb6c-3234-11e6-95f4-180290df3d02.png"> <img width="694" alt="screen shot 2016-06-14 at 1 29 11 pm" src="https://cloud.githubusercontent.com/assets/10060731/16058639/43d68918-3234-11e6-921c-28436bfca33d.png"> <img width="649" alt="screen shot 2016-06-14 at 1 29 39 pm" src="https://cloud.githubusercontent.com/assets/10060731/16058650/501ec6d6-3234-11e6-9292-53ae84acc18a.png"> <img width="684" alt="screen shot 2016-06-14 at 1 29 57 pm" src="https://cloud.githubusercontent.com/assets/10060731/16058643/4637c8f2-3234-11e6-9b12-a233906f4c8b.png"> <img width="650" alt="screen shot 2016-06-14 at 1 30 12 pm" src="https://cloud.githubusercontent.com/assets/10060731/16058655/56c5af22-3234-11e6-8d29-9b7937728948.png"> <img width="636" alt="screen shot 2016-06-14 at 1 30 22 pm" src="https://cloud.githubusercontent.com/assets/10060731/16058656/58d1187e-3234-11e6-9171-ab7390b4a526.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> Closes #1004 from AhyoungRyu/ZEPPELIN-996 and squashes the following commits: |
||
|
|
4a4691fa59 |
[MINOR] Make nav zeppelin version to point ZEPPELIN_VERSION in _config.yml
### What is this PR for?
One less line to change when releasing docs by making `ZEPPELIN_VERSION` to be retrieved from `_config.yml`.
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? Will be updated in https://cwiki.apache.org/confluence/display/ZEPPELIN/Preparing+Zeppelin+Release
Author: Mina Lee <minalee@apache.org>
Closes #997 from minahlee/docs/navZeppelinVersion and squashes the following commits:
|
||
|
|
1826c74584 |
[ZEPPELIN-990] Add header anchor for Zeppelin documentation site
### What is this PR for? Sometimes we want to share some docs title link as github markdown page does. This PR enables this feature also in Zeppelin documentation site. ### What type of PR is it? Improvement ### Todos * [x] - Add `anchor.min.js` under `docs/assets/themes/zeppelin/js/` * [x] - Add integration js code to `docs.js` * [x] - Disable default decoration below anchor icon ### What is the Jira issue? [ZEPPELIN-990](https://issues.apache.org/jira/browse/ZEPPELIN-990) ### How should this be tested? 1. Apply this patch 2. [Build docs site using jekyll](https://github.com/apache/zeppelin/tree/master/docs#build-documentation) and browse [localhost:4000](http://localhost:4000/) 3. Hover any titles in any docs ### Screenshots (if appropriate)  ### Questions: * Does the licenses files need update? Yes * Is there breaking changes for older versions? No * Does this needs documentation? No Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #995 from AhyoungRyu/ZEPPELIN-990 and squashes the following commits: |
||
|
|
7e1ad5b14a |
ZEPPELIN-974 Merge TajoInterpreter into JdbcInterpreter
### What is this PR for? Merging TajoInterpreter into JdbcInterpreter, and removing TajoInterprete ### What type of PR is it? [Feature] ### Todos * [x] - Remove TajoInterpreter and Document jdbc.md ### What is the Jira issue? * https://issues.apache.org/jira/browse/ZEPPELIN-974 ### How should this be tested? ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jongyoul Lee <jongyoul@gmail.com> Closes #985 from jongyoul/ZEPPELIN-974 and squashes the following commits: |
||
|
|
8553a08803 |
[ZEPPELIN-939] Improve notebook authorization documentation
### What is this PR for? Currently Zeppelin provides authorization mechanism on each notebooks. But it seems many users can not get much useful information through [the existing notebook authorization docs](https://zeppelin.apache.org/docs/0.6.0-incubating-SNAPSHOT/security/notebook_authorization.html). So I add some information so that users can follow step by step. Moreover, [interpreter authorization docs](https://zeppelin.apache.org/docs/0.6.0-incubating-SNAPSHOT/security/interpreter_authorization.html) doesn't provide much information so far. This can be confused to users. So I removed it temporally. We can add it again when we have specific(?) feature for `interpreter & data source authorization`. ### What type of PR is it? Improvement | Documentation ### Todos * [x] - Remove security_overview.md & interpreter_authorization.md * [x] - Improve notebook authorization docs ### What is the Jira issue? [ZEPPELIN-939](https://issues.apache.org/jira/browse/ZEPPELIN-939) ### How should this be tested? ### Screenshots (if appropriate) - **Before** <img width="1107" alt="screen shot 2016-06-01 at 5 46 22 pm" src="https://cloud.githubusercontent.com/assets/10060731/15730358/cf8074ec-2820-11e6-8e55-d0552896d95d.png"> - **After** <img width="1030" alt="screen shot 2016-06-01 at 5 48 17 pm" src="https://cloud.githubusercontent.com/assets/10060731/15730384/1b6c8a08-2821-11e6-89ae-7d054ec87c57.png"> <img width="1007" alt="screen shot 2016-06-01 at 5 48 31 pm" src="https://cloud.githubusercontent.com/assets/10060731/15730386/1ea6e42a-2821-11e6-9630-da2ca67970f0.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> Closes #947 from AhyoungRyu/ZEPPELIN-939 and squashes the following commits: |
||
|
|
70ab1a376d |
[ZEPPELIN-952] Refine website style
### What is this PR for? - update document style (font, line-spacing) - apply same formats for documents - fix broke document styles ### What type of PR is it? Documentation ### What is the Jira issue? [ZEPPELIN-952](https://issues.apache.org/jira/browse/ZEPPELIN-952) ### Screenshots (if appropriate) **Before** <img width="1184" alt="screen shot 2016-06-04 at 9 51 38 pm" src="https://cloud.githubusercontent.com/assets/8503346/15803667/d0dd5ac2-2a9f-11e6-9ed0-ddc369a97612.png"> **After** <img width="1184" alt="screen shot 2016-06-04 at 9 15 08 pm" src="https://cloud.githubusercontent.com/assets/8503346/15803666/cd9212ea-2a9f-11e6-986e-17992a495ab6.png"> **Before** <img width="1183" alt="screen shot 2016-06-04 at 10 08 53 pm" src="https://cloud.githubusercontent.com/assets/8503346/15803695/03e73126-2aa1-11e6-8675-3ca437aeb833.png"> **After** <img width="1184" alt="screen shot 2016-06-04 at 10 08 18 pm" src="https://cloud.githubusercontent.com/assets/8503346/15803696/078ce866-2aa1-11e6-9044-4f5e16649eb4.png"> **Before** <img width="1184" alt="screen shot 2016-06-04 at 10 10 47 pm" src="https://cloud.githubusercontent.com/assets/8503346/15803704/5787e9ba-2aa1-11e6-804c-076a8f3aa852.png"> **After** <img width="1184" alt="screen shot 2016-06-04 at 10 11 22 pm" src="https://cloud.githubusercontent.com/assets/8503346/15803707/5afb5d0c-2aa1-11e6-98c7-7440db35bd2f.png"> **Before** <img width="188" alt="screen shot 2016-06-04 at 10 12 36 pm" src="https://cloud.githubusercontent.com/assets/8503346/15803719/92e5cc3e-2aa1-11e6-9a9f-e12150e78733.png"> **After** <img width="199" alt="screen shot 2016-06-04 at 10 12 55 pm" src="https://cloud.githubusercontent.com/assets/8503346/15803721/958e8c00-2aa1-11e6-8768-8350db6e7173.png"> ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Mina Lee <minalee@nflabs.com> Closes #962 from minahlee/ZEPPELIN-952 and squashes the following commits: |
||
|
|
84d25a8eab |
Remove incubating from doc
### What is this PR for? Remove incubating from doc ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Mina Lee <minalee@nflabs.com> Closes #941 from minahlee/doc/removeIncubating and squashes the following commits: |
||
|
|
34734b9c8a |
[ZEPPELIN-502] Python interpreter group
### What is this PR for? Adding a python 2 &3 interpreter. It's a basic implementation (no py4j for example), with a java ProcessBuilder object used to instantiate a python REPL. The interpreter doesn't bring it own python binary but uses the python specified by python.path configutation. Thus, you can still use your specific installed python modules (scikit-learn, matplotlib...) and the interpreter is able to work with python 2 & 3 without change. I had a python helper function (zeppelin_show() ) to easily display matplotlib graph as SVG. ### What type of PR is it? [Feature] ### Todos * [x] - Code review * [x] - Improve bootstrap.py : choose available helper functions and their names * [x] - Unit / IT tests ? * [x] documentation updates needed, that AhyoungRyu pointed out * [X] LICENSE needs to be updated to include all non-apache licensed dependencies (i.e AFAIK Py4j is BSD ) in bin-license * [x] double-check that code formatting conforms project style guide * [x] the branch need to be rebased on latest master. ### What is the Jira issue? [ZEPPELIN-502](https://issues.apache.org/jira/browse/ZEPPELIN-502?jql=project%20%3D%20ZEPPELIN%20AND%20text%20~%20%22python%22) ### How should this be tested? 1. In interpreter screen, in Python section, specify in python.path the python binary you want to use 2. In a paragraph, you can use the interpreter with **_%python_**. Calling help() will describe you the interpreter functionnalities. 3. Install py4j (pip install py4j) if you want to use input form ### Screenshots     ### Questions: * Does the licenses files need update? Yes, only bin-license (py4j) * Is there breaking changes for older versions? No * Does this needs documentation? Yes Author: Hervé RIVIERE <hriviere@users.noreply.github.com> Closes #869 from hriviere/PR_interpreter_python and squashes the following commits: |
||
|
|
8cde5c9bd4 |
ZeppelinHub notebook storage/connection repository
### What is this PR for? This is to add [ZeppelinHub](https://www.zeppelinhub.com) notebook storage/connection layer to the Zeppelin. ### What type of PR is it? Feature ### Todos * [x] - NotebookRepo rest api * [x] - ZeppelinHub websocket client * [x] - Zeppelin websocket client * [x] - Tests * [x] - More QA (authentication consistency, etc.) * [x] - Address review comments ### What is the Jira issue? ### How should this be tested? First of all, you may need to create account in [ZeppelinHub](https://www.zeppelinhub.com). Then you can set connection by following guides in [here](https://github.com/khalidhuseynov/incubator-zeppelin/blob/feat/zeppelinhub-storage/docs/storage/storage.md#notebook-storage-in-zeppelinhub--). Finally you should be able to access and manipulate your notebooks from inside of your ZeppelinHub account. ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? Yes Author: Khalid Huseynov <khalidhnv@nflabs.com> Author: Anthony Corbacho <corbacho.anthony@gmail.com> Closes #880 from khalidhuseynov/feat/zeppelinhub-storage and squashes the following commits: |
||
|
|
7d00af4daf |
Documentation for setting Azure notebook storage
### What is this PR for? This PR adds general info and documentation on setting Azure storage in the `docs/storage.md` folder where we have info about all the supported pluggable storage layers. ### What type of PR is it? Documentation ### Todos * [x] - add docs * [x] - change description and order in `zeppelin-site.xml.template` ### What is the Jira issue? ### How should this be tested? Documentation follows the steps in `zeppelin-site.xml.template`. may need to have account to test. ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Khalid Huseynov <khalidhnv@nflabs.com> Closes #902 from khalidhuseynov/docs/azure-storage and squashes the following commits: |
||
|
|
aff2755eb7 |
Update/shiro docs
### What is this PR for? Currently, Zeppelin has two authentication docs. One is [**Authentication**](https://zeppelin.incubator.apache.org/docs/0.6.0-incubating-SNAPSHOT/security/authentication.html) and the other is [**Shiro Authentication**](https://zeppelin.incubator.apache.org/docs/0.6.0-incubating-SNAPSHOT/manual/shiroauthentication.html). As a user, it's little bit confused. So I changed the category of `shiroauthentication.md` file from `manual` to `security` and also changed the name of `Authentication` to `Authentication for NGINX`. Please see the below screenshot images :) ### What type of PR is it? Improvement ### Todos * [x] - Add `conf/shiro.ini` file to `.gitignore` * [x] - Update `zeppelin-login.png` screenshot image file in `shiroauthentication.md` * [x] - Change the category of `shiroauthentication.md` file from `manual` -> `security` * [x] - Change `Authentication` -> `Authentication for NGINX` ### What is the Jira issue? ### How should this be tested? ### Screenshots (if appropriate) 1. Updating zeppelin-login.png - before  - after <img width="1272" alt="zeppelin-login" src="https://cloud.githubusercontent.com/assets/10060731/15422244/812541e6-1eb2-11e6-89bc-ed635bc9aaa8.png"> 2. Changing the category of **Shiro Authentication** & Changing **Authentication** -> **Authentication for NGINX** - before  - after  ### 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> Closes #907 from AhyoungRyu/update/shiroDocs and squashes the following commits: |
||
|
|
6acd0aee94 |
ZEPPELIN-773 : Livy interperter
### What is this PR for? As Zeppelin evolves its notebook, for large scale data analysis, multiple zeppelin users are expected to use and connect to the same set of data repositories within an enterprise. Since Zeppelin notebooks could affect data, state and its lineage, it is important to have separation of users, provide them with appropriate sandboxes, in addition to capturing the right audit details. Further, the IT within the organization would prefer to support fewer Zeppelin instances (preferably one) to support its customers. Therefore, the objectives of creating a multi-tenant zeppelin are: ● Supporting workloads of multiple customers ● Supporting multiple LOBs (lines of business), on a single data systems ● Support fine grained audits As a natural evolution of Zeppelin Authentication and Authorization design, partly user awareness in downstream data systems such as Spark/Hive and others, is essential to achieve the above stated objectives. ### What type of PR is it? Feature ### Todos * [x] - Test case * [x] - Review Comments * [x] - Documentation ### What is the Jira issue? ZEPPELIN-773 ### How should this be tested? - Install Livy by following steps on https://github.com/cloudera/livy - Start the Livy server - Now by using Zeppelin-Livy interpreter, run any of the spark, pyspark or R commands. ### Screenshots (if appropriate) <img width="1436" alt="screen shot 2016-04-11 at 12 41 35 pm" src="https://cloud.githubusercontent.com/assets/674497/14419479/b514979c-ffe3-11e5-9dea-df9854d8409c.png"> <img width="1434" alt="screen shot 2016-04-11 at 12 41 59 pm" src="https://cloud.githubusercontent.com/assets/674497/14419478/b514922e-ffe3-11e5-9c98-93c5b99de106.png"> <img width="1440" alt="screen shot 2016-04-11 at 12 48 13 pm" src="https://cloud.githubusercontent.com/assets/674497/14419480/b515d8c8-ffe3-11e5-8c20-4c988c621f51.png"> ### Questions: * Does the licenses files need update? n/a * Is there breaking changes for older versions? n/a * Does this needs documentation? yes Author: Prabhjyot Singh <prabhjyotsingh@gmail.com> Author: Rohit Choudhary <rconline@gmail.com> Closes #827 from prabhjyotsingh/livyInterperter and squashes the following commits: |
||
|
|
5a1f74f0d1 |
Fix link to r interpreter doc
### What is this PR for?
This PR is hot fix for broken link to r interpreter doc
### What type of PR is it?
Hot Fix
### Todos
* [x] - Fix link
### How should this be tested?
This changes link address from
http://zeppelin.incubator.apache.org/docs/0.6.0-incubating-SNAPSHOT/interpreter/R.html
to
http://zeppelin.incubator.apache.org/docs/0.6.0-incubating-SNAPSHOT/interpreter/r.html
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: Lee moon soo <moon@apache.org>
Closes #898 from Leemoonsoo/fix_menu_link and squashes the following commits:
|
||
|
|
daab1f7f7a |
[ZEPPELIN-742] Add documentation for front-end AngularJS AP
### What is this PR for? This JIRA: * add documentation for the new paragraphId display in the paragraph command dialog. Instead of just adding some description to the paragraphId, I took the opportunity to also document the entire Zeppelin UI Layout and added a menu entry **UI Layout** under menu **QuickStart**. It is inspired by the content of the talk on Zeppelin at different conferences * rename the menu **Display System** / **Angular** to **Display System** / **Back-end Angular Interactions** * add a new entry **Front-end Angular Interactions** under the menu **Display System** to describe the new front-end AngularJS API introduced by this epic _This is a sub-task of epic **[ZEPPELIN-635]**_ ### What type of PR is it? [Documentation] ### Todos * [ ] - Check documentation ### What is the Jira issue? **[ZEPPELIN-6742]** ### How should this be tested? Build Zeppelin documentation locally and check ### Screenshots (if appropriate) New **QuickStart** / **UI Layout** documentation which mentions the **paragraphId**  New **Display System** / **Front-end Angular Interactions** menu to describe the new front-end AngularJS API introduced by this epic  ### Questions: * Does the licenses files need update? --> No * Is there breaking changes for older versions? --> No * Does this needs documentation? --> No [ZEPPELIN-635]: https://issues.apache.org/jira/browse/ZEPPELIN-635 [ZEPPELIN-742]: https://issues.apache.org/jira/browse/ZEPPELIN-742 Author: DuyHai DOAN <doanduyhai@gmail.com> Closes #865 from doanduyhai/ZEPPELIN-742 and squashes the following commits: |
||
|
|
7d6cc7e991 |
R and SparkR Support [WIP]
### What is this PR for? Implement R and SpakR Intepreter as part of the Spark Interpreter Group. It also implements R and Scala binding (in both directions). ### What type of PR is it? [Feature] ### Todos * [ ] - Documentation * [ ] - Unit test (if relevant, as we depend on R being available on the host) * [ ] - Assess licensing (a priori ok as we don't delive anything out of ASL2, but we should corectly phrase the NOTICE as we depend on non-ASL2 comptabile licenses (R) to run the interpreter). ### Is there a relevant Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-156 SparkR support ### How should this be tested? You need R available on the host running the notebook. For Centos: yum install R R-devel For Ubuntu: apt-get install r-base r-cran-rserve Install additional R packages: ``` curl https://cran.r-project.org/src/contrib/Archive/rscala/rscala_1.0.6.tar.gz -o /tmp/rscala_1.0.6.tar.gz R CMD INSTALL /tmp/rscala_1.0.6.tar.gz R -e "install.packages('ggplot2', repos = 'http://cran.us.r-project.org')" R -e install.packages('knitr', repos = 'http://cran.us.r-project.org') ``` - Build + launch Zeppelin and test the R note. !!! you need rscala_1.0.6 (if not, you need to build with -Drscala.version=...) ### Screenshots (if appropriate) #### Simple R [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/simple-r.png) #### Plot [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/plot.png) #### Scala R Binding [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/scala-r.png) #### R Scala Binding [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/r-scala.png) #### SparkR [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/sparkr.png) ### Questions: * Does the licenses files need update? to be checked... (cfr R needs to be available to make this interpreter operational). * Is there breaking changes for older versions? No * Does this needs documentation? Yes Author: Eric Charles <eric@datalayer.io> Author: Lee moon soo <moon@apache.org> This patch had conflicts when merged, resolved by Committer: Lee moon soo <moon@apache.org> Closes #702 from echarles/rscala-z and squashes the following commits: |
||
|
|
af99a76f8b |
[ZEPPELIN-757] Ordering dropdown menu items alphabetically.
### What is this PR for?
Fixing documentation.
### What type of PR is it?
Documentation
### Todos
N/A
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-757
### How should this be tested?
Follow the steps in https://github.com/apache/incubator-zeppelin/blob/master/docs/README.md to build the documentation.
### Screenshots (if appropriate)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Jiri Simsa <jiri.simsa@gmail.com>
Closes #790 from jsimsa/fix and squashes the following commits:
|
||
|
|
b45663d227 |
ZEPPELIN-198 HDFS File Interpreter
### What is this PR for? This pull request is a follow of https://github.com/apache/incubator-zeppelin/pull/276 started by raj-bains. The additional commits address comments from the pull request regarding string creation and error propagation for bad object requests. ### What type of PR is it? [Bug Fix | Improvement | Feature | Documentation | Hot Fix | Refactoring] Feature/Subtask ### Todos ### Is there a relevant Jira issue? [ZEPPELIN-198](https://issues.apache.org/jira/browse/ZEPPELIN-198) ### How should this be tested? Outline the steps to test the PR here. ### Screenshots (if appropriate)     ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Tom Runyon <runyontr@gmail.com> Author: Raj Bains <rajbains@Rajs-MacBook-Pro.local> Closes #752 from runyontr/master and squashes the following commits: |
||
|
|
1777524e8c |
[ZEPPELIN-701] - Upgrade Tachyon Interpreter to Alluxio Interpreter
### What is this PR for? Upgrading existing Tachyon interpreter to Alluxio interpreter. ### What type of PR is it? improvement ### Is there a relevant Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-701 ### How should this be tested? * [Install and configure Alluxio](http://www.alluxio.org/downloads/) on a local machine. * run Alluxio in local mode ```$ ./bin/alluxio-start.sh local``` * check that interpreter params are setted to default values (hostname: localhost, port: 19998) * use the [Alluxio CLI commands](http://www.alluxio.org/documentation/v1.0.0/en/Command-Line-Interface.html) to interact with your Alluxio file system ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: maocorte <mauro.cortellazzi@radicalbit.io> Closes #750 from maocorte/701-alluxio-interpreter and squashes the following commits: |