mirror of
https://github.com/apache/zeppelin
synced 2026-05-24 09:38:26 +00:00
Merge branch 'master' into ZEPPELIN-1280
This commit is contained in:
commit
6c44b7b085
82 changed files with 809 additions and 265 deletions
3
LICENSE
3
LICENSE
|
|
@ -242,7 +242,8 @@ The following components are provided under the MIT-style license. See project l
|
|||
The text of each license is also included at licenses/LICENSE-[project]-[version].txt.
|
||||
|
||||
(MIT Style) jekyll-table-of-contents (https://github.com/ghiculescu/jekyll-table-of-contents) - https://github.com/ghiculescu/jekyll-table-of-contents/blob/master/LICENSE.txt
|
||||
|
||||
(MIT Style) lunr.js (https://github.com/olivernn/lunr.js) - https://github.com/olivernn/lunr.js/blob/v0.7.1/LICENSE
|
||||
|
||||
========================================================================
|
||||
Apache licenses
|
||||
========================================================================
|
||||
|
|
|
|||
|
|
@ -93,9 +93,9 @@ _Notes:_
|
|||
|
||||
#### Install maven
|
||||
```
|
||||
wget http://www.eu.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz
|
||||
sudo tar -zxf apache-maven-3.3.3-bin.tar.gz -C /usr/local/
|
||||
sudo ln -s /usr/local/apache-maven-3.3.3/bin/mvn /usr/local/bin/mvn
|
||||
wget http://www.eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
|
||||
sudo tar -zxf apache-maven-3.3.9-bin.tar.gz -C /usr/local/
|
||||
sudo ln -s /usr/local/apache-maven-3.3.9/bin/mvn /usr/local/bin/mvn
|
||||
```
|
||||
|
||||
_Notes:_
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ function make_binary_release() {
|
|||
git_clone
|
||||
make_source_package
|
||||
make_binary_release all "-Pspark-2.0 -Phadoop-2.4 -Pyarn -Ppyspark -Psparkr -Pr -Pscala-2.11"
|
||||
make_binary_release netinst "-Pspark-2.0 -Phadoop-2.4 -Pyarn -Ppyspark -Psparkr -Pr -Pscala-2.11 -pl !alluxio,!angular,!cassandra,!elasticsearch,!file,!flink,!hbase,!ignite,!jdbc,!kylin,!lens,!livy,!markdown,!postgresql,!python,!shell"
|
||||
make_binary_release netinst "-Pspark-2.0 -Phadoop-2.4 -Pyarn -Ppyspark -Psparkr -Pr -Pscala-2.11 -pl !alluxio,!angular,!cassandra,!elasticsearch,!file,!flink,!hbase,!ignite,!jdbc,!kylin,!lens,!livy,!markdown,!postgresql,!python,!shell,!bigquery"
|
||||
|
||||
# remove non release files and dirs
|
||||
rm -rf "${WORKING_DIR}/zeppelin"
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ NC='\033[0m' # No Color
|
|||
RELEASE_VERSION="$1"
|
||||
GIT_TAG="$2"
|
||||
|
||||
PUBLISH_PROFILES="-Pspark-2.0 -Phadoop-2.4 -Pyarn -Ppyspark -Psparkr -Pr"
|
||||
PUBLISH_PROFILES="-Pbuild-distr -Pspark-2.0 -Phadoop-2.4 -Pyarn -Ppyspark -Psparkr -Pr"
|
||||
PROJECT_OPTIONS="-pl !zeppelin-distribution"
|
||||
NEXUS_STAGING="https://repository.apache.org/service/local/staging"
|
||||
NEXUS_PROFILE="153446d1ac37c4"
|
||||
|
|
@ -93,10 +93,10 @@ function publish_to_maven() {
|
|||
tmp_repo="$(mktemp -d /tmp/zeppelin-repo-XXXXX)"
|
||||
|
||||
# build with scala-2.10
|
||||
echo "mvn clean install -Ppublish-distr \
|
||||
echo "mvn clean install -DskipTests \
|
||||
-Dmaven.repo.local=${tmp_repo} -Pscala-2.10 \
|
||||
${PUBLISH_PROFILES} ${PROJECT_OPTIONS}"
|
||||
mvn clean install -Ppublish-distr -Dmaven.repo.local="${tmp_repo}" -Pscala-2.10 \
|
||||
mvn clean install -DskipTests -Dmaven.repo.local="${tmp_repo}" -Pscala-2.10 \
|
||||
${PUBLISH_PROFILES} ${PROJECT_OPTIONS}
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "Build with scala 2.10 failed."
|
||||
|
|
@ -106,10 +106,10 @@ function publish_to_maven() {
|
|||
# build with scala-2.11
|
||||
"${BASEDIR}/change_scala_version.sh" 2.11
|
||||
|
||||
echo "mvn clean install -Ppublish-distr \
|
||||
echo "mvn clean install -DskipTests \
|
||||
-Dmaven.repo.local=${tmp_repo} -Pscala-2.11 \
|
||||
${PUBLISH_PROFILES} ${PROJECT_OPTIONS}"
|
||||
mvn clean install -Ppublish-distr -Dmaven.repo.local="${tmp_repo}" -Pscala-2.11 \
|
||||
mvn clean install -DskipTests -Dmaven.repo.local="${tmp_repo}" -Pscala-2.11 \
|
||||
${PUBLISH_PROFILES} ${PROJECT_OPTIONS}
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "Build with scala 2.11 failed."
|
||||
|
|
|
|||
|
|
@ -115,7 +115,14 @@
|
|||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li>
|
||||
<a href="{{BASE_PATH}}/search.html" class="nav-search-link">
|
||||
<span class="fa fa-search nav-search-icon"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav><!--/.navbar-collapse -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{{ page.title }}</title>
|
||||
<title>Apache Zeppelin {{ site.ZEPPELIN_VERSION }} Documentation: {{ page.title }}</title>
|
||||
{% if page.description %}<meta name="description" content="{{ page.description }}">{% endif %}
|
||||
<meta name="author" content="{{ site.author.name }}">
|
||||
|
||||
|
|
@ -34,6 +34,8 @@
|
|||
<script src="{{ ASSET_PATH }}/js/docs.js"></script>
|
||||
<script src="{{ ASSET_PATH }}/js/anchor.min.js"></script>
|
||||
<script src="{{ ASSET_PATH }}/js/toc.js"></script>
|
||||
<script src="{{ ASSET_PATH }}/js/lunr.min.js"></script>
|
||||
<script src="{{ ASSET_PATH }}/js/search.js"></script>
|
||||
|
||||
<!-- atom & rss feed -->
|
||||
<link href="{{ BASE_PATH }}{{ site.JB.atom_path }}" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
|
||||
|
|
|
|||
|
|
@ -569,6 +569,30 @@ a.anchorjs-link:hover { text-decoration: none; }
|
|||
margin-left: -18px;
|
||||
}
|
||||
|
||||
/* Search Page */
|
||||
#search p {
|
||||
font-size: 30px;
|
||||
font-weight: bold;
|
||||
color: black;
|
||||
}
|
||||
|
||||
#search_results p {
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
#search_results a {
|
||||
vertical-align: super;
|
||||
font-size: 16px;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#search_results .link {
|
||||
font-size: 13px;
|
||||
color: #008000;
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
/* Custom, iPhone Retina */
|
||||
@media only screen and (max-width: 480px) {
|
||||
.jumbotron h1 {
|
||||
|
|
|
|||
7
docs/assets/themes/zeppelin/js/lunr.min.js
vendored
Normal file
7
docs/assets/themes/zeppelin/js/lunr.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
71
docs/assets/themes/zeppelin/js/search.js
Normal file
71
docs/assets/themes/zeppelin/js/search.js
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
|
||||
---
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
jQuery(function() {
|
||||
window.idx = lunr(function () {
|
||||
this.field('id');
|
||||
this.field('title');
|
||||
this.field('content', { boost: 10 });
|
||||
this.field('group');
|
||||
});
|
||||
|
||||
window.data = $.getJSON('/search_data.json');
|
||||
window.data.then(function(loaded_data){
|
||||
$.each(loaded_data, function(index, value){
|
||||
window.idx.add(
|
||||
$.extend({ "id": index }, value)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
$("#site_search").keyup(function(event){
|
||||
event.preventDefault();
|
||||
var query = $("#search_box").val();
|
||||
var results = window.idx.search(query);
|
||||
display_search_results(results);
|
||||
});
|
||||
|
||||
$('html').bind('keypress', function(event){
|
||||
// Since keyup() is operated at the above, disable 'Enter Key' press.
|
||||
if(event.keyCode == 13) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
function display_search_results(results) {
|
||||
var $search_results = $("#search_results");
|
||||
var zeppelin_version = {{site.ZEPPELIN_VERSION | jsonify}};
|
||||
|
||||
window.data.then(function(loaded_data) {
|
||||
if (results.length) {
|
||||
$search_results.empty();
|
||||
$search_results.prepend('<p class="">Found '+results.length+' result(s)</p><hr>');
|
||||
|
||||
results.forEach(function(result) {
|
||||
var item = loaded_data[result.ref];
|
||||
var appendString = '<a href="'+item.url+'">'+item.title+'</a><div class="link">'+'https://zeppelin.apache.org/docs/'+zeppelin_version+item.url+'</div><p>'+item.excerpt+'</p><br/>';
|
||||
|
||||
$search_results.append(appendString);
|
||||
});
|
||||
} else {
|
||||
$search_results.html('<p>Your search did not match any documents.<br/>Make sure that all words are spelled correctly or try more general keywords.</p>');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -1,9 +1,23 @@
|
|||
---
|
||||
layout: page
|
||||
title: "How to contribute"
|
||||
description: "How to contribute"
|
||||
title: "Contributing to Apache Zeppelin (Code)"
|
||||
description: "How can you contribute to Apache Zeppelin project? This document covers from setting up your develop environment to making a pull request on Github."
|
||||
group: development
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Contributing to Apache Zeppelin ( Code )
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,23 @@
|
|||
---
|
||||
layout: page
|
||||
title: "How to contribute (website)"
|
||||
description: "How to contribute (website)"
|
||||
title: "Contributing to Apache Zeppelin (Website)"
|
||||
description: "How can you contribute to Apache Zeppelin project website? This document covers from building Zeppelin documentation site to making a pull request on Github."
|
||||
group: development
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Contributing to Apache Zeppelin ( Website )
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Writing Zeppelin Application"
|
||||
description: ""
|
||||
title: "Writing a new Application(Experimental)"
|
||||
description: "Apache Zeppelin Application is a package that runs on Interpreter process and displays it's output inside of the notebook. Make your own Application in Apache Zeppelin is quite easy."
|
||||
group: development
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Writing Zeppelin Interpreter"
|
||||
description: ""
|
||||
title: "Writing a New Interpreter"
|
||||
description: "Apache Zeppelin Interpreter is a language backend. Every Interpreters belongs to an InterpreterGroup. Interpreters in the same InterpreterGroup can reference each other."
|
||||
group: development
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Angular (backend API)"
|
||||
description: "Angular (backend API)"
|
||||
title: "Back-end Angular API in Apache Zeppelin"
|
||||
description: "Apache Zeppelin provides a gateway between your interpreter and your compiled AngularJS view templates. You can not only update scope variables from your interpreter but also watch them in the interpreter, which is JVM process."
|
||||
group: display
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Basic Display System"
|
||||
description: ""
|
||||
title: "Basic Display System in Apache Zeppelin"
|
||||
description: "There are 3 basic display systems in Apache Zeppelin. By default, Zeppelin prints interpreter responce as a plain text using text display system. With %html directive, Zeppelin treats your output as HTML. You can also simply use %table display system to leverage Zeppelin's built in visualization."
|
||||
group: display
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Angular (frontend API)"
|
||||
description: "Angular (frontend API)"
|
||||
title: "Front-end Angular API in Apache Zeppelin"
|
||||
description: "In addition to the back-end API to handle Angular objects binding, Apache Zeppelin exposes a simple AngularJS z object on the front-end side to expose the same capabilities."
|
||||
group: display
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: Overview
|
||||
tagline: Less Development, More analysis!
|
||||
group: nav-right
|
||||
title:
|
||||
description:
|
||||
group:
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Getting Started"
|
||||
description: ""
|
||||
title: "Quick Start"
|
||||
description: "This page will help you to get started and guide you through installation of Apache Zeppelin, running it in the command line and basic configuration options."
|
||||
group: install
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Manual upgrade procedure for Zeppelin"
|
||||
description: ""
|
||||
title: "Manual Zeppelin version upgrade procedure"
|
||||
description: "This document will guide you through a procedure of manual upgrade your Apache Zeppelin instance to a newer version. Apache Zeppelin keeps backward compatibility for the notebook file format."
|
||||
group: install
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Install A Zeppelin ready Virtual Machine"
|
||||
description: ""
|
||||
title: "Apache Zeppelin on Vagrant Virtual Machine"
|
||||
description: "Apache Zeppelin provides a script for running a virtual machine for development through Vagrant. The script will create a virtual machine with core dependencies pre-installed, required for developing Apache Zeppelin."
|
||||
group: install
|
||||
---
|
||||
<!--
|
||||
|
|
@ -19,17 +19,17 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Vagrant Virtual Machine for Apache Zeppelin
|
||||
# Apache Zeppelin on Vagrant Virtual Machine
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
## Overview
|
||||
|
||||
Apache Zeppelin distribution includes a scripts directory
|
||||
Apache Zeppelin distribution includes a script directory
|
||||
|
||||
`scripts/vagrant/zeppelin-dev`
|
||||
|
||||
This script creates a virtual machine that launches a repeatable, known set of core dependencies required for developing Zeppelin. It can also be used to run an existing Zeppelin build if you don't plan to build from source.
|
||||
This script creates a virtual machine that launches a repeatable, known set of core dependencies required for developing Zeppelin. It can also be used to run an existing Zeppelin build if you don't plan to build from source.
|
||||
For PySpark users, this script includes several helpful [Python Libraries](#python-extras).
|
||||
For SparkR users, this script includes several helpful [R Libraries](#r-extras).
|
||||
|
||||
|
|
@ -88,7 +88,7 @@ By default, Vagrant will share your project directory (the directory with the Va
|
|||
Running the following commands in the guest machine should display these expected versions:
|
||||
|
||||
`node --version` should report *v0.12.7*
|
||||
`mvn --version` should report *Apache Maven 3.3.3* and *Java version: 1.7.0_85*
|
||||
`mvn --version` should report *Apache Maven 3.3.9* and *Java version: 1.7.0_85*
|
||||
|
||||
The virtual machine consists of:
|
||||
|
||||
|
|
@ -96,7 +96,7 @@ The virtual machine consists of:
|
|||
- Node.js 0.12.7
|
||||
- npm 2.11.3
|
||||
- ruby 1.9.3 + rake, make and bundler (only required if building jekyll documentation)
|
||||
- Maven 3.3.3
|
||||
- Maven 3.3.9
|
||||
- Git
|
||||
- Unzip
|
||||
- libfontconfig to avoid phatomJs missing dependency issues
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Install Zeppelin to connect with existing YARN cluster"
|
||||
description: ""
|
||||
description: "This page describes how to pre-configure a bare metal node, configure Apache Zeppelin and connect it to existing YARN cluster running Hortonworks flavour of Hadoop."
|
||||
group: install
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Alluxio Interpreter"
|
||||
description: "Alluxio Interpreter"
|
||||
title: "Alluxio Interpreter for Apache Zeppelin"
|
||||
description: "Alluxio is a memory-centric distributed storage system enabling reliable data sharing at memory-speed across cluster frameworks."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Alluxio Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,23 @@
|
|||
---
|
||||
layout: page
|
||||
title: "BigQuery Interpreter"
|
||||
description: ""
|
||||
title: "BigQuery Interpreter for Apache Zeppelin"
|
||||
description: "BigQuery is a highly scalable no-ops data warehouse in the Google Cloud Platform."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# BigQuery Interpreter for Apache Zeppelin
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Cassandra Interpreter"
|
||||
description: "Cassandra Interpreter"
|
||||
title: "Cassandra CQL Interpreter for Apache Zeppelin"
|
||||
description: "Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Cassandra CQL Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Elasticsearch Interpreter"
|
||||
description: ""
|
||||
title: "Elasticsearch Interpreter for Apache Zeppelin"
|
||||
description: "Elasticsearch is a highly scalable open-source full-text search and analytics engine."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Elasticsearch Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Flink Interpreter"
|
||||
description: ""
|
||||
title: "Flink Interpreter for Apache Zeppelin"
|
||||
description: "Apache Flink is an open source platform for distributed stream and batch data processing."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Flink interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Geode OQL Interpreter"
|
||||
description: ""
|
||||
title: "Geode/Gemfire OQL Interpreter for Apache Zeppelin"
|
||||
description: "Apache Geode (incubating) provides a database-like consistency model, reliable transaction processing and a shared-nothing architecture to maintain very low latency performance with high concurrency processing."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Geode/Gemfire OQL Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "HBase Shell Interpreter"
|
||||
description: ""
|
||||
title: "HBase Shell Interpreter for Apache Zeppelin"
|
||||
description: "HBase Shell is a JRuby IRB client for Apache HBase. This interpreter provides all capabilities of Apache HBase shell within Apache Zeppelin."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# HBase Shell Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "HDFS File System Interpreter"
|
||||
description: ""
|
||||
title: "HDFS File System Interpreter for Apache Zeppelin"
|
||||
description: "Hadoop File System is a distributed, fault tolerant file system part of the hadoop project and is often used as storage for distributed processing engines like Hadoop MapReduce and Apache Spark or underlying file systems like Alluxio."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# HDFS File System Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Hive Interpreter"
|
||||
description: ""
|
||||
title: "Hive Interpreter for Apache Zeppelin"
|
||||
description: "Apache Hive data warehouse software facilitates querying and managing large datasets residing in distributed storage. Hive provides a mechanism to project structure onto this data and query the data using a SQL-like language called HiveQL. At the same time this language also allows traditional map/reduce programmers to plug in their custom mappers and reducers when it is inconvenient or inefficient to express this logic in HiveQL."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Hive Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Ignite Interpreter"
|
||||
description: "Ignite user guide"
|
||||
title: "Ignite Interpreter for Apache Zeppelin"
|
||||
description: "Apache Ignite in-memory Data Fabric is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash technologies."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Ignite Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,13 +1,25 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Generic JDBC Interpreter"
|
||||
description: "JDBC user guide"
|
||||
title: "Generic JDBC Interpreter for Apache Zeppelin"
|
||||
description: "Generic JDBC Interpreter lets you create a JDBC connection to any data source. You can use Postgres, MySql, MariaDB, Redshift, Apache Hive, Apache Phoenix, Apache Drill and Apache Tajo using JDBC interpreter."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
|
||||
# Generic JDBC Interpreter for Apache Zeppelin
|
||||
# Generic JDBC Interpreter for Apache Zeppelin
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Lens Interpreter"
|
||||
description: "Lens user guide"
|
||||
title: "Lens Interpreter for Apache Zeppelin"
|
||||
description: "Apache Lens provides an Unified Analytics interface. Lens aims to cut the Data Analytics silos by providing a single view of data across multiple tiered data stores and optimal execution environment for the analytical query. It seamlessly integrates Hadoop with traditional data warehouses to appear like one."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Lens Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Livy Interpreter"
|
||||
description: ""
|
||||
title: "Livy Interpreter for Apache Zeppelin"
|
||||
description: "Livy is an open source REST interface for interacting with Spark from anywhere. It supports executing snippets of code or programs in a Spark context that runs locally or in YARN."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Livy Interpreter for Apache Zeppelin
|
||||
|
|
@ -30,7 +43,7 @@ We added some common configurations for spark, and you can set any configuration
|
|||
This link contains all spark configurations: http://spark.apache.org/docs/latest/configuration.html#available-properties.
|
||||
And instead of starting property with `spark.` it should be replaced with `livy.spark.`.
|
||||
Example: `spark.master` to `livy.spark.master`
|
||||
|
||||
|
||||
<table class="table-configuration">
|
||||
<tr>
|
||||
<th>Property</th>
|
||||
|
|
@ -102,8 +115,31 @@ Example: `spark.master` to `livy.spark.master`
|
|||
<td></td>
|
||||
<td>Upper bound for the number of executors.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>livy.spark.jars.packages</td>
|
||||
<td></td>
|
||||
<td>Adding extra libraries to livy interpreter</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Adding External libraries
|
||||
You can load dynamic library to livy interpreter by set `livy.spark.jars.packages` property to comma-separated list of maven coordinates of jars to include on the driver and executor classpaths. The format for the coordinates should be groupId:artifactId:version.
|
||||
|
||||
Example
|
||||
|
||||
<table class="table-configuration">
|
||||
<tr>
|
||||
<th>Property</th>
|
||||
<th>Example</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>livy.spark.jars.packages</td>
|
||||
<td>io.spray:spray-json_2.10:1.3.1</td>
|
||||
<td>Adding extra libraries to livy interpreter</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## How to use
|
||||
Basically, you can use
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Markdown Interpreter"
|
||||
description: "Markdown Interpreter"
|
||||
title: "Markdown Interpreter for Apache Zeppelin"
|
||||
description: "Markdown is a plain text formatting syntax designed so that it can be converted to HTML. Apache Zeppelin uses markdown4j."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Markdown Interpreter for Apache Zeppelin
|
||||
|
|
@ -12,7 +25,7 @@ group: interpreter
|
|||
|
||||
## Overview
|
||||
[Markdown](http://daringfireball.net/projects/markdown/) is a plain text formatting syntax designed so that it can be converted to HTML.
|
||||
Zeppelin uses markdown4j. For more examples and extension support, please checkout [here](https://code.google.com/p/markdown4j/).
|
||||
Apache Zeppelin uses markdown4j. For more examples and extension support, please checkout [here](https://code.google.com/p/markdown4j/).
|
||||
In Zeppelin notebook, you can use ` %md ` in the beginning of a paragraph to invoke the Markdown interpreter and generate static html from Markdown plain text.
|
||||
|
||||
In Zeppelin, Markdown interpreter is enabled by default.
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "PostgreSQL and HAWQ Interpreter"
|
||||
description: ""
|
||||
title: "PostgreSQL, Apache HAWQ (incubating) Interpreter for Apache Zeppelin"
|
||||
description: "Apache Zeppelin supports PostgreSQL, Apache HAWQ(incubating) and Greenplum SQL data processing engines."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# PostgreSQL, Apache HAWQ (incubating) Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Python Interpreter"
|
||||
description: "Python Interpreter"
|
||||
title: "Python 2 & 3 Interpreter for Apache Zeppelin"
|
||||
description: "Python is a programming language that lets you work quickly and integrate systems more effectively."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Python 2 & 3 Interpreter for Apache Zeppelin
|
||||
|
|
@ -74,7 +87,7 @@ print("".join(z.checkbox("f3", [("o1","1"), ("o2","2")],["1"])))
|
|||
|
||||
## Matplotlib integration
|
||||
The python interpreter can display matplotlib graph with the function `z.show()`.
|
||||
You need to have matplotlib module installed and a XServer running to use this functionality !
|
||||
You need to have matplotlib module installed and a XServer running to use this functionality!
|
||||
|
||||
```python
|
||||
%python
|
||||
|
|
@ -84,12 +97,12 @@ plt.figure()
|
|||
z.show(plt)
|
||||
plt.close()
|
||||
```
|
||||
z.show function can take optional parameters to adapt graph width and height
|
||||
The `z.show()` function can take optional parameters to adapt graph dimensions (width and height) as well as output format (png or optionally svg).
|
||||
|
||||
```python
|
||||
%python
|
||||
z.show(plt, width='50px')
|
||||
z.show(plt, height='150px')
|
||||
z.show(plt, height='150px', fmt='svg')
|
||||
```
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/pythonMatplotlib.png" />
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "R Interpreter"
|
||||
description: ""
|
||||
title: "R Interpreter for Apache Zeppelin"
|
||||
description: "R is a free software environment for statistical computing and graphics."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# R Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Scalding Interpreter"
|
||||
description: ""
|
||||
title: "Scalding Interpreter for Apache Zeppelin"
|
||||
description: "Scalding is an open source Scala library for writing MapReduce jobs."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Scalding Interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,9 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Shell Interpreter"
|
||||
description: "Shell Interpreter"
|
||||
title: "Shell interpreter for Apache Zeppelin"
|
||||
description: "Shell interpreter uses Apache Commons Exec to execute external processes."
|
||||
group: interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Shell interpreter for Apache Zeppelin
|
||||
|
|
|
|||
|
|
@ -1,11 +1,23 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Spark Interpreter Group"
|
||||
description: ""
|
||||
title: "Apache Spark Interpreter for Apache Zeppelin"
|
||||
description: "Apache Spark is a fast and general-purpose cluster computing system. It provides high-level APIs in Java, Scala, Python and R, and an optimized engine that supports general execution graphs."
|
||||
group: interpreter
|
||||
---
|
||||
{% include JB/setup %}
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Spark Interpreter for Apache Zeppelin
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Dependency Management"
|
||||
description: ""
|
||||
title: "Dependency Management for Apache Spark Interpreter"
|
||||
description: "Include external libraries to Apache Spark Interpreter by setting dependencies in interpreter menu."
|
||||
group: manual
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Dynamic Form"
|
||||
description: ""
|
||||
title: "Dynamic Form in Apache Zeppelin"
|
||||
description: "Apache Zeppelin dynamically creates input forms. Depending on language backend, there're two different ways to create dynamic form."
|
||||
group: manual
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Dynamic Interpreter Loading"
|
||||
description: ""
|
||||
title: "Dynamic Interpreter Loading using REST API"
|
||||
description: "Apache Zeppelin provides pluggable interpreter architecture which results in a wide and variety of the supported backend system. In this page, we will introduce dynamic interpreter loading using REST API."
|
||||
group: manual
|
||||
---
|
||||
<!--
|
||||
|
|
@ -23,7 +23,7 @@ limitations under the License.
|
|||
|
||||
<div id="toc"></div>
|
||||
|
||||
Zeppelin provides pluggable interpreter architecture which results in a wide and variety of the supported backend system. In this section, we will introduce **Dynamic interpreter loading** using **REST API**. This concept actually comes from [Zeppelin Helium Proposal](https://cwiki.apache.org/confluence/display/ZEPPELIN/Helium+proposal).
|
||||
Apache Zeppelin provides pluggable interpreter architecture which results in a wide and variety of the supported backend system. In this section, we will introduce **Dynamic interpreter loading** using **REST API**. This concept actually comes from [Zeppelin Helium Proposal](https://cwiki.apache.org/confluence/display/ZEPPELIN/Helium+proposal).
|
||||
Before we start, if you are not familiar with the concept of **Zeppelin interpreter**, you can check out [Overview of Zeppelin interpreter](../manual/interpreters.html) first.
|
||||
|
||||
## Overview
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Interpreter Installation"
|
||||
description: ""
|
||||
title: "Interpreter Installation in Netinst Binary Package"
|
||||
description: "Apache Zeppelin provides Interpreter Installation mechanism for whom downloaded Zeppelin netinst binary package, or just want to install another 3rd party interpreters."
|
||||
group: manual
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Interpreters"
|
||||
description: ""
|
||||
title: "Interpreters in Apache Zeppelin"
|
||||
description: "This document explains about the role of interpreters, interpreters group and interpreter settings in Apache Zeppelin. The concept of Zeppelin interpreter allows any language/data-processing-backend to be plugged into Zeppelin."
|
||||
group: manual
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Notebook as Homepage"
|
||||
description: ""
|
||||
title: "Customize Apache Zeppelin homepage"
|
||||
description: "Apache Zeppelin allows you to use one of the notebooks you create as your Zeppelin Homepage. With that you can brand your Zeppelin installation, adjust the instruction to your users needs and even translate to other languages."
|
||||
group: manual
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Publish your Paragraph"
|
||||
description: ""
|
||||
title: "How can you publish your paragraph"
|
||||
description: "Apache Zeppelin provides a feature for publishing your notebook paragraph results. Using this feature, you can show Zeppelin notebook paragraph results in your own website."
|
||||
group: manual
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Please contribute"
|
||||
description: ""
|
||||
group: development
|
||||
title:
|
||||
description:
|
||||
group:
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Explore Apache Zeppelin UI"
|
||||
description: "Description of Zeppelin UI Layout"
|
||||
description: "If you are new to Apache Zeppelin, this document will guide you about the basic components of Zeppelin one by one."
|
||||
group: quickstart
|
||||
---
|
||||
<!--
|
||||
|
|
@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Explore Apache Zeppelin UI
|
||||
|
||||
<div id="toc"></div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Tutorial"
|
||||
description: "Tutorial is valid for Spark 1.3 and higher"
|
||||
title: "Apache Zeppelin Tutorial"
|
||||
description: "This tutorial page contains a short walk-through tutorial that uses Apache Spark backend. Please note that this tutorial is valid for Spark 1.3 and higher."
|
||||
group: quickstart
|
||||
---
|
||||
<!--
|
||||
|
|
@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Zeppelin Tutorial
|
||||
|
||||
<div id="toc"></div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Configuration REST API"
|
||||
description: ""
|
||||
title: "Apache Zeppelin Configuration REST API"
|
||||
description: "This page contains Apache Zeppelin Configuration REST API information."
|
||||
group: rest-api
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Credentials REST API"
|
||||
description: ""
|
||||
title: "Apache Zeppelin Credential REST API"
|
||||
description: "This page contains Apache Zeppelin Credential REST API information."
|
||||
group: rest-api
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Interpreter REST API"
|
||||
description: ""
|
||||
title: "Apache Zeppelin Interpreter REST API"
|
||||
description: "This page contains Apache Zeppelin Interpreter REST API information."
|
||||
group: rest-api
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Notebook REST API"
|
||||
description: ""
|
||||
title: "Apache Zeppelin Notebook REST API"
|
||||
description: "This page contains Apache Zeppelin Notebook REST API information."
|
||||
group: rest-api
|
||||
---
|
||||
<!--
|
||||
|
|
|
|||
43
docs/search.md
Normal file
43
docs/search.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
layout: page
|
||||
title:
|
||||
description:
|
||||
group:
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
<div id="home-search" class="home">
|
||||
|
||||
<span id="search">
|
||||
<p><i class="glyphicon glyphicon-search"></i> Search Docs</p>
|
||||
</span>
|
||||
<br/>
|
||||
|
||||
<form role="search" action="{{BASE_PATH}}/search.html" id="site_search">
|
||||
<div class="input-group" id="search-container">
|
||||
<input type="text" class="form-control" size="16px" name="q" placeholder="Search all pages" id="search_box">
|
||||
<span class="input-group-btn">
|
||||
<button type="reset" class="btn btn-default">
|
||||
<i class="glyphicon glyphicon-remove" style="color:#777"></i>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<br/><br/>
|
||||
|
||||
<div id="search_results"></div>
|
||||
</div>
|
||||
17
docs/search_data.json
Normal file
17
docs/search_data.json
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
layout: null
|
||||
---
|
||||
{
|
||||
{% for page in site.pages %}{% if page.title != nil %}
|
||||
|
||||
"{{ page.url | slugify }}": {
|
||||
"title": "{{ page.title | xml_escape }}",
|
||||
"content" : "{{page.content | strip_html | strip_newlines | escape | remove: "\"}}",
|
||||
"url": " {{ page.url | xml_escape }}",
|
||||
"group": "{{ page.group }}",
|
||||
"excerpt": {{ page.description | strip_html | truncatewords: 40 | jsonify }}
|
||||
}
|
||||
{% unless forloop.last %},{% endunless %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Authentication for NGINX"
|
||||
description: "Authentication for NGINX"
|
||||
description: "There are multiple ways to enable authentication in Apache Zeppelin. This page describes HTTP basic auth using NGINX."
|
||||
group: security
|
||||
---
|
||||
<!--
|
||||
|
|
@ -17,11 +17,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Authentication for NGINX
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
Authentication is company-specific.
|
||||
There are multiple ways to enable authentication in Apache Zeppelin. This page describes HTTP basic auth using NGINX.
|
||||
One option is to use [Basic Access Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication).
|
||||
|
||||
## HTTP Basic Authentication using NGINX
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Data Source Authorization"
|
||||
description: "Data Source Authorization"
|
||||
title: "Data Source Authorization in Apache Zeppelin"
|
||||
description: "Apache Zeppelin supports protected data sources. In case of a MySql database, every users can set up their own credentials to access it."
|
||||
group: security
|
||||
---
|
||||
<!--
|
||||
|
|
@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Data Source Authorization in Apache Zeppelin
|
||||
|
||||
<div id="toc"></div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Notebook Authorization"
|
||||
description: "Notebook Authorization"
|
||||
title: "Notebook Authorization in Apache Zeppelin"
|
||||
description: "This page will guide you how you can set the permission for Zeppelin notebooks. This document assumes that Apache Shiro authentication was set up."
|
||||
group: security
|
||||
---
|
||||
<!--
|
||||
|
|
@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Zeppelin Notebook Authorization
|
||||
|
||||
<div id="toc"></div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Shiro Security for Apache Zeppelin"
|
||||
description: ""
|
||||
title: "Apache Shiro Authentication for Apache Zeppelin"
|
||||
description: "Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. This document explains step by step how Shiro can be used for Zeppelin notebook authentication."
|
||||
group: security
|
||||
---
|
||||
<!--
|
||||
|
|
@ -19,7 +19,7 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Shiro authentication for Apache Zeppelin
|
||||
# Apache Shiro authentication for Apache Zeppelin
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Storage"
|
||||
description: "Notebook Storage option for Zeppelin"
|
||||
title: "Notebook Storage for Apache Zeppelin"
|
||||
description: Apache Zeppelin has a pluggable notebook storage mechanism controlled by zeppelin.notebook.storage configuration option with multiple implementations."
|
||||
group: storage
|
||||
---
|
||||
<!--
|
||||
|
|
@ -17,6 +17,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Notebook storage options for Apache Zeppelin
|
||||
|
||||
<div id="toc"></div>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
<name>Zeppelin: Apache Ignite interpreter</name>
|
||||
|
||||
<properties>
|
||||
<ignite.version>1.5.0.final</ignite.version>
|
||||
<ignite.version>1.7.0</ignite.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
|
|
|
|||
|
|
@ -495,7 +495,8 @@ public class JDBCInterpreter extends Interpreter {
|
|||
public Scheduler getScheduler() {
|
||||
String schedulerName = JDBCInterpreter.class.getName() + this.hashCode();
|
||||
return isConcurrentExecution() ?
|
||||
SchedulerFactory.singleton().createOrGetParallelScheduler(schedulerName, 10)
|
||||
SchedulerFactory.singleton().createOrGetParallelScheduler(schedulerName,
|
||||
getMaxConcurrentConnection())
|
||||
: SchedulerFactory.singleton().createOrGetFIFOScheduler(schedulerName);
|
||||
}
|
||||
|
||||
|
|
|
|||
19
licenses/LICENSE-lunrjs-0.7.1
Normal file
19
licenses/LICENSE-lunrjs-0.7.1
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
Copyright (C) 2013 by Oliver Nightingale
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
|
@ -81,6 +81,11 @@
|
|||
"propertyName": "zeppelin.livy.keytab",
|
||||
"defaultValue": "",
|
||||
"description": "Kerberos keytab to authenticate livy"
|
||||
},
|
||||
"livy.spark.jars.packages": {
|
||||
"propertyName": "livy.spark.jars.packages",
|
||||
"defaultValue": "",
|
||||
"description": "Adding extra libraries to livy interpreter"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
6
pom.xml
6
pom.xml
|
|
@ -465,6 +465,8 @@
|
|||
<!-- bundled from bootstrap -->
|
||||
<exclude>docs/assets/themes/zeppelin/bootstrap/**</exclude>
|
||||
<exclude>docs/assets/themes/zeppelin/css/style.css</exclude>
|
||||
<exclude>docs/assets/themes/zeppelin/js/docs.js</exclude>
|
||||
<exclude>docs/assets/themes/zeppelin/js/search.js</exclude>
|
||||
<exclude>docs/_includes/themes/zeppelin/_jumbotron.html</exclude>
|
||||
<exclude>docs/_includes/themes/zeppelin/_navigation.html</exclude>
|
||||
|
||||
|
|
@ -482,6 +484,7 @@
|
|||
<exclude>docs/Rakefile</exclude>
|
||||
<exclude>docs/rss.xml</exclude>
|
||||
<exclude>docs/sitemap.txt</exclude>
|
||||
<exclude>docs/search_data.json</exclude>
|
||||
<exclude>**/dependency-reduced-pom.xml</exclude>
|
||||
|
||||
<!-- bundled from anchor -->
|
||||
|
|
@ -490,6 +493,9 @@
|
|||
<!-- bundled from toc -->
|
||||
<exclude>docs/assets/themes/zeppelin/js/toc.js</exclude>
|
||||
|
||||
<!-- bundled from lunrjs -->
|
||||
<exclude>docs/assets/themes/zeppelin/js/lunr.min.js</exclude>
|
||||
|
||||
<!-- bundled from jekyll -->
|
||||
<exclude>docs/assets/themes/zeppelin/css/syntax.css</exclude>
|
||||
|
||||
|
|
|
|||
|
|
@ -134,10 +134,11 @@ public class PythonInterpreter extends Interpreter {
|
|||
|
||||
InterpreterResult result;
|
||||
if (pythonErrorIn(output)) {
|
||||
result = new InterpreterResult(Code.ERROR, output.replaceAll(">>>", "").trim());
|
||||
result = new InterpreterResult(Code.ERROR, output);
|
||||
} else {
|
||||
result = new InterpreterResult(Code.SUCCESS, output.replaceAll(">>>", "")
|
||||
.replaceAll("\\.\\.\\.", "").trim());
|
||||
// TODO(zjffdu), we should not do string replacement operation in the result, as it is
|
||||
// possible that the output contains the kind of pattern itself, e.g. print("...")
|
||||
result = new InterpreterResult(Code.SUCCESS, output.replaceAll("\\.\\.\\.", ""));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
@ -265,4 +266,5 @@ public class PythonInterpreter extends Interpreter {
|
|||
public int getMaxResult() {
|
||||
return maxResult;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,12 +21,11 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.OutputStream;
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
|
|
@ -34,11 +33,11 @@ import java.lang.reflect.Field;
|
|||
* Python process (REPL) used by python interpreter
|
||||
*/
|
||||
public class PythonProcess {
|
||||
Logger logger = LoggerFactory.getLogger(PythonProcess.class);
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(PythonProcess.class);
|
||||
private static final String STATEMENT_END = "*!?flush reader!?*";
|
||||
InputStream stdout;
|
||||
OutputStream stdin;
|
||||
BufferedWriter writer;
|
||||
PrintWriter writer;
|
||||
BufferedReader reader;
|
||||
Process process;
|
||||
|
||||
|
|
@ -56,7 +55,7 @@ public class PythonProcess {
|
|||
process = builder.start();
|
||||
stdout = process.getInputStream();
|
||||
stdin = process.getOutputStream();
|
||||
writer = new BufferedWriter(new OutputStreamWriter(stdin));
|
||||
writer = new PrintWriter(stdin, true);
|
||||
reader = new BufferedReader(new InputStreamReader(stdout));
|
||||
try {
|
||||
pid = findPid();
|
||||
|
|
@ -85,22 +84,21 @@ public class PythonProcess {
|
|||
}
|
||||
|
||||
public String sendAndGetResult(String cmd) throws IOException {
|
||||
writer.write(cmd + "\n\n");
|
||||
writer.write("print (\"*!?flush reader!?*\")\n\n");
|
||||
writer.flush();
|
||||
|
||||
String output = "";
|
||||
String line;
|
||||
while (!(line = reader.readLine()).contains("*!?flush reader!?*")) {
|
||||
writer.println(cmd);
|
||||
writer.println();
|
||||
writer.println("\"" + STATEMENT_END + "\"");
|
||||
StringBuilder output = new StringBuilder();
|
||||
String line = null;
|
||||
while (!(line = reader.readLine()).contains(STATEMENT_END)) {
|
||||
logger.debug("Read line from python shell : " + line);
|
||||
if (line.equals("...")) {
|
||||
logger.warn("Syntax error ! ");
|
||||
output += "Syntax error ! ";
|
||||
output.append("Syntax error ! ");
|
||||
break;
|
||||
}
|
||||
output += "\r" + line + "\n";
|
||||
output.append(line + "\n");
|
||||
}
|
||||
return output;
|
||||
return output.toString();
|
||||
}
|
||||
|
||||
private long findPid() throws NoSuchFieldException, IllegalAccessException {
|
||||
|
|
|
|||
|
|
@ -19,19 +19,20 @@
|
|||
# Remove interactive mode displayhook
|
||||
import sys
|
||||
import signal
|
||||
import base64
|
||||
|
||||
try:
|
||||
import StringIO as io
|
||||
except ImportError:
|
||||
import io as io
|
||||
|
||||
sys.displayhook = lambda x: None
|
||||
|
||||
def intHandler(signum, frame): # Set the signal handler
|
||||
print ("Paragraph interrupted")
|
||||
raise KeyboardInterrupt()
|
||||
|
||||
signal.signal(signal.SIGINT, intHandler)
|
||||
# set prompt as empty string so that java side don't need to remove the prompt.
|
||||
sys.ps1=""
|
||||
|
||||
def help():
|
||||
print("""%html
|
||||
|
|
@ -69,10 +70,10 @@ def help():
|
|||
plt.close()
|
||||
</pre>
|
||||
<div><br/> z.show function can take optional parameters
|
||||
to adapt graph width and height</div>
|
||||
to adapt graph dimensions (width and height) and format (png or svg)</div>
|
||||
<div><b>example </b>:
|
||||
<pre>z.show(plt,width='50px
|
||||
z.show(plt,height='150px') </pre></div>
|
||||
z.show(plt,height='150px', fmt='svg') </pre></div>
|
||||
|
||||
<h3>Pandas DataFrame</h3>
|
||||
<div> You need to have Pandas module installed
|
||||
|
|
@ -163,13 +164,24 @@ class PyZeppelinContext(object):
|
|||
#)
|
||||
body_buf.close(); header_buf.close()
|
||||
|
||||
def show_matplotlib(self, p, width="100%", height="100%", **kwargs):
|
||||
def show_matplotlib(self, p, width="100%", height="100%",
|
||||
fmt='png', **kwargs):
|
||||
"""Matplotlib show function
|
||||
"""
|
||||
img = io.StringIO()
|
||||
p.savefig(img, format="svg")
|
||||
html = "%html <div style='width:{width};height:{height}'>{image}<div>"
|
||||
print(html.format(width=width, height=height, image=img.getvalue()))
|
||||
if fmt == 'png':
|
||||
p.savefig(img, format=fmt)
|
||||
html = "%html <img src={img} width={width}, height={height}>"
|
||||
img_str = "data:image/png;base64,"
|
||||
img_str += base64.b64encode(img.getvalue().strip())
|
||||
elif fmt == 'svg':
|
||||
p.savefig(img, format=fmt)
|
||||
html = "%html <div style='width:{width};height:{height}'>{img}<div>"
|
||||
img_str = img.getvalue()
|
||||
else:
|
||||
raise ValueError("fmt must be 'png' or 'svg'")
|
||||
|
||||
print(html.format(width=width, height=height, img=img_str))
|
||||
img.close()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ public class PythonInterpreterTest {
|
|||
*/
|
||||
@Test
|
||||
public void testPy4jInstalled() throws IOException, InterruptedException {
|
||||
when(mockPythonProcess.sendAndGetResult(eq("\n\nimport py4j\n"))).thenReturn(">>>");
|
||||
when(mockPythonProcess.sendAndGetResult(eq("\n\nimport py4j\n"))).thenReturn("");
|
||||
|
||||
pythonInterpreter.open();
|
||||
Integer py4jPort = pythonInterpreter.getPy4jPort();
|
||||
|
|
@ -137,7 +137,7 @@ public class PythonInterpreterTest {
|
|||
@Test
|
||||
public void testClose() throws IOException, InterruptedException {
|
||||
//given: py4j is installed
|
||||
when(mockPythonProcess.sendAndGetResult(eq("\n\nimport py4j\n"))).thenReturn(">>>");
|
||||
when(mockPythonProcess.sendAndGetResult(eq("\n\nimport py4j\n"))).thenReturn("");
|
||||
|
||||
pythonInterpreter.open();
|
||||
Integer py4jPort = pythonInterpreter.getPy4jPort();
|
||||
|
|
@ -210,11 +210,11 @@ public class PythonInterpreterTest {
|
|||
String output = "";
|
||||
|
||||
for (int i = 0; i < lines.length; i++) {
|
||||
output += ">>>" + lines[i];
|
||||
output += lines[i];
|
||||
}
|
||||
return output;
|
||||
} else {
|
||||
return ">>>";
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,24 +23,24 @@
|
|||
|
||||
|
||||
- name: Call apache web service to find preferred maven download mirror
|
||||
uri: url=http://www.apache.org/dyn/closer.cgi?path=maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz&asjson=1 return_content=yes
|
||||
uri: url=http://www.apache.org/dyn/closer.cgi?path=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz&asjson=1 return_content=yes
|
||||
register: webResponse
|
||||
|
||||
#- debug: var=webResponse
|
||||
|
||||
- name: download maven
|
||||
get_url: url="{{webResponse.json.preferred}}{{webResponse.json.path_info}}"
|
||||
dest=/tmp/apache-maven-3.3.3-bin.tar.gz
|
||||
dest=/tmp/apache-maven-3.3.9-bin.tar.gz
|
||||
mode=0440
|
||||
validate_certs=False
|
||||
|
||||
- name: extract maven tgz
|
||||
unarchive: src=/tmp/apache-maven-3.3.3-bin.tar.gz
|
||||
unarchive: src=/tmp/apache-maven-3.3.9-bin.tar.gz
|
||||
dest=/usr/local/
|
||||
copy=no
|
||||
creates=/usr/local/apache-maven-3.3.3
|
||||
creates=/usr/local/apache-maven-3.3.9
|
||||
|
||||
- name: create symlink to this maven version
|
||||
file: src=/usr/local/apache-maven-3.3.3/bin/mvn
|
||||
file: src=/usr/local/apache-maven-3.3.9/bin/mvn
|
||||
path=/usr/bin/mvn
|
||||
state=link
|
||||
|
|
|
|||
|
|
@ -51,11 +51,11 @@
|
|||
<artifactId>slf4j-log4j12</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- dependency>
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>zeppelin-display_${scala.binary.version}</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency -->
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
|
|
@ -989,5 +989,4 @@
|
|||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ from pyspark.accumulators import Accumulator, AccumulatorParam
|
|||
from pyspark.broadcast import Broadcast
|
||||
from pyspark.serializers import MarshalSerializer, PickleSerializer
|
||||
import ast
|
||||
import traceback
|
||||
|
||||
# for back compatibility
|
||||
from pyspark.sql import SQLContext, HiveContext, Row
|
||||
|
|
@ -262,7 +263,7 @@ while True :
|
|||
code = compile(mod, '<stdin>', 'single')
|
||||
exec(code)
|
||||
except:
|
||||
raise Execution(sys.exc_info())
|
||||
raise Exception(traceback.format_exc())
|
||||
|
||||
intp.setStatementsFinished("", False)
|
||||
except Py4JJavaError:
|
||||
|
|
|
|||
|
|
@ -15,17 +15,19 @@
|
|||
limitations under the License.
|
||||
-->
|
||||
|
||||
# Distribution archive of Zeppelin project #
|
||||
# Distribution archive of Apache Zeppelin
|
||||
|
||||
Zeppelin is distributed as a single gzip archive with the following structure:
|
||||
Apache Zeppelin is distributed as a single gzip archive with the following structure:
|
||||
|
||||
```
|
||||
zeppelin
|
||||
Zeppelin
|
||||
├── bin
|
||||
│ ├── zeppelin.sh
|
||||
│ └── seppelin-deamon.sh
|
||||
├── lib
|
||||
├── conf
|
||||
├── interpreter
|
||||
├── lib
|
||||
├── licenses
|
||||
├── zan-repo
|
||||
│ ├── txt.wordcount
|
||||
│ ├── vis.bubble
|
||||
|
|
@ -33,12 +35,11 @@ zeppelin
|
|||
│ ├── ml.something
|
||||
│ └── ...
|
||||
├── zeppelin-server-<verion>.jar
|
||||
├── zeppelin-web-<verion>.war
|
||||
└── zeppelin-cli-<verion>.jar
|
||||
└── zeppelin-web-<verion>.war
|
||||
|
||||
```
|
||||
|
||||
We use maven-assembly-pugin to build it, see distribution.xml for details
|
||||
We use `maven-assembly-plugin` to build it, see `zeppelin-distribution/src/assemble/distribution.xml ` for details.
|
||||
|
||||
**IMPORTANT:** _/lib_ subdirectory contains all transitive dependencies of the zeppelin-distribution module,
|
||||
automatically resolved by maven, except for explicitly excluded _server_, _web_ and _cli_ zeppelin sub-modules.
|
||||
>**IMPORTANT:** `_/lib_` subdirectory contains all transitive dependencies of the `zeppelin-distribution` module,
|
||||
automatically resolved by maven, except for explicitly excluded `_server_` and `_web_` Zeppelin sub-modules.
|
||||
|
|
|
|||
|
|
@ -15,38 +15,41 @@
|
|||
limitations under the License.
|
||||
-->
|
||||
|
||||
Zeppelin dependency graph:
|
||||
--------------
|
||||
hive, hadoop, ...
|
||||
# Apache Zeppelin Build Infrastructure
|
||||
|
||||
## Dependency graph
|
||||
|
||||
```
|
||||
e.g. hive, hadoop, ...
|
||||
| | |
|
||||
v v v
|
||||
Zeppelin Server <- Zengine -> Zeppelin CLI
|
||||
Zeppelin Server <- Zengine
|
||||
+ |
|
||||
zeppeli web v
|
||||
ZAN
|
||||
```
|
||||
|
||||
|
||||
## Artifacts
|
||||
|
||||
- Zeppelin Server : Web UI, server to host it / executable
|
||||
- Zeppelin Web : Web UI, clint-side JS app / HTML+JavaScript; war
|
||||
- Zeppelin Zengine : Main library / java library
|
||||
- ZAN
|
||||
|
||||
|
||||
|
||||
Zeppelin artifacts:
|
||||
------------------
|
||||
Zeppelin CLI - Commandline UI - executable
|
||||
Zeppelin Server - Web UI, server to host it - executable
|
||||
Zwppwlin Web - Web UI, clint-side JS app - HTML+JavaScript; war
|
||||
Zengine - Main library - java library
|
||||
ZAN -
|
||||
## Build process
|
||||
|
||||
- compile => *.class, minify *.js
|
||||
- build modules => *.jar, war
|
||||
- test => UnitTest reports
|
||||
- package -P build-distr => final .zip
|
||||
- integration-test => selenium over running zeppelin-server (from package)
|
||||
|
||||
|
||||
## Verify
|
||||
|
||||
Build process:
|
||||
-------------
|
||||
compile => *.class, minify *.js
|
||||
build modules => *.jar, war
|
||||
test => UnitTest reports
|
||||
package -P build-distr => final .zip
|
||||
integration-test => selenium over running zeppelin-server (from package)
|
||||
|
||||
|
||||
verify:
|
||||
pre-inegration-test => start Zeppelin
|
||||
integration-test
|
||||
post-inegration-test => stop Zeppelin
|
||||
- pre-inegration-test => start Zeppelin
|
||||
- integration-test
|
||||
- post-inegration-test => stop Zeppelin
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ public class AuthenticationIT extends AbstractZeppelinIT {
|
|||
userName + "')]")).click();
|
||||
ZeppelinITUtils.sleep(500, false);
|
||||
driver.findElement(By.xpath("//div[contains(@class, 'navbar-collapse')]//li[contains(.,'" +
|
||||
userName + "')]//a[@ng-click='logout()']")).click();
|
||||
userName + "')]//a[@ng-click='navbar.logout()']")).click();
|
||||
ZeppelinITUtils.sleep(5000, false);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
*/
|
||||
'use strict';
|
||||
|
||||
angular.module('zeppelinWebApp').controller('MainCtrl', function($scope, $rootScope, $window) {
|
||||
angular.module('zeppelinWebApp').controller('MainCtrl', function($scope, $rootScope, $window, arrayOrderingSrv) {
|
||||
$scope.looknfeel = 'default';
|
||||
|
||||
var init = function() {
|
||||
|
|
@ -41,6 +41,12 @@ angular.module('zeppelinWebApp').controller('MainCtrl', function($scope, $rootSc
|
|||
$rootScope.$broadcast('setLookAndFeel', 'default');
|
||||
});
|
||||
|
||||
$rootScope.noteName = function(note) {
|
||||
if (!_.isEmpty(note)) {
|
||||
return arrayOrderingSrv.getNoteName(note);
|
||||
}
|
||||
};
|
||||
|
||||
BootstrapDialog.defaultOptions.onshown = function() {
|
||||
angular.element('#' + this.id).find('.btn:last').focus();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -249,8 +249,8 @@ angular.module('zeppelinWebApp').controller('InterpreterCtrl',
|
|||
|
||||
$scope.addNewInterpreterSetting = function() {
|
||||
//user input validation on interpreter creation
|
||||
if ($scope.newInterpreterSetting.name &&
|
||||
!$scope.newInterpreterSetting.name.trim() || !$scope.newInterpreterSetting.group) {
|
||||
if (!$scope.newInterpreterSetting.name ||
|
||||
!$scope.newInterpreterSetting.name.trim() || !$scope.newInterpreterSetting.group) {
|
||||
BootstrapDialog.alert({
|
||||
closable: true,
|
||||
title: 'Add interpreter',
|
||||
|
|
|
|||
|
|
@ -18,29 +18,50 @@ angular.module('zeppelinWebApp')
|
|||
.controller('NavCtrl', function($scope, $rootScope, $http, $routeParams,
|
||||
$location, notebookListDataFactory, baseUrlSrv, websocketMsgSrv, arrayOrderingSrv, searchService) {
|
||||
|
||||
$scope.query = {q: ''};
|
||||
/** Current list of notes (ids) */
|
||||
|
||||
$scope.showLoginWindow = function() {
|
||||
setTimeout(function() {
|
||||
angular.element('#userName').focus();
|
||||
}, 500);
|
||||
};
|
||||
|
||||
var vm = this;
|
||||
vm.notes = notebookListDataFactory;
|
||||
vm.connected = websocketMsgSrv.isConnected();
|
||||
vm.websocketMsgSrv = websocketMsgSrv;
|
||||
vm.arrayOrderingSrv = arrayOrderingSrv;
|
||||
$scope.searchForm = searchService;
|
||||
vm.connected = websocketMsgSrv.isConnected();
|
||||
vm.isActive = isActive;
|
||||
vm.logout = logout;
|
||||
vm.notes = notebookListDataFactory;
|
||||
vm.search = search;
|
||||
vm.searchForm = searchService;
|
||||
vm.showLoginWindow = showLoginWindow;
|
||||
|
||||
angular.element('#notebook-list').perfectScrollbar({suppressScrollX: true});
|
||||
$scope.query = {q: ''};
|
||||
|
||||
angular.element(document).click(function() {
|
||||
$scope.query.q = '';
|
||||
});
|
||||
initController();
|
||||
|
||||
$scope.logout = function() {
|
||||
function getZeppelinVersion() {
|
||||
$http.get(baseUrlSrv.getRestApiBase() + '/version').success(
|
||||
function(data, status, headers, config) {
|
||||
$rootScope.zeppelinVersion = data.body;
|
||||
}).error(
|
||||
function(data, status, headers, config) {
|
||||
console.log('Error %o %o', status, data.message);
|
||||
});
|
||||
}
|
||||
|
||||
function initController() {
|
||||
angular.element('#notebook-list').perfectScrollbar({suppressScrollX: true});
|
||||
|
||||
angular.element(document).click(function() {
|
||||
$scope.query.q = '';
|
||||
});
|
||||
|
||||
getZeppelinVersion();
|
||||
loadNotes();
|
||||
}
|
||||
|
||||
function isActive(noteId) {
|
||||
return ($routeParams.noteId === noteId);
|
||||
}
|
||||
|
||||
function loadNotes() {
|
||||
websocketMsgSrv.getNotebookList();
|
||||
}
|
||||
|
||||
function logout() {
|
||||
var logoutURL = baseUrlSrv.getRestApiBase() + '/login/logout';
|
||||
|
||||
//for firefox and safari
|
||||
|
|
@ -60,42 +81,18 @@ angular.module('zeppelinWebApp')
|
|||
}, 1000);
|
||||
});
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
$scope.search = function(searchTerm) {
|
||||
function search(searchTerm) {
|
||||
$location.path('/search/' + searchTerm);
|
||||
};
|
||||
|
||||
function loadNotes() {
|
||||
websocketMsgSrv.getNotebookList();
|
||||
}
|
||||
|
||||
function isActive(noteId) {
|
||||
return ($routeParams.noteId === noteId);
|
||||
function showLoginWindow() {
|
||||
setTimeout(function() {
|
||||
angular.element('#userName').focus();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
$rootScope.noteName = function(note) {
|
||||
if (!_.isEmpty(note)) {
|
||||
return arrayOrderingSrv.getNoteName(note);
|
||||
}
|
||||
};
|
||||
|
||||
function getZeppelinVersion() {
|
||||
$http.get(baseUrlSrv.getRestApiBase() + '/version').success(
|
||||
function(data, status, headers, config) {
|
||||
$rootScope.zeppelinVersion = data.body;
|
||||
}).error(
|
||||
function(data, status, headers, config) {
|
||||
console.log('Error %o %o', status, data.message);
|
||||
});
|
||||
}
|
||||
|
||||
vm.loadNotes = loadNotes;
|
||||
vm.isActive = isActive;
|
||||
|
||||
getZeppelinVersion();
|
||||
vm.loadNotes();
|
||||
|
||||
/*
|
||||
** $scope.$on functions below
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -45,15 +45,15 @@ limitations under the License.
|
|||
<li class="nav-component" ng-if="ticket">
|
||||
<!--TODO(bzz): move to Typeahead https://angular-ui.github.io/bootstrap -->
|
||||
|
||||
<form role="search" data-ng-model="searchForm"
|
||||
<form role="search" data-ng-model="navbar.searchForm"
|
||||
style="display: inline-block; margin: 0px"
|
||||
class="navbar-form"
|
||||
ng-submit="search(searchForm.searchTerm)">
|
||||
ng-submit="navbar.search(navbar.searchForm.searchTerm)">
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="text"
|
||||
style="min-width:200px;"
|
||||
ng-model="searchForm.searchTerm"
|
||||
ng-model="navbar.searchForm.searchTerm"
|
||||
id="searchTermId"
|
||||
ng-disabled="!navbar.connected"
|
||||
class="form-control"
|
||||
|
|
@ -63,7 +63,7 @@ limitations under the License.
|
|||
<button
|
||||
type="submit"
|
||||
class="btn btn-default"
|
||||
ng-disabled="!navbar.connected || !searchForm.searchTerm"
|
||||
ng-disabled="!navbar.connected || !navbar.searchForm.searchTerm"
|
||||
>
|
||||
<i class="glyphicon glyphicon-search"></i>
|
||||
</button>
|
||||
|
|
@ -89,13 +89,13 @@ limitations under the License.
|
|||
<li><a href="#/credential">Credential</a></li>
|
||||
<li><a href="#/configuration">Configuration</a></li>
|
||||
<li ng-if="ticket.principal && ticket.principal !== 'anonymous'" role="separator" style="margin: 5px 0;" class="divider"></li>
|
||||
<li ng-if="ticket.principal && ticket.principal !== 'anonymous'"><a ng-click="logout()">Logout</a></li>
|
||||
<li ng-if="ticket.principal && ticket.principal !== 'anonymous'"><a ng-click="navbar.logout()">Logout</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-component" ng-if="!ticket">
|
||||
<button class="btn nav-login-btn" data-toggle="modal" data-target="#loginModal"
|
||||
ng-click="showLoginWindow()">Login
|
||||
ng-click="navbar.showLoginWindow()">Login
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -170,12 +170,12 @@ angular.module('zeppelinWebApp').service('websocketMsgSrv', function($rootScope,
|
|||
});
|
||||
},
|
||||
|
||||
getNoteRevision: function(noteId, revisionId) {
|
||||
getNoteRevision: function(noteId, revision) {
|
||||
websocketEvents.sendNewEvent({
|
||||
op: 'NOTE_REVISION',
|
||||
data: {
|
||||
noteId: noteId,
|
||||
revisionId: revisionId
|
||||
revision: revision
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue