mirror of
https://github.com/apache/zeppelin
synced 2026-05-24 09:38:26 +00:00
Merge remote-tracking branch 'upstream/master' into ZEPPELIN-2403
# Conflicts: # docs/setup/operation/upgrading.md
This commit is contained in:
commit
098fbd140e
77 changed files with 1233 additions and 736 deletions
|
|
@ -1,5 +1,5 @@
|
|||
<div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
|
||||
<div class="container">
|
||||
<div class="container navbar-container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
|
|
@ -9,11 +9,12 @@
|
|||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-brand-main" href="{{site.production_url}}">
|
||||
<img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50" alt="I'm zeppelin">
|
||||
<span style="vertical-align:middle">Zeppelin</span>
|
||||
</a>
|
||||
<a class="navbar-brand-version" href="{{BASE_PATH}}">
|
||||
<span><small>{{site.ZEPPELIN_VERSION}}</small></span>
|
||||
<img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
|
||||
style="margin-top: -2px;" alt="I'm zeppelin">
|
||||
<span style="margin-left: 5px; font-size: 27px;">Zeppelin</span>
|
||||
<a class="navbar-brand-version" href="{{BASE_PATH}}"
|
||||
style="font-size: 15px; color: white;"> {{site.ZEPPELIN_VERSION}}
|
||||
</a>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -22,38 +23,103 @@
|
|||
<li>
|
||||
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="{{BASE_PATH}}/index.html">What is Apache Zeppelin ?</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>Getting Started</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/install/install.html">Install</a></li>
|
||||
<li><a href="{{BASE_PATH}}/install/configuration.html">Configuration</a></li>
|
||||
<li><a href="{{BASE_PATH}}/quickstart/explorezeppelinui.html">Explore Zeppelin UI</a></li>
|
||||
<li class="title"><span>Getting Started</span></li>
|
||||
<li><a href="{{BASE_PATH}}/quickstart/install.html">Install</a></li>
|
||||
<li><a href="{{BASE_PATH}}/quickstart/explore_ui.html">Explore UI</a></li>
|
||||
<li><a href="{{BASE_PATH}}/quickstart/tutorial.html">Tutorial</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>Basic Feature Guide</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/manual/dynamicform.html">Dynamic Form</a></li>
|
||||
<li><a href="{{BASE_PATH}}/manual/publish.html">Publish your Paragraph</a></li>
|
||||
<li><a href="{{BASE_PATH}}/manual/notebookashomepage.html">Customize Zeppelin Homepage</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>More</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/install/upgrade.html">Upgrade Zeppelin Version</a></li>
|
||||
<li><a href="{{BASE_PATH}}/install/build.html">Build from source</a></li>
|
||||
<li><a href="{{BASE_PATH}}/quickstart/install_with_flink_and_spark_cluster.html">Install Zeppelin with Flink and Spark Clusters Tutorial</a></li>
|
||||
<li><a href="{{BASE_PATH}}/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
|
||||
<li><a href="{{BASE_PATH}}/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
|
||||
<li><a href="{{BASE_PATH}}/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Usage<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="title"><span>Dynamic Form</span></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span>Display System</span></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/display_system/basic.html#text">Text Display</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/display_system/basic.html#html">HTML Display</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/display_system/basic.html#table">Table Display</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/display_system/basic.html#network">Network</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span>Interpreter</span></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/interpreter/overview.html">Overview</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/interpreter/dependency_management.html">Dependency Management</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/interpreter/installation.html">Installing Interpreters</a></li>
|
||||
<!--<li><a href="{{BASE_PATH}}/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
|
||||
<li><a href="{{BASE_PATH}}/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span>Other Features</span></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span>REST API</span></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/rest_api/interpreter.html">Interpreter API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/rest_api/notebook.html">Notebook API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/rest_api/configuration.html">Configuration API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/rest_api/credential.html">Credential API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/rest_api/helium.html">Helium API</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Setup<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="title"><span>Basics</span></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/basics/multi_user_support.html">Multi-user Support</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span>Deployment</span></li>
|
||||
<!--<li><a href="{{BASE_PATH}}/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
|
||||
<li><a href="{{BASE_PATH}}/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span>Security</span></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span>Notebook Storage</span></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span>Operation</span></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/operation/configuration.html">Configuration</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/operation/proxy_setting.html">Proxy Setting</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/operation/upgrading.html">Upgrading</a></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu scrollable-menu">
|
||||
<li><a href="{{BASE_PATH}}/manual/interpreters.html">Overview</a></li>
|
||||
<li class="title"><span>Interpreters</span></li>
|
||||
<li><a href="{{BASE_PATH}}/usage/interpreter/overview.html">Overview</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>Usage</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/manual/interpreterinstallation.html">Interpreter Installation</a></li>
|
||||
<!--<li><a href="{{BASE_PATH}}/manual/dynamicinterpreterload.html">Dynamic Interpreter Loading</a></li>-->
|
||||
<li><a href="{{BASE_PATH}}/manual/dependencymanagement.html">Interpreter Dependency Management</a></li>
|
||||
<li><a href="{{BASE_PATH}}/manual/userimpersonation.html">Interpreter User Impersonation</a></li>
|
||||
<li><a href="{{BASE_PATH}}/manual/interpreterexechooks.html">Interpreter Execution Hooks (Experimental)</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/spark.html">Spark</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/jdbc.html">JDBC</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/python.html">Python</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>Available Interpreters</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/alluxio.html">Alluxio</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/beam.html">Beam</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/bigquery.html">BigQuery</a></li>
|
||||
|
|
@ -66,77 +132,41 @@
|
|||
<li><a href="{{BASE_PATH}}/interpreter/hdfs.html">HDFS</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/hive.html">Hive</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/ignite.html">Ignite</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/jdbc.html">JDBC</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/kylin.html">Kylin</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/lens.html">Lens</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/livy.html">Livy</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/markdown.html">Markdown</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/pig.html">Pig</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/python.html">Python</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/r.html">R</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/scalding.html">Scalding</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/scio.html">Scio</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/shell.html">Shell</a></li>
|
||||
<li><a href="{{BASE_PATH}}/interpreter/spark.html">Spark</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Display System <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="title"><span><b>Basic Display System</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/displaysystem/basicdisplaysystem.html#text">Text</a></li>
|
||||
<li><a href="{{BASE_PATH}}/displaysystem/basicdisplaysystem.html#html">Html</a></li>
|
||||
<li><a href="{{BASE_PATH}}/displaysystem/basicdisplaysystem.html#table">Table</a></li>
|
||||
<li><a href="{{BASE_PATH}}/displaysystem/basicdisplaysystem.html#network">Network</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>Angular API</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/displaysystem/back-end-angular.html">Angular (backend API)</a></li>
|
||||
<li><a href="{{BASE_PATH}}/displaysystem/front-end-angular.html">Angular (frontend API)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;">
|
||||
<li class="title"><span><b>Notebook Storage</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
|
||||
<li><a href="{{BASE_PATH}}/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
|
||||
<li><a href="{{BASE_PATH}}/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
|
||||
<li><a href="{{BASE_PATH}}/storage/storage.html#storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
|
||||
<li><a href="{{BASE_PATH}}/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
|
||||
<li class="title"><span>Extending Zeppelin</span></li>
|
||||
<li><a href="{{BASE_PATH}}/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>REST API</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/rest-api/rest-zeppelin-server.html">Zeppelin Server API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/rest-api/rest-interpreter.html">Interpreter API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/rest-api/rest-notebook.html">Notebook API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/rest-api/rest-notebookRepo.html">Notebook Repository API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/rest-api/rest-configuration.html">Configuration API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/rest-api/rest-credential.html">Credential API</a></li>
|
||||
<li><a href="{{BASE_PATH}}/rest-api/rest-helium.html">Helium API</a></li>
|
||||
<li class="title"><span>Helium (Experimental)</span></li>
|
||||
<li><a href="{{BASE_PATH}}/development/helium/overview.html">Overview</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/helium/writing_application.html">Writing Helium Application</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/helium/writing_spell.html">Writing Helium Spell</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/helium/writing_visualization_basics.html">Writing Helium Visualization: Basics</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>Security</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/security/shiroauthentication.html">Shiro Authentication</a></li>
|
||||
<li><a href="{{BASE_PATH}}/security/notebook_authorization.html">Notebook Authorization</a></li>
|
||||
<li><a href="{{BASE_PATH}}/security/datasource_authorization.html">Data Source Authorization</a></li>
|
||||
<li><a href="{{BASE_PATH}}/security/helium_authorization.html">Helium Authorization</a></li>
|
||||
<li class="title"><span>Contributing to Zeppelin</span></li>
|
||||
<li><a href="{{BASE_PATH}}/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>Helium Framework (Experimental)</b></span></li>
|
||||
<li><a href="{{BASE_PATH}}/development/writingzeppelinapplication.html">Writing Zeppelin Application</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/writingzeppelinspell.html">Writing Zeppelin Spell</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/writingzeppelinvisualization.html">Writing Zeppelin Visualization: Basics</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/writingzeppelinvisualization_transformation.html">Writing Zeppelin Visualization: Transformation</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>Advanced</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
|
||||
<li><a href="{{BASE_PATH}}/install/spark_cluster_mode.html#spark-standalone-mode">Zeppelin on Spark Cluster Mode (Standalone)</a></li>
|
||||
<li><a href="{{BASE_PATH}}/install/spark_cluster_mode.html#spark-on-yarn-mode">Zeppelin on Spark Cluster Mode (YARN)</a></li>
|
||||
<li><a href="{{BASE_PATH}}/install/spark_cluster_mode.html#spark-on-mesos-mode">Zeppelin on Spark Cluster Mode (Mesos)</a></li>
|
||||
<li><a href="{{BASE_PATH}}/install/cdh.html">Zeppelin on CDH</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<li class="title"><span><b>Contibute</b><span></li>
|
||||
<li><a href="{{BASE_PATH}}/development/writingzeppelininterpreter.html">Writing Zeppelin Interpreter</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/howtocontribute.html">How to contribute (code)</a></li>
|
||||
<li><a href="{{BASE_PATH}}/development/howtocontributewebsite.html">How to contribute (website)</a></li>
|
||||
<li class="title"><span>External Resources</span></li>
|
||||
<li><a target="_blank" href="">Mailing List</a></li>
|
||||
<li><a target="_blank" href="">Apache Zeppelin Wiki</a></li>
|
||||
<li><a target="_blank" href="">Stackoverflow Questions about Zeppelin</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
/* Move down content because we have a fixed navbar that is 50px tall */
|
||||
/* Move down content because we have a fixed navbar that is 60px tall */
|
||||
@import url(//fonts.googleapis.com/css?family=Patua+One);
|
||||
@import url(//fonts.googleapis.com/css?family=Open+Sans);
|
||||
|
||||
body {
|
||||
padding-top: 50px;
|
||||
padding-bottom: 20px;
|
||||
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #4c555a;
|
||||
letter-spacing: .2px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.jumbotron {
|
||||
|
|
@ -58,6 +58,7 @@ body {
|
|||
|
||||
.jumbotron h1 {
|
||||
font-family: 'Patua One', cursive;
|
||||
}
|
||||
|
||||
.jumbotron h1 {
|
||||
font-family: 'Patua One', cursive;
|
||||
|
|
@ -67,7 +68,6 @@ body {
|
|||
font-size: 60%;
|
||||
color: #FFF;
|
||||
}
|
||||
}
|
||||
|
||||
.jumbotron small {
|
||||
font-size: 60%;
|
||||
|
|
@ -75,8 +75,8 @@ body {
|
|||
}
|
||||
|
||||
.navbar-brand {
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.navbar-brand-main img {
|
||||
|
|
@ -86,16 +86,20 @@ body {
|
|||
.navbar {
|
||||
background: #3071a9;
|
||||
border-bottom: 0px;
|
||||
height: 50px;
|
||||
height: 60px;
|
||||
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-nav > li > a {
|
||||
padding-top: 18px;
|
||||
padding-bottom: 20px;
|
||||
font-size: 15px;
|
||||
font-weight: 300;
|
||||
color: white;
|
||||
background: #3071a9;
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-nav > li > a:hover,
|
||||
.navbar-inverse .navbar-nav > li > a:focus {
|
||||
.navbar-inverse .navbar-nav > li > a:hover {
|
||||
color: white !important;
|
||||
background: #2C6094 !important;
|
||||
}
|
||||
|
|
@ -181,7 +185,12 @@ body {
|
|||
}
|
||||
|
||||
.navbar-inverse .navbar-toggle {
|
||||
border-color: #265380;
|
||||
margin-top: 12px;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-toggle:focus {
|
||||
outline-width: 0;
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-toggle:hover,
|
||||
|
|
@ -190,8 +199,9 @@ body {
|
|||
background: #265380;
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-toggle:focus {
|
||||
outline-width: 0;
|
||||
.navbar-inverse .navbar-toggle.collapsed {
|
||||
border-color: #3071A9;
|
||||
background: #3071a9;
|
||||
}
|
||||
|
||||
/* CUSTOMIZE THE CAROUSEL
|
||||
|
|
@ -257,8 +267,9 @@ body {
|
|||
.content {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.content :first-child {
|
||||
margin-top: 0;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 64em) {
|
||||
|
|
@ -299,7 +310,7 @@ a.anchor {
|
|||
|
||||
/* <hn> */
|
||||
.content h1, h2, h3, h4, h5, h6 {
|
||||
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-family: "Roboto", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
margin-top: 3rem;
|
||||
margin-bottom: 1rem;
|
||||
font-weight: bold;
|
||||
|
|
@ -365,7 +376,7 @@ a.anchor {
|
|||
padding: 0.8rem;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
font: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
||||
font-size: 90%;
|
||||
color: #567482;
|
||||
word-wrap: normal;
|
||||
|
|
@ -537,7 +548,7 @@ a.anchor {
|
|||
}
|
||||
|
||||
.navbar-collapse.collapse {
|
||||
max-height: 50px;
|
||||
max-height: 60px;
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-nav a .caret,
|
||||
|
|
@ -594,47 +605,26 @@ a.anchorjs-link:hover { text-decoration: none; }
|
|||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
/* Custom, iPhone Retina */
|
||||
@media only screen and (max-width: 480px) {
|
||||
.jumbotron h1 {
|
||||
display: none;
|
||||
}
|
||||
.navbar-brand-version small {
|
||||
display: none;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 768px) {
|
||||
.navbar .navbar-brand-main {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen
|
||||
and (min-width: 768px)
|
||||
and (max-width: 1024px) {
|
||||
.navbar-brand-version small {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navbar-collapse.collapse {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.navbar-fixed-top > .container {
|
||||
width: 800px;
|
||||
}
|
||||
.navbar-inverse .navbar-brand {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
font-size: 32px;
|
||||
font-size: 27px;
|
||||
}
|
||||
|
||||
/* master branch docs dropdown menu */
|
||||
#menu .dropdown-menu li span {
|
||||
padding: 3px 10px 10px 10px;
|
||||
font-size: 13px;
|
||||
font-family: "Roboto", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
padding: 12px 10px 12px 20px;
|
||||
font-size: 16px;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
#menu .dropdown-menu li a {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#menu .title {
|
||||
padding-bottom: 8px;
|
||||
color: #3071a9;
|
||||
}
|
||||
|
||||
|
|
@ -649,7 +639,7 @@ and (max-width: 1024px) {
|
|||
}
|
||||
|
||||
#menu .navbar-brand-version {
|
||||
margin-right: 50px;
|
||||
margin-right: 30px;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
|
|
@ -659,9 +649,8 @@ and (max-width: 1024px) {
|
|||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
#menu .navbar-brand-version small {
|
||||
#menu .navbar-brand-version {
|
||||
font-size: 14px;
|
||||
font-family: 'Open Sans', 'Helvetica Neue', Helvetica;
|
||||
color: white;
|
||||
}
|
||||
|
||||
|
|
@ -676,14 +665,64 @@ and (max-width: 1024px) {
|
|||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* Custom, iPhone Retina */
|
||||
@media only screen and (max-width: 480px) {
|
||||
.jumbotron h1 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navbar-brand-version {
|
||||
display: none;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 480px) {
|
||||
#menu .title {
|
||||
color: #bbb;
|
||||
}
|
||||
}
|
||||
|
||||
/* when navigation toggle is enabled due to browser size */
|
||||
@media only screen and (max-width: 768px) {
|
||||
#menu .title {
|
||||
color: #bbb;
|
||||
text-shadow: 1px 2px #353131;
|
||||
color: white;
|
||||
font-family: "Roboto", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding-left: 30px;
|
||||
padding-right: 30px;
|
||||
}
|
||||
|
||||
.navbar .navbar-brand-main {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
|
||||
border-color: #73a0cd;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 768px) and (max-width: 1024px) {
|
||||
|
||||
.navbar-brand-version {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navbar-collapse.collapse {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.navbar-fixed-top > .container {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -122,6 +122,15 @@ $(function() {
|
|||
$('#toc').toc();
|
||||
});
|
||||
|
||||
$(document).click(function(event) {
|
||||
// fold navbar when a user click other components
|
||||
var clickover = $(event.target);
|
||||
var _opened = $(".navbar-collapse").hasClass("navbar-collapse in");
|
||||
if (_opened === true && !clickover.hasClass("navbar-toggle")) {
|
||||
$("button.navbar-toggle").click();
|
||||
}
|
||||
});
|
||||
|
||||
// Scroll now too in case we had opened the page on a hash, but wait a bit because some browsers
|
||||
// will try to do *their* initial scroll after running the onReady handler.
|
||||
$(window).load(function() { setTimeout(function() { maybeScrollToHash(); }, 25); });
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: development/contribution
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: development/contribution
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
101
docs/development/contribution/useful_developer_tools.md
Normal file
101
docs/development/contribution/useful_developer_tools.md
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Useful Developer Tools"
|
||||
description: ""
|
||||
group: development/contribution
|
||||
---
|
||||
<!--
|
||||
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 %}
|
||||
|
||||
# Useful Developer Tools
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
### Developing `zeppelin-web`
|
||||
|
||||
Check [zeppelin-web: Local Development](https://github.com/apache/zeppelin/tree/master/zeppelin-web#local-development).
|
||||
|
||||
### Tools
|
||||
|
||||
#### SVM: Scala Version Manager
|
||||
|
||||
[svm](https://github.com/yuroyoro/svm) would be useful when changing scala version frequently.
|
||||
|
||||
#### JDK change script: OSX
|
||||
|
||||
this script would be helpful when changing JDK version frequently.
|
||||
|
||||
```
|
||||
function setjdk() {
|
||||
if [ $# -ne 0 ]; then
|
||||
# written based on OSX.
|
||||
# use diffrent base path for other OS
|
||||
removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
|
||||
if [ -n "${JAVA_HOME+x}" ]; then
|
||||
removeFromPath $JAVA_HOME
|
||||
fi
|
||||
export JAVA_HOME=`/usr/libexec/java_home -v $@`
|
||||
export PATH=$JAVA_HOME/bin:$PATH
|
||||
fi
|
||||
}
|
||||
function removeFromPath() {
|
||||
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
|
||||
}
|
||||
```
|
||||
|
||||
you can use this function like `setjdk 1.8` / `setjdk 1.7`
|
||||
|
||||
### Building Submodules Selectively
|
||||
|
||||
```
|
||||
# build `zeppelin-web` only
|
||||
mvn clean -pl 'zeppelin-web' package -DskipTests;
|
||||
|
||||
# build `zeppelin-server` and its dependencies only
|
||||
mvn clean package -pl 'spark,spark-dependencies,python,markdown,zeppelin-server' --am -DskipTests
|
||||
|
||||
# build spark related modules with default profiles: scala 2.10
|
||||
mvn clean package -pl 'spark,spark-dependencies,zeppelin-server' --am -DskipTests
|
||||
|
||||
# build spark related modules with profiles: scala 2.11, spark 2.1 hadoop 2.7
|
||||
./dev/change_scala_version.sh 2.11
|
||||
mvn clean package -Pspark-2.1 -Phadoop-2.7 -Pscala-2.11 -pl 'spark,spark-dependencies,zeppelin-server' --am -DskipTests
|
||||
|
||||
# build `zeppelin-server` and `markdown` with dependencies
|
||||
mvn clean package -pl 'markdown,zeppelin-server' --am -DskipTests
|
||||
```
|
||||
|
||||
### Running Individual Tests
|
||||
|
||||
```
|
||||
# run the `HeliumBundleFactoryTest` test class
|
||||
mvn test -pl 'zeppelin-server' --am -DfailIfNoTests=false -Dtest=HeliumBundleFactoryTest
|
||||
```
|
||||
|
||||
### Running Selenium Tests
|
||||
|
||||
Make sure that Zeppelin instance is started to execute integration tests (= selenium tests).
|
||||
|
||||
```
|
||||
# run the `SparkParagraphIT` test class
|
||||
TEST_SELENIUM="true" mvn test -pl 'zeppelin-server' --am -DfailIfNoTests=false -Dtest=SparkParagraphIT
|
||||
|
||||
# run the `testSqlSpark` test function only in the `SparkParagraphIT` class
|
||||
# but note that, some test might be dependent on the previous tests
|
||||
TEST_SELENIUM="true" mvn test -pl 'zeppelin-server' --am -DfailIfNoTests=false -Dtest=SparkParagraphIT#testSqlSpark
|
||||
```
|
||||
|
||||
|
||||
|
||||
39
docs/development/helium/overview.md
Normal file
39
docs/development/helium/overview.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Helium"
|
||||
description: ""
|
||||
group: development/helium
|
||||
---
|
||||
<!--
|
||||
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 %}
|
||||
|
||||
# Helium Overview
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
## What is Helium?
|
||||
|
||||
Helium is a plugin system that can extend Zeppelin a lot.
|
||||
For example, you can write [custom display system](./writing_spell.html) or
|
||||
install already published one in [Heliun Online Registry](http://zeppelin.apache.org/helium_packages.html).
|
||||
|
||||
Currently, Helium supports 4 types of package.
|
||||
|
||||
- [Helium Visualization](./writing_visualization_basic.html): Adding a new chart type
|
||||
- [Helium Spell](./writing_spell.html): Adding new interpreter, display system running on browser
|
||||
- [Helium Application](./writing_application.html)
|
||||
- [Helium Interpreter](../writing_zeppelin_interpreter.html): Adding a new custom interpreter
|
||||
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Writing a new Application"
|
||||
title: "Writing a new Helium Application"
|
||||
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
|
||||
group: development/helium
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Writing a new Spell"
|
||||
title: "Writing a new Helium Spell"
|
||||
description: "Spell is a kind of interpreter that runs on browser not on backend. So, technically it's the frontend interpreter. "
|
||||
group: development
|
||||
group: development/helium
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -34,7 +34,7 @@ It can provide many benefits.
|
|||
|
||||
## How it works
|
||||
|
||||
Helium Spell works like [Helium Visualization](./writingzeppelinvisualization.html).
|
||||
Helium Spell works like [Helium Visualization](./writing_visualization_basic.html).
|
||||
|
||||
- Every helium packages are loaded from central (online) registry or local registry
|
||||
- You can see loaded packages in `/helium` page.
|
||||
|
|
@ -47,19 +47,19 @@ Helium Spell works like [Helium Visualization](./writingzeppelinvisualization.ht
|
|||
|
||||
Find a spell what you want to use in `/helium` package and click `Enable` button.
|
||||
|
||||
<img class="img-responsive" style="width:70%" src="../assets/themes/zeppelin/img/docs-img/writing_spell_registered.png" />
|
||||
<img class="img-responsive" style="width:70%" src="/assets/themes/zeppelin/img/docs-img/writing_spell_registered.png" />
|
||||
|
||||
### 2. Using
|
||||
|
||||
Spell works like an interpreter. Use the `MAGIC` value to execute spell in a note. (you might need to refresh after enabling)
|
||||
For example, Use `%echo` for the Echo Spell.
|
||||
|
||||
<img class="img-responsive" style="width:70%" src="../assets/themes/zeppelin/img/docs-img/writing_spell_using.gif" />
|
||||
<img class="img-responsive" style="width:70%" src="/assets/themes/zeppelin/img/docs-img/writing_spell_using.gif" />
|
||||
|
||||
|
||||
## Write a new Spell
|
||||
|
||||
Making a new spell is similar to [Helium Visualization#write-new-visualization](./writingzeppelinvisualization.html#write-new-visualization).
|
||||
Making a new spell is similar to [Helium Visualization#write-new-visualization](./writing_visualization_basic.html#write-new-visualization).
|
||||
|
||||
- Add framework dependency called zeppelin-spell into `package.json`
|
||||
- Write code using framework
|
||||
|
|
@ -198,7 +198,7 @@ It's automatically created when you publish to npm repository but in local case,
|
|||
- Place this file in your local registry directory (default `$ZEPPELIN_HOME/helium`).
|
||||
- `type` should be `SPELL`
|
||||
- Make sure that `artifact` should be same as your spell directory.
|
||||
- You can get information about other fields in [Helium Visualization#3-create-helium-package-file-and-locally-deploy](./writingzeppelinvisualization.html#3-create-helium-package-file-and-locally-deploy).
|
||||
- You can get information about other fields in [Helium Visualization#3-create-helium-package-file-and-locally-deploy](./writing_visualization_basic.html#3-create-helium-package-file-and-locally-deploy).
|
||||
|
||||
### 4. Run in dev mode
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Writing a new Visualization"
|
||||
title: "Writing a new Helium Visualization: basic"
|
||||
description: "Apache Zeppelin Visualization is a pluggable package that can be loaded/unloaded on runtime through Helium framework in Zeppelin. A Visualization is a javascript npm package and user can use them just like any other built-in visualization in a note."
|
||||
group: development
|
||||
group: development/helium
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -41,7 +41,7 @@ Once Zeppelin loads _Helium package files_ from registries, available packages a
|
|||
|
||||
Click 'enable' button.
|
||||
|
||||
<img class="img-responsive" style="width:70%" src="../assets/themes/zeppelin/img/docs-img/writing_visualization_helium_menu.png" />
|
||||
<img class="img-responsive" style="width:70%" src="/assets/themes/zeppelin/img/docs-img/writing_visualization_helium_menu.png" />
|
||||
|
||||
|
||||
#### 3. Create and load visualization bundle on the fly
|
||||
|
|
@ -53,7 +53,7 @@ Once a Visualization package is enabled, [HeliumBundleFactory](https://github.co
|
|||
Zeppelin shows additional button for loaded Visualizations.
|
||||
User can use just like any other built-in visualizations.
|
||||
|
||||
<img class="img-responsive" style="width:70%" src="../assets/themes/zeppelin/img/docs-img/writing_visualization_example.png" />
|
||||
<img class="img-responsive" style="width:70%" src="/assets/themes/zeppelin/img/docs-img/writing_visualization_example.png" />
|
||||
|
||||
|
||||
|
||||
|
|
@ -134,8 +134,10 @@ Place this file in your local registry directory (default `./helium`).
|
|||
|
||||
##### type
|
||||
|
||||
When you're creating a visualization, 'type' should be 'VISUALIZATION'.
|
||||
Check [application](./writingzeppelinapplication.html) type if you're interested in the other types of package.
|
||||
When you're creating a visualization, 'type' should be 'VISUALIZATION'. Check these types as well.
|
||||
|
||||
- [Helium Application](./writing_application.html)
|
||||
- [Helium Spell](./writing_spell.html)
|
||||
|
||||
##### name
|
||||
|
||||
|
|
@ -203,3 +205,8 @@ You can browse localhost:9000. Everytime refresh your browser, Zeppelin will reb
|
|||
|
||||
Once it's done, publish your visualization package using `npm publish`.
|
||||
That's it. With in an hour, your visualization will be available in Zeppelin's helium menu.
|
||||
|
||||
### See More
|
||||
|
||||
Check [Helium Visualization: Transformation](./writing_visualization_transformation.html) for more complex examples.
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Transformations for Zeppelin Visualization"
|
||||
title: "Transformations in Zeppelin Visualization"
|
||||
description: "Description for Transformations"
|
||||
group: development
|
||||
group: development/helium
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
285
docs/index.md
285
docs/index.md
|
|
@ -18,179 +18,140 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
-->
|
||||
{% include JB/setup %}
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-6" style="padding-right:0">
|
||||
<h1 style="color:#4c555a">Multi-purpose Notebook</h1>
|
||||
<p class="index-header">
|
||||
The Notebook is the place for all your needs
|
||||
<div class="row" style="margin-top: 0px;">
|
||||
<div class="col-sm-6 col-md-6" style="padding-right:0;">
|
||||
<h1 style="color:#4c555a; margin-top: 0px;">What is Apache Zeppelin?</h1>
|
||||
<p style="margin-bottom: 0px; margin-top: 20px; font-size: 18px; font-style="font-family: "Roboto", sans-serif;">
|
||||
Multi-purpose notebook which supports
|
||||
</p>
|
||||
<ul style="list-style-type: none;padding-left:10px;" >
|
||||
<li style="font-size:18px; margin: 5px;"><span class="glyphicon glyphicon-import" style="margin-right:10px"></span> Data Ingestion</li>
|
||||
<li style="font-size:18px; margin: 5px;"><span class="glyphicon glyphicon-eye-open" style="margin-right:10px"></span> Data Discovery</li>
|
||||
<li style="font-size:18px; margin: 5px;"><span class="glyphicon glyphicon-wrench" style="margin-right:10px"></span> Data Analytics</li>
|
||||
<li style="font-size:18px; margin: 5px;"><span class="glyphicon glyphicon-dashboard" style="margin-right:10px"></span> Data Visualization & Collaboration</li>
|
||||
<p style="font-size: 18px; font-style="font-family: "Roboto", sans-serif;">
|
||||
20+ language backends
|
||||
</p>
|
||||
<ul style="list-style-type: none; padding-left:10px; margin-top: 30px;" >
|
||||
<li style="font-weight: 300; font-size:18px; margin: 5px;"><span class="glyphicon glyphicon-import" style="margin-right:10px"></span> Data Ingestion</li>
|
||||
<li style="font-weight: 300; font-size:18px; margin: 5px;"><span class="glyphicon glyphicon-eye-open" style="margin-right:10px"></span> Data Discovery</li>
|
||||
<li style="font-weight: 300; font-size:18px; margin: 5px;"><span class="glyphicon glyphicon-wrench" style="margin-right:10px"></span> Data Analytics</li>
|
||||
<li style="font-weight: 300; font-size:18px; margin: 5px;"><span class="glyphicon glyphicon-dashboard" style="margin-right:10px"></span> Data Visualization & Collaboration</li>
|
||||
</ul>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="col-md-6" style="padding:0">
|
||||
<img class="img-responsive" style="border: 1px solid #ecf0f1;" src="./assets/themes/zeppelin/img/notebook.png" />
|
||||
<div class="col-sm-6 col-md-6" style="padding:0;">
|
||||
<div class="hidden-xs" style="margin-top: 60px;"></div>
|
||||
<img class="img-responsive" style="border: 1px solid #ecf0f1;" src="/assets/themes/zeppelin/img/notebook.png" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
## Multiple Language Backend
|
||||
[Apache Zeppelin interpreter](./manual/interpreters.html) concept allows any language/data-processing-backend to be plugged into Zeppelin.
|
||||
Currently Apache Zeppelin supports many interpreters such as Apache Spark, Python, JDBC, Markdown and Shell.
|
||||
## Documentation
|
||||
|
||||
<img class="img-responsive" width="500px" style="margin:0 auto; padding: 26px;" src="./assets/themes/zeppelin/img/available_interpreters.png" />
|
||||
#### Quick Start
|
||||
|
||||
Adding new language-backend is really simple. Learn [how to create your own interpreter](./development/writingzeppelininterpreter.html#make-your-own-interpreter).
|
||||
|
||||
#### Apache Spark integration
|
||||
Especially, Apache Zeppelin provides built-in [Apache Spark](http://spark.apache.org/) integration. You don't need to build a separate module, plugin or library for it.
|
||||
|
||||
<img class="img-responsive" src="./assets/themes/zeppelin/img/spark_logo.png" width="140px" />
|
||||
|
||||
Apache Zeppelin with Spark integration provides
|
||||
|
||||
- Automatic SparkContext and SQLContext injection
|
||||
- Runtime jar dependency loading from local filesystem or maven repository. Learn more about [dependency loader](./interpreter/spark.html#dependencyloading).
|
||||
- Canceling job and displaying its progress
|
||||
|
||||
For the further information about Apache Spark in Apache Zeppelin, please see [Spark interpreter for Apache Zeppelin](./interpreter/spark.html).
|
||||
|
||||
<br />
|
||||
## Data visualization
|
||||
|
||||
Some basic charts are already included in Apache Zeppelin. Visualizations are not limited to Spark SQL query, any output from any language backend can be recognized and visualized.
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<img class="img-responsive" src="./assets/themes/zeppelin/img/graph1.png" />
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<img class="img-responsive" src="./assets/themes/zeppelin/img/graph2.png" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
### Pivot chart
|
||||
|
||||
Apache Zeppelin aggregates values and displays them in pivot chart with simple drag and drop. You can easily create chart with multiple aggregated values including sum, count, average, min, max.
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<img class="img-responsive" style="margin: 16px auto;" src="./assets/themes/zeppelin/img/screenshots/pivot.png" width="480px" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Learn more about [display systems](#display-system) in Apache Zeppelin.
|
||||
|
||||
<br />
|
||||
## Dynamic forms
|
||||
|
||||
Apache Zeppelin can dynamically create some input forms in your notebook.
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<img class="img-responsive" style="margin: 16px auto;" src="./assets/themes/zeppelin/img/screenshots/dynamicform.png" />
|
||||
</div>
|
||||
</div>
|
||||
Learn more about [Dynamic Forms](./manual/dynamicform.html).
|
||||
|
||||
<br />
|
||||
## Collaborate by sharing your Notebook & Paragraph
|
||||
Your notebook URL can be shared among collaborators. Then Apache Zeppelin will broadcast any changes in realtime, just like the collaboration in Google docs.
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<img class="img-responsive" style="margin: 20px auto" src="./assets/themes/zeppelin/img/screenshots/publish.png" width="650px"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Apache Zeppelin provides an URL to display the result only, that page does not include any menus and buttons inside of notebooks.
|
||||
You can easily embed it as an iframe inside of your website in this way.
|
||||
If you want to learn more about this feature, please visit [this page](./manual/publish.html).
|
||||
|
||||
<br />
|
||||
## 100% Opensource
|
||||
|
||||
<img class="img-responsive" style="margin:0 auto; padding: 15px;" src="./assets/themes/zeppelin/img/asf_logo.png" width="250px"/>
|
||||
|
||||
Apache Zeppelin is Apache2 Licensed software. Please check out the [source repository](http://git.apache.org/zeppelin.git) and [how to contribute](https://zeppelin.apache.org/contribution/contributions.html).
|
||||
Apache Zeppelin has a very active development community.
|
||||
Join to our [Mailing list](https://zeppelin.apache.org/community.html) and report issues on [Jira Issue tracker](https://issues.apache.org/jira/browse/ZEPPELIN).
|
||||
|
||||
## What is the next ?
|
||||
|
||||
####Quick Start
|
||||
|
||||
* Getting Started
|
||||
* [Quick Start](./install/install.html) for basic instructions on installing Apache Zeppelin
|
||||
* [Configuration](./install/configuration.html) lists for Apache Zeppelin
|
||||
* [Explore Apache Zeppelin UI](./quickstart/explorezeppelinui.html): basic components of Apache Zeppelin home
|
||||
* [Tutorial](./quickstart/tutorial.html): a short walk-through tutorial that uses Apache Spark backend
|
||||
* Basic Feature Guide
|
||||
* [Dynamic Form](./manual/dynamicform.html): a step by step guide for creating dynamic forms
|
||||
* [Publish your Paragraph](./manual/publish.html) results into your external website
|
||||
* [Customize Zeppelin Homepage](./manual/notebookashomepage.html) with one of your notebooks
|
||||
* More
|
||||
* [Upgrade Apache Zeppelin Version](./install/upgrade.html): a manual procedure of upgrading Apache Zeppelin version
|
||||
* [Build](./install/build.html): Build from source
|
||||
|
||||
####Interpreter
|
||||
|
||||
* [Interpreters in Apache Zeppelin](./manual/interpreters.html): what is interpreter group? how can you set interpreters in Apache Zeppelin?
|
||||
* Usage
|
||||
* [Interpreter Installation](./manual/interpreterinstallation.html): Install not only community managed interpreters but also 3rd party interpreters
|
||||
* [Interpreter Dependency Management](./manual/dependencymanagement.html) when you include external libraries to interpreter
|
||||
* [Interpreter User Impersonation](./manual/userimpersonation.html) when you want to run interpreter as end user
|
||||
* [Interpreter Execution Hooks](./manual/interpreterexechooks.html) to specify additional code to be executed by an interpreter at pre and post-paragraph code execution
|
||||
* Available Interpreters: currently, about 20 interpreters are available in Apache Zeppelin.
|
||||
|
||||
####Display System
|
||||
|
||||
* Basic Display System: [Text](./displaysystem/basicdisplaysystem.html#text), [HTML](./displaysystem/basicdisplaysystem.html#html), [Table](./displaysystem/basicdisplaysystem.html#table) is available
|
||||
* Angular API: a description about avilable backend and frontend AngularJS API with examples
|
||||
* [Angular (backend API)](./displaysystem/back-end-angular.html)
|
||||
* [Angular (frontend API)](./displaysystem/front-end-angular.html)
|
||||
|
||||
#### More
|
||||
|
||||
* Notebook Storage: a guide about saving notebooks to external storage
|
||||
* [Git Storage](./storage/storage.html#notebook-storage-in-local-git-repository)
|
||||
* [S3 Storage](./storage/storage.html#notebook-storage-in-s3)
|
||||
* [Azure Storage](./storage/storage.html#notebook-storage-in-azure)
|
||||
* [ZeppelinHub Storage](./storage/storage.html#storage-in-zeppelinhub)
|
||||
* [Install](./quickstart/install.html) for basic instructions on installing Apache Zeppelin
|
||||
* [Explore UI](./quickstart/explore_ui.html): basic components of Apache Zeppelin home
|
||||
* [Tutorial](./quickstart/tutorial.html)
|
||||
* [Spark with Zeppelin](./quickstart/spark_with_zeppelin.html)
|
||||
* [SQL with Zeppelin](./quickstart/sql_with_zeppelin.html)
|
||||
* [Python with Zeppelin](./quickstart/python_with_zeppelin.html)
|
||||
|
||||
#### Usage
|
||||
* Dynamic Form
|
||||
* [What is Dynamic Form](./usage/dynamic_form/intro.html): a step by step guide for creating dynamic forms
|
||||
* Display System
|
||||
* [Text Display (`%text`)](./usage/display_system/basic.html#text)
|
||||
* [HTML Display (`%html`)](./usage/display_system/basic.html#html)
|
||||
* [Table Display (`%table`)](./usage/display_system/basic.html#table)
|
||||
* [Angular Display using Backend API (`%angular`)](./usage/display_system/angular_backend.html)
|
||||
* [Angular Display using Frontend API (`%angular`)](./usage/display_system/angular_frontend.html)
|
||||
* Interpreter
|
||||
* [Overview](./usage/interpreter/overview.html): what is interpreter group? how can you set interpreters in Apache Zeppelin?
|
||||
* [User Impersonation](./usage/interpreter/user_impersonation.html) when you want to run interpreter as end user
|
||||
* [Interpreter Binding Mode](./usage/interpreter/interpreter_binding_mode.html) when you want to manage separate interpreter contexts
|
||||
* [Dependency Management](./usage/interpreter/dependency_management.html) when you include external libraries to interpreter
|
||||
* [Installing Interpreters](./usage/interpreter/installation.html): Install not only community managed interpreters but also 3rd party interpreters
|
||||
* [Execution Hooks](./usage/interpreter/execution_hooks.html) to specify additional code to be executed by an interpreter at pre and post-paragraph code execution
|
||||
* Other Features:
|
||||
* [Publishing Paragraphs](./usage/other_features/publishing_paragraphs.html) results into your external website
|
||||
* [Personalized Mode](./usage/other_features/personalized_mode.html)
|
||||
* [Customizing Zeppelin Homepage](./usage/other_features/customizing_homepage.html) with one of your notebooks
|
||||
* REST API: available REST API list in Apache Zeppelin
|
||||
* [Zeppelin server API](./rest-api/rest-zeppelin-server.html)
|
||||
* [Interpreter API](./rest-api/rest-interpreter.html)
|
||||
* [Notebook API](./rest-api/rest-notebook.html)
|
||||
* [Notebook Repository API](./rest-api/rest-notebookRepo.html)
|
||||
* [Configuration API](./rest-api/rest-configuration.html)
|
||||
* [Credential API](./rest-api/rest-credential.html)
|
||||
* [Helium API](./rest-api/rest-helium.html)
|
||||
* [Interpreter API](./usage/rest_api/interpreter.html)
|
||||
* [Zeppelin Server API](./usage/rest_api/zeppelin_server.html)
|
||||
* [Notebook API](./usage/rest_api/notebook.html)
|
||||
* [Notebook Repository API](./usage/rest_api/notebook_repository.html)
|
||||
* [Configuration API](./usage/rest_api/configuration.html)
|
||||
* [Credential API](./usage/rest_api/credential.html)
|
||||
* [Helium API](./usage/rest_api/helium.html)
|
||||
|
||||
#### Setup
|
||||
* Basics
|
||||
* [How to Build Zeppelin](./setup/basics/how_to_build.html)
|
||||
* [Multi-user Support](./setup/basics/multi_user_support.html)
|
||||
* Deployment
|
||||
* [Spark Cluster Mode: Standalone](./setup/deployment/spark_cluster_mode.html#spark-standalone-mode)
|
||||
* [Spark Cluster Mode: YARN](./setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode)
|
||||
* [Spark Cluster Mode: Mesos](./setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode)
|
||||
* [Zeppelin with Flink and Spark Cluster](./setup/deployment/flink_and_spark_cluster.html)
|
||||
* [Zeppelin on CDH](./setup/deployment/cdh.html)
|
||||
* [Zeppelin on VM: Vagrant](./setup/deployment/virtual_machine.html)
|
||||
* Security: available security support in Apache Zeppelin
|
||||
* [Authentication for NGINX](./security/authentication.html)
|
||||
* [Shiro Authentication](./security/shiroauthentication.html)
|
||||
* [Notebook Authorization](./security/notebook_authorization.html)
|
||||
* [Data Source Authorization](./security/datasource_authorization.html)
|
||||
* [Helium Authorization](./security/helium_authorization.html)
|
||||
* Helium Framework (Experimental)
|
||||
* [Writing Zeppelin Application](./development/writingzeppelinapplication.html)
|
||||
* [Writing Zeppelin Spell](./development/writingzeppelinspell.html)
|
||||
* [Writing Zeppelin Visualization: Basic](./development/writingzeppelinvisualization.html)
|
||||
* [Writing Zeppelin Visualization: Transformation](./development/writingzeppelinvisualization_transformation.html)
|
||||
* Advanced
|
||||
* [Apache Zeppelin on Vagrant VM](./install/virtual_machine.html)
|
||||
* [Zeppelin on Spark Cluster Mode (Standalone via Docker)](./install/spark_cluster_mode.html#spark-standalone-mode)
|
||||
* [Zeppelin on Spark Cluster Mode (YARN via Docker)](./install/spark_cluster_mode.html#spark-on-yarn-mode)
|
||||
* [Zeppelin on Spark Cluster Mode (Mesos via Docker)](./install/spark_cluster_mode.html#spark-on-mesos-mode)
|
||||
* [Zeppelin on CDH (via Docker)](./install/cdh.html)
|
||||
* Contribute
|
||||
* [Writing Zeppelin Interpreter](./development/writingzeppelininterpreter.html)
|
||||
* [How to contribute (code)](./development/howtocontribute.html)
|
||||
* [How to contribute (documentation website)](./development/howtocontributewebsite.html)
|
||||
* [HTTP Basic Auth using NGINX](./setup/security/authentication_nginx.html)
|
||||
* [Shiro Authentication](./setup/security/shiro_authentication.html)
|
||||
* [Notebook Authorization](./setup/security/notebook_authorization.html)
|
||||
* [Data Source Authorization](./setup/security/datasource_authorization.html)
|
||||
* Notebook Storage: a guide about saving notebooks to external storage
|
||||
* [Git Storage](./setup/storage/storage.html#notebook-storage-in-local-git-repository)
|
||||
* [S3 Storage](./setup/storage/storage.html#notebook-storage-in-s3)
|
||||
* [Azure Storage](./setup/storage/storage.html#notebook-storage-in-azure)
|
||||
* [ZeppelinHub Storage](./setup/storage/storage.html#notebook-storage-in-zeppelinhub)
|
||||
* [MongoDB Storage](./setup/storage/storage.html#notebook-storage-in-mongodb)
|
||||
* Operation
|
||||
* [Configuration](./setup/operation/configuration.html): lists for Apache Zeppelin
|
||||
* [Proxy Setting](./setup/operation/proxy_setting.html)
|
||||
* [Upgrading](./setup/operation/upgrading.html): a manual procedure of upgrading Apache Zeppelin version
|
||||
* [Trouble Shooting](./setup/operation/trouble_shooting.html)
|
||||
|
||||
#### Developer Guide
|
||||
* Extending Zeppelin
|
||||
* [Writing Zeppelin Interpreter](./development/writing_zeppelin_interpreter.html)
|
||||
* [Helium: Overview](./development/helium/overview.html)
|
||||
* [Helium: Writing Application](./development/helium/writing_application.html)
|
||||
* [Helium: Writing Spell](./development/helium/writing_spell.html)
|
||||
* [Helium: Writing Visualization: Basic](./development/helium/writing_visualization_basic.html)
|
||||
* [Helium: Writing Visualization: Transformation](./development/helium/writing_visualization_transformation.html)
|
||||
* Contributing to Zeppelin
|
||||
* [How to Build Zeppelin](./setup/basics/how_to_build.html)
|
||||
* [Useful Developer Tools](./development/contribution/useful_developer_tools.html)
|
||||
* [How to Contribute (code)](./development/contribution/how_to_contribute_code.html)
|
||||
* [How to Contribute (website)](./development/contribution/how_to_contribute_website.html)
|
||||
|
||||
#### External Resources
|
||||
* [Mailing List](https://zeppelin.apache.org/community.html)
|
||||
* [Apache Zeppelin Wiki](https://cwiki.apache.org/confluence/display/ZEPPELIN/Zeppelin+Home)
|
||||
* [StackOverflow tag `apache-zeppelin`](http://stackoverflow.com/questions/tagged/apache-zeppelin)
|
||||
* [Stackoverflow Questions about Zeppelin (tag: `apache-zeppelin`)](http://stackoverflow.com/questions/tagged/apache-zeppelin)
|
||||
|
||||
#### Available Interpreters
|
||||
* [Alluxio](./interpreter/alluxio.html)
|
||||
* [Beam](./interpreter/beam.html)
|
||||
* [BigQuery](./interpreter/bigquery.html)
|
||||
* [Cassandra](./interpreter/cassandra.html)
|
||||
* [Elasticsearch](./interpreter/elasticsearch.html)
|
||||
* [flink](./interpreter/flink.html)
|
||||
* [Geode](./interpreter/geode.html)
|
||||
* [Groovy](./interpreter/groovy.html)
|
||||
* [HBase](./interpreter/hbase.html)
|
||||
* [HDFS](./interpreter/hdfs.html)
|
||||
* [Hive](./interpreter/hive.html)
|
||||
* [Ignite](./interpreter/ignite.html)
|
||||
* [JDBC](./interpreter/jdbc.html)
|
||||
* [Kylin](./interpreter/kylin.html)
|
||||
* [Lens](./interpreter/lens.html)
|
||||
* [Livy](./interpreter/livy.html)
|
||||
* [markdown](./interpreter/markdown.html)
|
||||
* [Pig](./interpreter/pig.html)
|
||||
* [Postgresql, HAWQ](./interpreter/postgresql.html)
|
||||
* [Python](./interpreter/python.html)
|
||||
* [R](./interpreter/r.html)
|
||||
* [Scalding](./interpreter/scalding.html)
|
||||
* [Scio](./interpreter/scio.html)
|
||||
* [Shell](./interpreter/Shell.html)
|
||||
* [Spark](./interpreter/spark.html)
|
||||
|
||||
|
|
|
|||
|
|
@ -246,5 +246,5 @@ Following steps are performed:
|
|||
* using sh interpreter it's checked the existence of the new file copied from Alluxio and its content is showed
|
||||
|
||||
<center>
|
||||

|
||||

|
||||
</center>
|
||||
|
|
|
|||
|
|
@ -41,9 +41,9 @@ limitations under the License.
|
|||
In a notebook, to enable the **Cassandra** interpreter, click on the **Gear** icon and select **Cassandra**
|
||||
|
||||
<center>
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
</center>
|
||||
|
||||
## Using the Cassandra Interpreter
|
||||
|
|
@ -53,7 +53,7 @@ In a paragraph, use **_%cassandra_** to select the **Cassandra** interpreter and
|
|||
To access the interactive help, type **HELP;**
|
||||
|
||||
<center>
|
||||

|
||||

|
||||
</center>
|
||||
|
||||
## Interpreter Commands
|
||||
|
|
@ -312,7 +312,7 @@ The schema objects (cluster, keyspace, table, type, function and aggregate) are
|
|||
There is a drop-down menu on the top left corner to expand objects details. On the top right menu is shown the Icon legend.
|
||||
|
||||
<center>
|
||||

|
||||

|
||||
</center>
|
||||
|
||||
## Runtime Parameters
|
||||
|
|
@ -821,12 +821,11 @@ Below are the configuration parameters and their default value.
|
|||
If you encounter a bug for this interpreter, please create a **[JIRA]** ticket and ping me on Twitter
|
||||
at **[@doanduyhai]**
|
||||
|
||||
|
||||
[Cassandra Java Driver]: https://github.com/datastax/java-driver
|
||||
[standard CQL syntax]: http://docs.datastax.com/en/cql/3.1/cql/cql_using/use_collections_c.html
|
||||
[Tuple CQL syntax]: http://docs.datastax.com/en/cql/3.1/cql/cql_reference/tupleType.html
|
||||
[UDT CQL syntax]: http://docs.datastax.com/en/cql/3.1/cql/cql_using/cqlUseUDT.html
|
||||
[Zeppelin dynamic form]: http://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/manual/dynamicform.html
|
||||
[Interpreter Binding Mode]: http://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/manual/interpreters.html
|
||||
[Zeppelin Dynamic Form](../usage/dynamic_form/intro.html)
|
||||
[Interpreter Binding Mode](../usage/interpreter/interpreter_binding_mode.html)
|
||||
[JIRA]: https://issues.apache.org/jira/browse/ZEPPELIN-382?jql=project%20%3D%20ZEPPELIN
|
||||
[@doanduyhai]: https://twitter.com/doanduyhai
|
||||
|
|
|
|||
|
|
@ -24,7 +24,9 @@ limitations under the License.
|
|||
<div id="toc"></div>
|
||||
|
||||
## Overview
|
||||
[Elasticsearch](https://www.elastic.co/products/elasticsearch) is a highly scalable open-source full-text search and analytics engine. It allows you to store, search, and analyze big volumes of data quickly and in near real time. It is generally used as the underlying engine/technology that powers applications that have complex search features and requirements.
|
||||
[Elasticsearch](https://www.elastic.co/products/elasticsearch) is a highly scalable open-source full-text search and analytics engine.
|
||||
It allows you to store, search, and analyze big volumes of data quickly and in near real time.
|
||||
It is generally used as the underlying engine/technology that powers applications that have complex search features and requirements.
|
||||
|
||||
## Configuration
|
||||
<table class="table-configuration">
|
||||
|
|
@ -71,7 +73,7 @@ limitations under the License.
|
|||
</table>
|
||||
|
||||
<center>
|
||||

|
||||

|
||||
</center>
|
||||
|
||||
> **Note #1 :** You can add more properties to configure the Elasticsearch client.
|
||||
|
|
@ -82,7 +84,8 @@ limitations under the License.
|
|||
In a notebook, to enable the **Elasticsearch** interpreter, click the **Gear** icon and select **Elasticsearch**.
|
||||
|
||||
## Using the Elasticsearch Interpreter
|
||||
In a paragraph, use `%elasticsearch` to select the Elasticsearch interpreter and then input all commands. To get the list of available commands, use `help`.
|
||||
In a paragraph, use `%elasticsearch` to select the Elasticsearch interpreter and then input all commands.
|
||||
To get the list of available commands, use `help`.
|
||||
|
||||
```bash
|
||||
%elasticsearch
|
||||
|
|
@ -118,7 +121,7 @@ get /index/type/id
|
|||
```
|
||||
|
||||
Example:
|
||||

|
||||

|
||||
|
||||
### Search
|
||||
With the `search` command, you can send a search query to Elasticsearch. There are two formats of query:
|
||||
|
|
@ -142,7 +145,8 @@ size 50
|
|||
search /index1,index2,.../type1,type2,... <JSON document containing the query or query_string elements>
|
||||
```
|
||||
|
||||
> A search query can also contain [aggregations](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html). If there is at least one aggregation, the result of the first aggregation is shown, otherwise, you get the search hits.
|
||||
> A search query can also contain [aggregations](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html).
|
||||
If there is at least one aggregation, the result of the first aggregation is shown, otherwise, you get the search hits.
|
||||
|
||||
Examples:
|
||||
|
||||
|
|
@ -202,25 +206,25 @@ content_length | date | request.headers[0] | request.headers[1] | request.method
|
|||
Examples:
|
||||
|
||||
* With a table containing the results:
|
||||

|
||||

|
||||
|
||||
* You can also use a predefined diagram:
|
||||

|
||||

|
||||
|
||||
* With a JSON query:
|
||||

|
||||

|
||||
|
||||
* With a JSON query containing a `fields` parameter (for filtering the fields in the response): in this case, all the fields values in the response are arrays, so, after flattening the result, the format of all the field names is `field_name[x]`
|
||||

|
||||

|
||||
|
||||
* With a query string:
|
||||

|
||||

|
||||
|
||||
* With a query containing a multi-value metric aggregation:
|
||||

|
||||

|
||||
|
||||
* With a query containing a multi-bucket aggregation:
|
||||

|
||||

|
||||
|
||||
### Count
|
||||
With the `count` command, you can count documents available in some indices and types. You can also provide a query.
|
||||
|
|
@ -233,10 +237,10 @@ count /index1,index2,.../type1,type2,... <JSON document containing the query OR
|
|||
Examples:
|
||||
|
||||
* Without query:
|
||||

|
||||

|
||||
|
||||
* With a query:
|
||||

|
||||

|
||||
|
||||
### Index
|
||||
With the `index` command, you can insert/update a document in Elasticsearch.
|
||||
|
|
@ -258,7 +262,7 @@ delete /index/type/id
|
|||
```
|
||||
|
||||
### Apply Zeppelin Dynamic Forms
|
||||
You can leverage [Zeppelin Dynamic Form](../manual/dynamicform.html) inside your queries. You can use both the `text input` and `select form` parameterization features.
|
||||
You can leverage [Zeppelin Dynamic Form](../usage/dynamic_form/intro.html) inside your queries. You can use both the `text input` and `select form` parameterization features.
|
||||
|
||||
```bash
|
||||
%elasticsearch
|
||||
|
|
|
|||
|
|
@ -37,7 +37,8 @@ limitations under the License.
|
|||
</tr>
|
||||
</table>
|
||||
|
||||
This interpreter supports the [Geode](http://geode.incubator.apache.org/) [Object Query Language (OQL)](http://geode-docs.cfapps.io/docs/developing/querying_basics/oql_compared_to_sql.html). With the OQL-based querying language:
|
||||
This interpreter supports the [Geode](http://geode.incubator.apache.org/) [Object Query Language (OQL)](http://geode-docs.cfapps.io/docs/developing/querying_basics/oql_compared_to_sql.html).
|
||||
With the OQL-based querying language:
|
||||
|
||||
[<img align="right" src="http://img.youtube.com/vi/zvzzA9GXu3Q/3.jpg" alt="zeppelin-view" hspace="10" width="200"></img>](https://www.youtube.com/watch?v=zvzzA9GXu3Q)
|
||||
|
||||
|
|
@ -53,17 +54,24 @@ This [Video Tutorial](https://www.youtube.com/watch?v=zvzzA9GXu3Q) illustrates s
|
|||
## Create Interpreter
|
||||
By default Zeppelin creates one `Geode/OQL` instance. You can remove it or create more instances.
|
||||
|
||||
Multiple Geode instances can be created, each configured to the same or different backend Geode cluster. But over time a `Notebook` can have only one Geode interpreter instance `bound`. That means you _cannot_ connect to different Geode clusters in the same `Notebook`. This is a known Zeppelin limitation.
|
||||
Multiple Geode instances can be created, each configured to the same or different backend Geode cluster.
|
||||
But over time a `Notebook` can have only one Geode interpreter instance `bound`.
|
||||
That means you _cannot_ connect to different Geode clusters in the same `Notebook`.
|
||||
This is a known Zeppelin limitation.
|
||||
|
||||
To create new Geode instance open the `Interpreter` section and click the `+Create` button. Pick a `Name` of your choice and from the `Interpreter` drop-down select `geode`. Then follow the configuration instructions and `Save` the new instance.
|
||||
To create new Geode instance open the `Interpreter` section and click the `+Create` button.
|
||||
Pick a `Name` of your choice and from the `Interpreter` drop-down select `geode`.
|
||||
Then follow the configuration instructions and `Save` the new instance.
|
||||
|
||||
> Note: The `Name` of the instance is used only to distinguish the instances while binding them to the `Notebook`. The `Name` is irrelevant inside the `Notebook`. In the `Notebook` you must use `%geode.oql` tag.
|
||||
|
||||
## Bind to Notebook
|
||||
In the `Notebook` click on the `settings` icon in the top right corner. The select/deselect the interpreters to be bound with the `Notebook`.
|
||||
In the `Notebook` click on the `settings` icon in the top right corner.
|
||||
The select/deselect the interpreters to be bound with the `Notebook`.
|
||||
|
||||
## Configuration
|
||||
You can modify the configuration of the Geode from the `Interpreter` section. The Geode interpreter expresses the following properties:
|
||||
You can modify the configuration of the Geode from the `Interpreter` section.
|
||||
The Geode interpreter expresses the following properties:
|
||||
|
||||
<table class="table-configuration">
|
||||
<tr>
|
||||
|
|
@ -94,7 +102,10 @@ You can modify the configuration of the Geode from the `Interpreter` section. T
|
|||
> *Tip 2: Always start the paragraphs with the full `%geode.oql` prefix tag! The short notation: `%geode` would still be able run the OQL queries but the syntax highlighting and the auto-completions will be disabled.*
|
||||
|
||||
### Create / Destroy Regions
|
||||
The OQL specification does not support [Geode Regions](https://cwiki.apache.org/confluence/display/GEODE/Index#Index-MainConceptsandComponents) mutation operations. To `create`/`destroy` regions one should use the [GFSH](http://geode-docs.cfapps.io/docs/tools_modules/gfsh/chapter_overview.html) shell tool instead. In the following it is assumed that the GFSH is colocated with Zeppelin server.
|
||||
|
||||
The OQL specification does not support [Geode Regions](https://cwiki.apache.org/confluence/display/GEODE/Index#Index-MainConceptsandComponents) mutation operations.
|
||||
To `create`/`destroy` regions one should use the [GFSH](http://geode-docs.cfapps.io/docs/tools_modules/gfsh/chapter_overview.html) shell tool instead.
|
||||
In the following it is assumed that the GFSH is colocated with Zeppelin server.
|
||||
|
||||
```bash
|
||||
%sh
|
||||
|
|
@ -112,7 +123,10 @@ gfsh << EOF
|
|||
EOF
|
||||
```
|
||||
|
||||
Above snippet re-creates two regions: `regionEmployee` and `regionCompany`. Note that you have to explicitly specify the locator host and port. The values should match those you have used in the Geode Interpreter configuration. Comprehensive list of [GFSH Commands by Functional Area](http://geode-docs.cfapps.io/docs/tools_modules/gfsh/gfsh_quick_reference.html).
|
||||
Above snippet re-creates two regions: `regionEmployee` and `regionCompany`.
|
||||
Note that you have to explicitly specify the locator host and port.
|
||||
The values should match those you have used in the Geode Interpreter configuration.
|
||||
Comprehensive list of [GFSH Commands by Functional Area](http://geode-docs.cfapps.io/docs/tools_modules/gfsh/gfsh_quick_reference.html).
|
||||
|
||||
### Basic OQL
|
||||
```sql
|
||||
|
|
@ -163,7 +177,7 @@ gfsh -e "connect" -e "list members"
|
|||
```
|
||||
|
||||
### Apply Zeppelin Dynamic Forms
|
||||
You can leverage [Zeppelin Dynamic Form](../manual/dynamicform.html) inside your OQL queries. You can use both the `text input` and `select form` parameterization features
|
||||
You can leverage [Zeppelin Dynamic Form](../usage/dynamic_form/intro.html) inside your OQL queries. You can use both the `text input` and `select form` parameterization features
|
||||
|
||||
```sql
|
||||
%geode.oql
|
||||
|
|
|
|||
|
|
@ -24,7 +24,10 @@ limitations under the License.
|
|||
<div id="toc"></div>
|
||||
|
||||
## Important Notice
|
||||
Hive Interpreter will be deprecated and merged into JDBC Interpreter. You can use Hive Interpreter by using JDBC Interpreter with same functionality. See the example below of settings and dependencies.
|
||||
|
||||
Hive Interpreter will be deprecated and merged into JDBC Interpreter.
|
||||
You can use Hive Interpreter by using JDBC Interpreter with same functionality.
|
||||
See the example below of settings and dependencies.
|
||||
|
||||
### Properties
|
||||
<table class="table-configuration">
|
||||
|
|
@ -130,7 +133,11 @@ This interpreter provides multiple configuration with `${prefix}`. User can set
|
|||
|
||||
## Overview
|
||||
|
||||
The [Apache Hive](https://hive.apache.org/) ™ 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.
|
||||
The [Apache Hive](https://hive.apache.org/) ™ 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.
|
||||
|
||||
## How to use
|
||||
Basically, you can use
|
||||
|
|
@ -151,7 +158,8 @@ select * from my_table;
|
|||
You can also run multiple queries up to 10 by default. Changing these settings is not implemented yet.
|
||||
|
||||
### Apply Zeppelin Dynamic Forms
|
||||
You can leverage [Zeppelin Dynamic Form](../manual/dynamicform.html) inside your queries. You can use both the `text input` and `select form` parameterization features.
|
||||
You can leverage [Zeppelin Dynamic Form](../usage/dynamic_form/intro.html) inside your queries.
|
||||
You can use both the `text input` and `select form` parameterization features.
|
||||
|
||||
```sql
|
||||
%hive
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ limitations under the License.
|
|||
## Overview
|
||||
[Apache Ignite](https://ignite.apache.org/) In-Memory Data Fabric is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash technologies.
|
||||
|
||||

|
||||

|
||||
|
||||
You can use Zeppelin to retrieve distributed data from cache using Ignite SQL interpreter. Moreover, Ignite interpreter allows you to execute any Scala code in cases when SQL doesn't fit to your requirements. For example, you can populate data into your caches or execute distributed computations.
|
||||
|
||||
|
|
@ -82,14 +82,14 @@ At the "Interpreters" menu, you may edit Ignite interpreter or create new one. Z
|
|||
</tr>
|
||||
</table>
|
||||
|
||||

|
||||

|
||||
|
||||
## How to use
|
||||
After configuring Ignite interpreter, create your own notebook. Then you can bind interpreters like below image.
|
||||
|
||||

|
||||

|
||||
|
||||
For more interpreter binding information see [here](../manual/interpreters.html#what-is-interpreter-setting).
|
||||
For more interpreter binding information see [here](../usage/interpreter/overview.html#what-is-interpreter-setting).
|
||||
|
||||
### Ignite SQL interpreter
|
||||
In order to execute SQL query, use ` %ignite.ignitesql ` prefix. <br>
|
||||
|
|
@ -101,7 +101,7 @@ For example, you can select top 10 words in the words cache using the following
|
|||
select _val, count(_val) as cnt from String group by _val order by cnt desc limit 10
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
As long as your Ignite version and Zeppelin Ignite version is same, you can also use scala code. Please check the Zeppelin Ignite version before you download your own Ignite.
|
||||
|
||||
|
|
@ -123,6 +123,6 @@ val res = cache.query(qry).getAll()
|
|||
collectionAsScalaIterable(res).foreach(println _)
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
Apache Ignite also provides a guide docs for Zeppelin ["Ignite with Apache Zeppelin"](https://apacheignite.readme.io/docs/data-analysis-with-apache-zeppelin)
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ By now, it has been tested with:
|
|||
|
||||
<div class="row" style="margin: 30px auto;">
|
||||
<div class="col-md-6">
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/tested_databases.png" width="300px"/>
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/tested_databases.png" width="300px"/>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<li style="padding-bottom: 5px; list-style: circle">
|
||||
|
|
@ -76,12 +76,13 @@ If you are using other databases not in the above list, please feel free to shar
|
|||
|
||||
First, click `+ Create` button at the top-right corner in the interpreter setting page.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/click_create_button.png" width="600px"/>
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/click_create_button.png" width="600px"/>
|
||||
|
||||
Fill `Interpreter name` field with whatever you want to use as the alias(e.g. mysql, mysql2, hive, redshift, and etc..). Please note that this alias will be used as `%interpreter_name` to call the interpreter in the paragraph.
|
||||
Fill `Interpreter name` field with whatever you want to use as the alias(e.g. mysql, mysql2, hive, redshift, and etc..).
|
||||
Please note that this alias will be used as `%interpreter_name` to call the interpreter in the paragraph.
|
||||
Then select `jdbc` as an `Interpreter group`.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/select_name_and_group.png" width="200px"/>
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/select_name_and_group.png" width="200px"/>
|
||||
|
||||
The default driver of JDBC interpreter is set as `PostgreSQL`. It means Zeppelin includes `PostgreSQL` driver jar in itself.
|
||||
So you don't need to add any dependencies(e.g. the artifact name or path for `PostgreSQL` driver jar) for `PostgreSQL` connection.
|
||||
|
|
@ -121,7 +122,7 @@ The JDBC interpreter properties are defined by default like below.
|
|||
<tr>
|
||||
<td>default.precode</td>
|
||||
<td></td>
|
||||
<td>Some SQL which executes every time after initialization of the interpreter (see [Binding mode](../manual/interpreters.md#interpreter-binding-mode))</td>
|
||||
<td>Some SQL which executes every time after initialization of the interpreter (see <a href="../usage/interpreter/overview.html#interpreter-binding-mode">Binding mode</a>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>default.completer.schemaFilters</td>
|
||||
|
|
@ -141,17 +142,17 @@ The JDBC interpreter properties are defined by default like below.
|
|||
</table>
|
||||
|
||||
If you want to connect other databases such as `Mysql`, `Redshift` and `Hive`, you need to edit the property values.
|
||||
You can also use [Credential](../security/datasource_authorization.html) for JDBC authentication.
|
||||
You can also use [Credential](../setup/security/datasource_authorization.html) for JDBC authentication.
|
||||
If `default.user` and `default.password` properties are deleted(using X button) for database connection in the interpreter setting page,
|
||||
the JDBC interpreter will get the account information from [Credential](../security/datasource_authorization.html).
|
||||
the JDBC interpreter will get the account information from [Credential](../setup/security/datasource_authorization.html).
|
||||
|
||||
The below example is for `Mysql` connection.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/edit_properties.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/edit_properties.png" width="600px" />
|
||||
|
||||
The last step is **Dependency Setting**. Since Zeppelin only includes `PostgreSQL` driver jar by default, you need to add each driver's maven coordinates or JDBC driver's jar file path for the other databases.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/edit_dependencies.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/edit_dependencies.png" width="600px" />
|
||||
|
||||
That's it. You can find more JDBC connection setting examples([Mysql](#mysql), [MariaDB](#mariadb), [Redshift](#redshift), [Apache Hive](#apache-hive), [Apache Phoenix](#apache-phoenix), and [Apache Tajo](#apache-tajo)) in [this section](#examples).
|
||||
|
||||
|
|
@ -210,13 +211,13 @@ For example, if a connection needs a schema parameter, it would have to add the
|
|||
## Binding JDBC interpter to notebook
|
||||
To bind the interpreters created in the interpreter setting page, click the gear icon at the top-right corner.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/click_interpreter_binding_button.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/click_interpreter_binding_button.png" width="600px" />
|
||||
|
||||
Select(blue) or deselect(white) the interpreter buttons depending on your use cases.
|
||||
If you need to use more than one interpreter in the notebook, activate several buttons.
|
||||
Don't forget to click `Save` button, or you will face `Interpreter *** is not found` error.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/jdbc_interpreter_binding.png" width="550px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/jdbc_interpreter_binding.png" width="550px" />
|
||||
|
||||
## How to use
|
||||
### Run the paragraph with JDBC interpreter
|
||||
|
|
@ -229,11 +230,11 @@ show databases
|
|||
If the paragraph is `FINISHED` without any errors, a new paragraph will be automatically added after the previous one with `%jdbc_interpreter_name`.
|
||||
So you don't need to type this prefix in every paragraphs' header.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/run_paragraph_with_jdbc.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/run_paragraph_with_jdbc.png" width="600px" />
|
||||
|
||||
### Apply Zeppelin Dynamic Forms
|
||||
|
||||
You can leverage [Zeppelin Dynamic Form](../manual/dynamicform.html) inside your queries. You can use both the `text input` and `select form` parametrization features.
|
||||
You can leverage [Zeppelin Dynamic Form](../usage/dynamic_form/intro.html) inside your queries. You can use both the `text input` and `select form` parametrization features.
|
||||
|
||||
```sql
|
||||
%jdbc_interpreter_name
|
||||
|
|
@ -316,7 +317,7 @@ Here are some examples you can refer to. Including the below connectors, you can
|
|||
|
||||
### Postgres
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/postgres_setting.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/postgres_setting.png" width="600px" />
|
||||
|
||||
##### Properties
|
||||
<table class="table-configuration">
|
||||
|
|
@ -360,7 +361,7 @@ Here are some examples you can refer to. Including the below connectors, you can
|
|||
|
||||
### Mysql
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/mysql_setting.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/mysql_setting.png" width="600px" />
|
||||
|
||||
##### Properties
|
||||
<table class="table-configuration">
|
||||
|
|
@ -404,7 +405,7 @@ Here are some examples you can refer to. Including the below connectors, you can
|
|||
|
||||
### MariaDB
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/mariadb_setting.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/mariadb_setting.png" width="600px" />
|
||||
|
||||
##### Properties
|
||||
<table class="table-configuration">
|
||||
|
|
@ -448,7 +449,7 @@ Here are some examples you can refer to. Including the below connectors, you can
|
|||
|
||||
### Redshift
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/redshift_setting.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/redshift_setting.png" width="600px" />
|
||||
|
||||
##### Properties
|
||||
<table class="table-configuration">
|
||||
|
|
@ -492,7 +493,7 @@ Here are some examples you can refer to. Including the below connectors, you can
|
|||
|
||||
### Apache Hive
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/hive_setting.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/hive_setting.png" width="600px" />
|
||||
|
||||
##### Properties
|
||||
<table class="table-configuration">
|
||||
|
|
@ -544,13 +545,16 @@ Here are some examples you can refer to. Including the below connectors, you can
|
|||
[Maven Repository : org.apache.hive:hive-jdbc](https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc)
|
||||
|
||||
##### Impersonation
|
||||
When Zeppelin server is running with authentication enabled, then the interpreter can utilize Hive's user proxy feature i.e. send extra parameter for creating and running a session ("hive.server2.proxy.user=": "${loggedInUser}"). This is particularly useful when multiple users are sharing a notebook.
|
||||
When Zeppelin server is running with authentication enabled, then the interpreter can utilize Hive's user proxy feature
|
||||
i.e. send extra parameter for creating and running a session ("hive.server2.proxy.user=": "${loggedInUser}").
|
||||
This is particularly useful when multiple users are sharing a notebook.
|
||||
|
||||
To enable this set following:
|
||||
|
||||
- `zeppelin.jdbc.auth.type` as `SIMPLE` or `KERBEROS` (if required) in the interpreter setting.
|
||||
- `${prefix}.proxy.user.property` as `hive.server2.proxy.user`
|
||||
|
||||
|
||||
See [User Impersonation in interpreter](../usage/interpreter/user_impersonation.html) for more information.
|
||||
|
||||
##### Sample configuration
|
||||
<table class="table-configuration">
|
||||
|
|
@ -592,7 +596,7 @@ Use the appropriate `default.driver`, `default.url`, and the dependency artifact
|
|||
|
||||
#### Thick client connection
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/phoenix_thick_setting.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/phoenix_thick_setting.png" width="600px" />
|
||||
|
||||
##### Properties
|
||||
<table class="table-configuration">
|
||||
|
|
@ -634,7 +638,7 @@ Use the appropriate `default.driver`, `default.url`, and the dependency artifact
|
|||
|
||||
#### Thin client connection
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/phoenix_thin_setting.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/phoenix_thin_setting.png" width="600px" />
|
||||
|
||||
##### Properties
|
||||
<table class="table-configuration">
|
||||
|
|
@ -686,7 +690,7 @@ Before Adding one of the below dependencies, check the Phoenix version first.
|
|||
|
||||
### Apache Tajo
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/tajo_setting.png" width="600px" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/tajo_setting.png" width="600px" />
|
||||
|
||||
##### Properties
|
||||
<table class="table-configuration">
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ limitations under the License.
|
|||
## Overview
|
||||
[Apache Lens](https://lens.apache.org/) 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.
|
||||
|
||||

|
||||

|
||||
|
||||
## Installing and Running Lens
|
||||
In order to use Lens interpreters, you may install Apache Lens in some simple steps:
|
||||
|
|
@ -90,14 +90,14 @@ At the "Interpreters" menu, you can edit Lens interpreter or create new one. Zep
|
|||
</tr>
|
||||
</table>
|
||||
|
||||

|
||||

|
||||
|
||||
### Interpreter Binding for Zeppelin Notebook
|
||||
After configuring Lens interpreter, create your own notebook, then you can bind interpreters like below image.
|
||||
|
||||

|
||||

|
||||
|
||||
For more interpreter binding information see [here](http://zeppelin.apache.org/docs/manual/interpreters.html).
|
||||
For more interpreter binding information see [here](../usage/interpreter/overview.html#interpreter-binding-mode).
|
||||
|
||||
### How to use
|
||||
You can analyze your data by using [OLAP Cube](http://lens.apache.org/user/olap-cube.html) [QL](http://lens.apache.org/user/cli.html) which is a high level SQL like language to query and describe data sets organized in data cubes.
|
||||
|
|
@ -174,11 +174,11 @@ fact add partitions --fact_name sales_raw_fact --storage_name local --path your/
|
|||
query execute cube select customer_city_name, product_details.description, product_details.category, product_details.color, store_sales from sales where time_range_in(delivery_time, '2015-04-11-00', '2015-04-13-00')
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
These are just examples that provided in advance by Lens. If you want to explore whole tutorials of Lens, see the [tutorial video](https://cwiki.apache.org/confluence/display/LENS/2015/07/13/20+Minute+video+demo+of+Apache+Lens+through+examples).
|
||||
|
||||
## Lens UI Service
|
||||
Lens also provides web UI service. Once the server starts up, you can open the service on http://serverhost:19999/index.html and browse. You may also check the structure that you made and use query easily here.
|
||||
|
||||

|
||||

|
||||
|
|
|
|||
|
|
@ -197,11 +197,13 @@ hello("livy")
|
|||
```
|
||||
|
||||
## Impersonation
|
||||
When Zeppelin server is running with authentication enabled, then this interpreter utilizes Livy’s user impersonation feature i.e. sends extra parameter for creating and running a session ("proxyUser": "${loggedInUser}"). This is particularly useful when multi users are sharing a Notebook server.
|
||||
|
||||
When Zeppelin server is running with authentication enabled,
|
||||
then this interpreter utilizes Livy’s user impersonation feature
|
||||
i.e. sends extra parameter for creating and running a session ("proxyUser": "${loggedInUser}").
|
||||
This is particularly useful when multi users are sharing a Notebook server.
|
||||
|
||||
## Apply Zeppelin Dynamic Forms
|
||||
You can leverage [Zeppelin Dynamic Form](../manual/dynamicform.html). You can use both the `text input` and `select form` parameterization features.
|
||||
You can leverage [Zeppelin Dynamic Form](../usage/dynamic_form/intro.html). You can use both the `text input` and `select form` parameterization features.
|
||||
|
||||
```
|
||||
%livy.pyspark
|
||||
|
|
|
|||
|
|
@ -31,17 +31,18 @@ In Zeppelin notebook, you can use ` %md ` in the beginning of a paragraph to inv
|
|||
|
||||
In Zeppelin, Markdown interpreter is enabled by default and uses the [pegdown](https://github.com/sirthias/pegdown) parser.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/markdown-interpreter-setting.png" width="60%" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/markdown-interpreter-setting.png" width="60%" />
|
||||
|
||||
## Example
|
||||
|
||||
The following example demonstrates the basic usage of Markdown in a Zeppelin notebook.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/markdown-example.png" width="70%" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/markdown-example.png" width="70%" />
|
||||
|
||||
## Mathematical expression
|
||||
|
||||
Markdown interpreter leverages %html display system internally. That means you can mix mathematical expressions with markdown syntax. For more information, please see [Mathematical Expression](../displaysystem/basicdisplaysystem.html#mathematical-expressions) section.
|
||||
Markdown interpreter leverages %html display system internally. That means you can mix mathematical expressions with markdown syntax.
|
||||
For more information, please see [Mathematical Expression](../usage/display_system/basic.html#mathematical-expressions) section.
|
||||
|
||||
## Configuration
|
||||
<table class="table-configuration">
|
||||
|
|
@ -62,11 +63,11 @@ Markdown interpreter leverages %html display system internally. That means you c
|
|||
|
||||
`pegdown` parser provides github flavored markdown.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/markdown-example-pegdown-parser.png" width="70%" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/markdown-example-pegdown-parser.png" width="70%" />
|
||||
|
||||
`pegdown` parser provides [YUML](http://yuml.me/) and [Websequence](https://www.websequencediagrams.com/) plugins also.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/markdown-example-pegdown-parser-plugins.png" width="70%" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/markdown-example-pegdown-parser-plugins.png" width="70%" />
|
||||
|
||||
### Markdown4j Parser
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,11 @@ group: manual
|
|||
<div id="toc"></div>
|
||||
|
||||
## Overview
|
||||
[Apache Pig](https://pig.apache.org/) is a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs, coupled with infrastructure for evaluating these programs. The salient property of Pig programs is that their structure is amenable to substantial parallelization, which in turns enables them to handle very large data sets.
|
||||
[Apache Pig](https://pig.apache.org/) is a platform for analyzing large data sets that consists of
|
||||
a high-level language for expressing data analysis programs,
|
||||
coupled with infrastructure for evaluating these programs.
|
||||
The salient property of Pig programs is that their structure is amenable to substantial parallelization,
|
||||
which in turns enables them to handle very large data sets.
|
||||
|
||||
## Supported interpreter type
|
||||
- `%pig.script` (default Pig interpreter, so you can use `%pig`)
|
||||
|
|
@ -55,7 +59,8 @@ group: manual
|
|||
|
||||
At the Interpreters menu, you have to create a new Pig interpreter. Pig interpreter has below properties by default.
|
||||
And you can set any Pig properties here which will be passed to Pig engine. (like tez.queue.name & mapred.job.queue.name).
|
||||
Besides, we use paragraph title as job name if it exists, else use the last line of Pig script. So you can use that to find app running in YARN RM UI.
|
||||
Besides, we use paragraph title as job name if it exists, else use the last line of Pig script.
|
||||
So you can use that to find app running in YARN RM UI.
|
||||
|
||||
<table class="table-configuration">
|
||||
<tr>
|
||||
|
|
@ -116,7 +121,8 @@ b = group bank_data by age;
|
|||
foreach b generate group, COUNT($1);
|
||||
```
|
||||
|
||||
The same as above, but use dynamic text form so that use can specify the variable maxAge in textbox. (See screenshot below). Dynamic form is a very cool feature of Zeppelin, you can refer this [link]((../manual/dynamicform.html)) for details.
|
||||
The same as above, but use dynamic text form so that use can specify the variable maxAge in textbox.
|
||||
(See screenshot below). Dynamic form is a very cool feature of Zeppelin, you can refer this [link]((../usage/dynamic_form/intro.html)) for details.
|
||||
|
||||
```
|
||||
%pig.query
|
||||
|
|
@ -126,7 +132,8 @@ b = group bank_data by age;
|
|||
foreach b generate group, COUNT($1) as count;
|
||||
```
|
||||
|
||||
Get the number of each age for specific marital type, also use dynamic form here. User can choose the marital type in the dropdown list (see screenshot below).
|
||||
Get the number of each age for specific marital type,
|
||||
also use dynamic form here. User can choose the marital type in the dropdown list (see screenshot below).
|
||||
|
||||
```
|
||||
%pig.query
|
||||
|
|
@ -138,11 +145,14 @@ foreach b generate group, COUNT($1) as count;
|
|||
|
||||
The above examples are in the Pig tutorial note in Zeppelin, you can check that for details. Here's the screenshot.
|
||||
|
||||
<img class="img-responsive" width="1024px" style="margin:0 auto; padding: 26px;" src="../assets/themes/zeppelin/img/pig_zeppelin_tutorial.png" />
|
||||
<img class="img-responsive" width="1024px" style="margin:0 auto; padding: 26px;" src="/assets/themes/zeppelin/img/pig_zeppelin_tutorial.png" />
|
||||
|
||||
|
||||
Data is shared between `%pig` and `%pig.query`, so that you can do some common work in `%pig`, and do different kinds of query based on the data of `%pig`.
|
||||
Besides, we recommend you to specify alias explicitly so that the visualization can display the column name correctly. In the above example 2 and 3 of `%pig.query`, we name `COUNT($1)` as `count`. If you don't do this,
|
||||
then we will name it using position. E.g. in the above first example of `%pig.query`, we will use `col_1` in chart to represent `COUNT($1)`.
|
||||
Data is shared between `%pig` and `%pig.query`, so that you can do some common work in `%pig`,
|
||||
and do different kinds of query based on the data of `%pig`.
|
||||
Besides, we recommend you to specify alias explicitly so that the visualization can display
|
||||
the column name correctly. In the above example 2 and 3 of `%pig.query`, we name `COUNT($1)` as `count`.
|
||||
If you don't do this, then we will name it using position.
|
||||
E.g. in the above first example of `%pig.query`, we will use `col_1` in chart to represent `COUNT($1)`.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,5 +25,6 @@ limitations under the License.
|
|||
|
||||
## Important Notice
|
||||
|
||||
|
||||
Postgresql interpreter is deprecated and merged into [JDBC Interpreter](./jdbc.html). You can use it with JDBC Interpreter as same functionality. See [Postgresql setting example](./jdbc.html#postgres) for more detailed information.
|
||||
Postgresql interpreter is deprecated and merged into [JDBC Interpreter](./jdbc.html).
|
||||
You can use it with JDBC Interpreter as same functionality.
|
||||
See [Postgresql setting example](./jdbc.html#postgres) for more detailed information.
|
||||
|
|
|
|||
|
|
@ -68,23 +68,36 @@ The interpreter can use all modules already installed (with pip, easy_install...
|
|||
|
||||
#### Usage
|
||||
|
||||
List your environments
|
||||
- get the Conda Infomation:
|
||||
|
||||
```
|
||||
%python.conda
|
||||
```
|
||||
```%python.conda info```
|
||||
|
||||
- list the Conda environments:
|
||||
|
||||
Activate an environment
|
||||
```%python.conda env list```
|
||||
|
||||
```
|
||||
%python.conda activate [ENVIRONMENT_NAME]
|
||||
```
|
||||
- create a conda enviornment:
|
||||
```%python.conda create --name [ENV NAME]```
|
||||
|
||||
- activate an environment (python interpreter will be restarted):
|
||||
|
||||
Deactivate
|
||||
```%python.conda activate [ENV NAME]```
|
||||
|
||||
```
|
||||
%python.conda deactivate
|
||||
```
|
||||
- deactivate
|
||||
|
||||
```%python.conda deactivate```
|
||||
|
||||
- get installed package list inside the current environment
|
||||
|
||||
```%python.conda list```
|
||||
|
||||
- install package
|
||||
|
||||
```%python.conda install [PACKAGE NAME]```
|
||||
|
||||
- uninstall package
|
||||
|
||||
```%python.conda uninstall [PACKAGE NAME]```
|
||||
|
||||
### Docker
|
||||
|
||||
|
|
@ -92,21 +105,22 @@ Deactivate
|
|||
|
||||
#### Usage
|
||||
|
||||
Activate an environment
|
||||
- activate an environment
|
||||
|
||||
```
|
||||
%python.docker activate [Repository]
|
||||
%python.docker activate [Repository:Tag]
|
||||
%python.docker activate [Image Id]
|
||||
```
|
||||
```
|
||||
%python.docker activate [Repository]
|
||||
%python.docker activate [Repository:Tag]
|
||||
%python.docker activate [Image Id]
|
||||
```
|
||||
|
||||
Deactivate
|
||||
- deactivate
|
||||
|
||||
```
|
||||
%python.docker deactivate
|
||||
```
|
||||
```
|
||||
%python.docker deactivate
|
||||
```
|
||||
|
||||
Example
|
||||
<br/>
|
||||
Here is an example
|
||||
|
||||
```
|
||||
# activate latest tensorflow image as a python environment
|
||||
|
|
@ -114,7 +128,7 @@ Example
|
|||
```
|
||||
|
||||
## Using Zeppelin Dynamic Forms
|
||||
You can leverage [Zeppelin Dynamic Form]({{BASE_PATH}}/manual/dynamicform.html) inside your Python code.
|
||||
You can leverage [Zeppelin Dynamic Form]({{BASE_PATH}}/usage/dynamic_form/intro.html) inside your Python code.
|
||||
|
||||
**Zeppelin Dynamic Form can only be used if py4j Python library is installed in your system. If not, you can install it with `pip install py4j`.**
|
||||
|
||||
|
|
@ -148,9 +162,13 @@ z.configure_mpl(width=400, height=300, fmt='svg')
|
|||
plt.plot([1, 2, 3])
|
||||
```
|
||||
|
||||
Will produce a 400x300 image in SVG format, which by default are normally 600x400 and PNG respectively. In the future, another option called `angular` can be used to make it possible to update a plot produced from one paragraph directly from another (the output will be `%angular` instead of `%html`). However, this feature is already available in the `pyspark` interpreter. More details can be found in the included "Zeppelin Tutorial: Python - matplotlib basic" tutorial notebook.
|
||||
Will produce a 400x300 image in SVG format, which by default are normally 600x400 and PNG respectively.
|
||||
In the future, another option called `angular` can be used to make it possible to update a plot produced from one paragraph directly from another
|
||||
(the output will be `%angular` instead of `%html`). However, this feature is already available in the `pyspark` interpreter.
|
||||
More details can be found in the included "Zeppelin Tutorial: Python - matplotlib basic" tutorial notebook.
|
||||
|
||||
If Zeppelin cannot find the matplotlib backend files (which should usually be found in `$ZEPPELIN_HOME/interpreter/lib/python`) in your `PYTHONPATH`, then the backend will automatically be set to agg, and the (otherwise deprecated) instructions below can be used for more limited inline plotting.
|
||||
If Zeppelin cannot find the matplotlib backend files (which should usually be found in `$ZEPPELIN_HOME/interpreter/lib/python`) in your `PYTHONPATH`,
|
||||
then the backend will automatically be set to agg, and the (otherwise deprecated) instructions below can be used for more limited inline plotting.
|
||||
|
||||
If you are unable to load the inline backend, use `z.show(plt)`:
|
||||
```python
|
||||
|
|
@ -168,11 +186,13 @@ The `z.show()` function can take optional parameters to adapt graph dimensions (
|
|||
z.show(plt, width='50px')
|
||||
z.show(plt, height='150px', fmt='svg')
|
||||
```
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/pythonMatplotlib.png" />
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/pythonMatplotlib.png" />
|
||||
|
||||
|
||||
## Pandas integration
|
||||
Apache Zeppelin [Table Display System](../displaysystem/basicdisplaysystem.html#table) provides built-in data visualization capabilities. Python interpreter leverages it to visualize Pandas DataFrames though similar `z.show()` API, same as with [Matplotlib integration](#matplotlib-integration).
|
||||
Apache Zeppelin [Table Display System](../usage/display_system/basic.html#table) provides built-in data visualization capabilities.
|
||||
Python interpreter leverages it to visualize Pandas DataFrames though similar `z.show()` API,
|
||||
same as with [Matplotlib integration](#matplotlib-integration).
|
||||
|
||||
Example:
|
||||
|
||||
|
|
@ -184,7 +204,9 @@ z.show(rates)
|
|||
|
||||
## SQL over Pandas DataFrames
|
||||
|
||||
There is a convenience `%python.sql` interpreter that matches Apache Spark experience in Zeppelin and enables usage of SQL language to query [Pandas DataFrames](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html) and visualization of results though built-in [Table Display System](../displaysystem/basicdisplaysystem.html#table).
|
||||
There is a convenience `%python.sql` interpreter that matches Apache Spark experience in Zeppelin and
|
||||
enables usage of SQL language to query [Pandas DataFrames](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html) and
|
||||
visualization of results though built-in [Table Display System](../usage/display_system/basic.html#table).
|
||||
|
||||
**Pre-requests**
|
||||
|
||||
|
|
@ -217,7 +239,9 @@ For in-depth technical details on current implementation please refer to [python
|
|||
|
||||
### Some features not yet implemented in the Python Interpreter
|
||||
|
||||
* Interrupt a paragraph execution (`cancel()` method) is currently only supported in Linux and MacOs. If interpreter runs in another operating system (for instance MS Windows) , interrupt a paragraph will close the whole interpreter. A JIRA ticket ([ZEPPELIN-893](https://issues.apache.org/jira/browse/ZEPPELIN-893)) is opened to implement this feature in a next release of the interpreter.
|
||||
* Interrupt a paragraph execution (`cancel()` method) is currently only supported in Linux and MacOs.
|
||||
If interpreter runs in another operating system (for instance MS Windows) , interrupt a paragraph will close the whole interpreter.
|
||||
A JIRA ticket ([ZEPPELIN-893](https://issues.apache.org/jira/browse/ZEPPELIN-893)) is opened to implement this feature in a next release of the interpreter.
|
||||
* Progression bar in webUI (`getProgress()` method) is currently not implemented.
|
||||
* Code-completion is currently not implemented.
|
||||
|
||||
|
|
|
|||
|
|
@ -69,23 +69,23 @@ By default, the R Interpreter appears as two Zeppelin Interpreters, `%r` and `%k
|
|||
|
||||
`%r` will behave like an ordinary REPL. You can execute commands as in the CLI.
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/repl2plus2.png" width="700px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/repl2plus2.png" width="700px"/>
|
||||
|
||||
R base plotting is fully supported
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/replhist.png" width="550px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/replhist.png" width="550px"/>
|
||||
|
||||
If you return a data.frame, Zeppelin will attempt to display it using Zeppelin's built-in visualizations.
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/replhead.png" width="550px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/replhead.png" width="550px"/>
|
||||
|
||||
`%knitr` interfaces directly against `knitr`, with chunk options on the first line:
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/knitgeo.png" width="550px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/knitgeo.png" width="550px"/>
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/knitstock.png" width="550px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/knitstock.png" width="550px"/>
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/knitmotion.png" width="550px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/knitmotion.png" width="550px"/>
|
||||
|
||||
The two interpreters share the same environment. If you define a variable from `%r`, it will be within-scope if you then make a call using `knitr`.
|
||||
|
||||
|
|
@ -93,23 +93,23 @@ The two interpreters share the same environment. If you define a variable from
|
|||
|
||||
If `SPARK_HOME` is set, the `SparkR` package will be loaded automatically:
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/sparkrfaithful.png" width="550px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/sparkrfaithful.png" width="550px"/>
|
||||
|
||||
The Spark Context and SQL Context are created and injected into the local environment automatically as `sc` and `sql`.
|
||||
|
||||
The same context are shared with the `%spark`, `%sql` and `%pyspark` interpreters:
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/backtoscala.png" width="700px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/backtoscala.png" width="700px"/>
|
||||
|
||||
You can also make an ordinary R variable accessible in scala and Python:
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/varr1.png" width="550px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/varr1.png" width="550px"/>
|
||||
|
||||
And vice versa:
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/varscala.png" width="550px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/varscala.png" width="550px"/>
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/varr2.png" width="550px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/varr2.png" width="550px"/>
|
||||
|
||||
## Caveats & Troubleshooting
|
||||
|
||||
|
|
|
|||
|
|
@ -37,9 +37,9 @@ In a notebook, to enable the **Scalding** interpreter, click on the **Gear** ico
|
|||
|
||||
<center>
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
</center>
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ print("%table " + table)
|
|||
```
|
||||
|
||||
If you click on the icon for the pie chart, you should be able to see a chart like this:
|
||||

|
||||

|
||||
|
||||
|
||||
### HDFS mode
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ At the "Interpreters" menu in Zeppelin dropdown menu, you can set the property v
|
|||
## Example
|
||||
The following example demonstrates the basic usage of Shell in a Zeppelin notebook.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/shell-example.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/shell-example.png" />
|
||||
|
||||
If you need further information about **Zeppelin Interpreter Setting** for using Shell interpreter, please read [What is interpreter setting?](../manual/interpreters.html#what-is-interpreter-setting) section first.
|
||||
If you need further information about **Zeppelin Interpreter Setting** for using Shell interpreter,
|
||||
please read [What is interpreter setting?](../usage/interpreter/overview.html#what-is-interpreter-setting) section first.
|
||||
|
|
@ -200,7 +200,7 @@ Staring from 0.6.1 SparkSession is available as variable `spark` when you are us
|
|||
There are two ways to load external libraries in Spark interpreter. First is using interpreter setting menu and second is loading Spark properties.
|
||||
|
||||
### 1. Setting Dependencies via Interpreter Setting
|
||||
Please see [Dependency Management](../manual/dependencymanagement.html) for the details.
|
||||
Please see [Dependency Management](../usage/interpreter/dependency_management.html) for the details.
|
||||
|
||||
### 2. Loading Spark Properties
|
||||
Once `SPARK_HOME` is set in `conf/zeppelin-env.sh`, Zeppelin uses `spark-submit` as spark interpreter runner. `spark-submit` supports two ways to load configurations.
|
||||
|
|
@ -389,23 +389,28 @@ In sql environment, you can create form in simple template.
|
|||
select * from ${table=defaultTableName} where text like '%${search}%'
|
||||
```
|
||||
|
||||
To learn more about dynamic form, checkout [Dynamic Form](../manual/dynamicform.html).
|
||||
To learn more about dynamic form, checkout [Dynamic Form](../usage/dynamic_form/intro.html).
|
||||
|
||||
|
||||
## Matplotlib Integration (pyspark)
|
||||
Both the `python` and `pyspark` interpreters have built-in support for inline visualization using `matplotlib`, a popular plotting library for python. More details can be found in the [python interpreter documentation](../interpreter/python.html), since matplotlib support is identical. More advanced interactive plotting can be done with pyspark through utilizing Zeppelin's built-in [Angular Display System](../displaysystem/back-end-angular.html), as shown below:
|
||||
Both the `python` and `pyspark` interpreters have built-in support for inline visualization using `matplotlib`,
|
||||
a popular plotting library for python. More details can be found in the [python interpreter documentation](../interpreter/python.html),
|
||||
since matplotlib support is identical. More advanced interactive plotting can be done with pyspark through
|
||||
utilizing Zeppelin's built-in [Angular Display System](../usage/display_system/angular_backend.html), as shown below:
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/matplotlibAngularExample.gif" />
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/matplotlibAngularExample.gif" />
|
||||
|
||||
## Interpreter setting option
|
||||
|
||||
You can choose one of `shared`, `scoped` and `isolated` options wheh you configure Spark interpreter. Spark interpreter creates separated Scala compiler per each notebook but share a single SparkContext in `scoped` mode (experimental). It creates separated SparkContext per each notebook in `isolated` mode.
|
||||
You can choose one of `shared`, `scoped` and `isolated` options wheh you configure Spark interpreter.
|
||||
Spark interpreter creates separated Scala compiler per each notebook but share a single SparkContext in `scoped` mode (experimental).
|
||||
It creates separated SparkContext per each notebook in `isolated` mode.
|
||||
|
||||
|
||||
## Setting up Zeppelin with Kerberos
|
||||
Logical setup with Zeppelin, Kerberos Key Distribution Center (KDC), and Spark on YARN:
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/kdc_zeppelin.png">
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/kdc_zeppelin.png">
|
||||
|
||||
### Configuration Setup
|
||||
|
||||
|
|
|
|||
|
|
@ -27,19 +27,19 @@ limitations under the License.
|
|||
|
||||
The first time you connect to Zeppelin ([default installations start on http://localhost:8080](http://localhost:8080/)), you'll land at the main page similar to the below screen capture.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/homepage.png" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/homepage.png" />
|
||||
|
||||
On the left of the page are listed all existing notes. Those notes are stored by default in the `$ZEPPELIN_HOME/notebook` folder.
|
||||
|
||||
You can filter them by name using the input text form. You can also create a new note, refresh the list of existing notes
|
||||
(in case you manually copy them into the `$ZEPPELIN_HOME/notebook` folder) and import a note.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/notes_management.png" width="230px" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/notes_management.png" width="230px" />
|
||||
|
||||
When clicking on `Import Note` link, a new dialog open. From there you can import your note from local disk or from a remote location
|
||||
if you provide the URL.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/note_import_dialog.png" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/note_import_dialog.png" />
|
||||
|
||||
By default, the name of the imported note is the same as the original note but you can override it by providing a new name.
|
||||
|
||||
|
|
@ -54,19 +54,18 @@ The `Notebook` menu proposes almost the same features as the note management sec
|
|||
2. Filter node by name
|
||||
3. Create a new note
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/notebook_menu.png" width="170px" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/notebook_menu.png" width="170px" />
|
||||
|
||||
### Settings
|
||||
This menu gives you access to settings and displays information about Zeppelin. User name is set to `anonymous` if you use default shiro configuration. If you want to set up authentification, see [Shiro authentication](../security/shiroauthentication.html).
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/settings_menu.png" width="170px" />
|
||||
This menu gives you access to settings and displays information about Zeppelin. User name is set to `anonymous` if you use default shiro configuration. If you want to set up authentification, see [Shiro Authentication](../setup/security/shiro_authentication.html).
|
||||
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/settings_menu.png" width="170px" />
|
||||
|
||||
#### About Zeppelin
|
||||
|
||||
You can check Zeppelin version in this menu.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/about_menu.png" width="450px" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/about_menu.png" width="450px" />
|
||||
|
||||
#### Interpreter
|
||||
|
||||
|
|
@ -75,19 +74,19 @@ In this menu you can:
|
|||
1. Configure existing **interpreter instance**
|
||||
2. Add/remove **interpreter instances**
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/interpreter_menu.png" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/interpreter_menu.png" />
|
||||
|
||||
#### Credential
|
||||
|
||||
This menu allows you to save credentials for data sources which are passed to interpreters.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/credential_menu.png" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/credential_menu.png" />
|
||||
|
||||
#### Configuration
|
||||
|
||||
This menu displays all the Zeppelin configuration that are set in the config file `$ZEPPELIN_HOME/conf/zeppelin-site.xml`
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/configuration_menu.png" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/configuration_menu.png" />
|
||||
|
||||
|
||||
<br />
|
||||
|
|
@ -95,13 +94,13 @@ This menu displays all the Zeppelin configuration that are set in the config fil
|
|||
|
||||
Each Zeppelin note is composed of 1 .. N paragraphs. The note can be viewed as a paragraph container.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/note_paragraph_layout.png" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/note_paragraph_layout.png" />
|
||||
|
||||
### Paragraph
|
||||
|
||||
Each paragraph consists of 2 sections: `code section` where you put your source code and `result section` where you can see the result of the code execution.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/paragraph_layout.png" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/paragraph_layout.png" />
|
||||
|
||||
On the top-right corner of each paragraph there are some commands to:
|
||||
|
||||
|
|
@ -112,7 +111,7 @@ On the top-right corner of each paragraph there are some commands to:
|
|||
|
||||
To configure the paragraph, just click on the gear icon:
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/paragraph_configuration_dialog.png" width="180px" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/paragraph_configuration_dialog.png" width="180px" />
|
||||
|
||||
From this dialog, you can (in descending order):
|
||||
|
||||
|
|
@ -132,7 +131,7 @@ From this dialog, you can (in descending order):
|
|||
|
||||
At the top of the note, you can find a toolbar which exposes command buttons as well as configuration, security and display options.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/note_toolbar.png" />
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/note_toolbar.png" />
|
||||
|
||||
On the far right is displayed the note name, just click on it to reveal the input form and update it.
|
||||
|
||||
|
|
@ -148,7 +147,7 @@ In the middle of the toolbar you can find the command buttons:
|
|||
* delete the note
|
||||
* schedule the execution of **all paragraph** using a CRON syntax
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/note_commands.png" width="300px"/>
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/note_commands.png" width="300px"/>
|
||||
|
||||
On the right of the note tool bar you can find configuration icons:
|
||||
|
||||
|
|
@ -157,4 +156,4 @@ On the right of the note tool bar you can find configuration icons:
|
|||
* configure the note permissions
|
||||
* switch the node display mode between `default`, `simple` and `report`
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/ui-img/note_configuration.png" width="180px"/>
|
||||
<img src="/assets/themes/zeppelin/img/ui-img/note_configuration.png" width="180px"/>
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Quick Start"
|
||||
title: "Install"
|
||||
description: "This page will help you get started and will guide you through installing Apache Zeppelin and running it in the command line."
|
||||
group: install
|
||||
group: quickstart
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -19,13 +19,13 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Quick Start
|
||||
# Install
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
Welcome to Apache Zeppelin! On this page are instructions to help you get started.
|
||||
|
||||
## Installation
|
||||
## Requirements
|
||||
|
||||
Apache Zeppelin officially supports and is tested on the following environments:
|
||||
|
||||
|
|
@ -46,15 +46,14 @@ Apache Zeppelin officially supports and is tested on the following environments:
|
|||
|
||||
### Downloading Binary Package
|
||||
|
||||
Two binary packages are available on the [Apache Zeppelin Download Page](http://zeppelin.apache.org/download.html). Only difference between these two binaries is interpreters are included in the package file.
|
||||
Two binary packages are available on the [download page](http://zeppelin.apache.org/download.html). Only difference between these two binaries is interpreters are included in the package file.
|
||||
|
||||
- #### Package with `all` interpreters.
|
||||
- **all interpreter package**: unpack it in a directory of your choice and you're ready to go.
|
||||
- **net-install interpreter package**: unpack and follow [install additional interpreters](../usage/interpreter/installation.html) to install interpreters. If you're unsure, just run `./bin/install-interpreter.sh --all` and install all interpreters.
|
||||
|
||||
### Building Zeppelin from source
|
||||
|
||||
Just unpack it in a directory of your choice and you're ready to go.
|
||||
|
||||
- #### Package with `net-install` interpreters.
|
||||
|
||||
Unpack and follow [install additional interpreters](../manual/interpreterinstallation.html) to install interpreters. If you're unsure, just run `./bin/install-interpreter.sh --all` and install all interpreters.
|
||||
follow the instructions [How to Build](../setup/basics/how_to_build.html), If you want to build from source instead of using binary package.
|
||||
|
||||
## Starting Apache Zeppelin
|
||||
|
||||
|
|
@ -80,9 +79,9 @@ After Zeppelin has started successfully, go to [http://localhost:8080](http://lo
|
|||
bin/zeppelin-daemon.sh stop
|
||||
```
|
||||
|
||||
#### Start Apache Zeppelin with a service manager
|
||||
## Start Apache Zeppelin with a service manager
|
||||
|
||||
> **Note :** The below description was written based on Ubuntu Linux.
|
||||
> **Note :** The below description was written based on Ubuntu.
|
||||
|
||||
Apache Zeppelin can be auto-started as a service with an init script, using a service manager like **upstart**.
|
||||
|
||||
|
|
@ -127,32 +126,17 @@ exec bin/zeppelin-daemon.sh upstart
|
|||
Congratulations, you have successfully installed Apache Zeppelin! Here are few steps you might find useful:
|
||||
|
||||
#### New to Apache Zeppelin...
|
||||
* For an in-depth overview, head to [Explore Apache Zeppelin UI](../quickstart/explorezeppelinui.html).
|
||||
* And then, try run [tutorial](http://localhost:8080/#/notebook/2A94M5J1Z) notebook in your Zeppelin.
|
||||
* And see how to change [configurations](./configuration.html) like port number, etc.
|
||||
* For an in-depth overview, head to [Explore Zeppelin UI](../quickstart/explore_ui.html).
|
||||
* And then, try run [Tutorial Notebook](http://localhost:8080/#/notebook/2A94M5J1Z) in your Zeppelin.
|
||||
* And see how to change [configurations](../setup/operation/configuration.html) like port number, etc.
|
||||
|
||||
#### Zeppelin with Apache Spark ...
|
||||
* To know more about deep integration with [Apache Spark](http://spark.apache.org/), check [Spark Interpreter](../interpreter/spark.html).
|
||||
#### Spark, Python, SQL, and more
|
||||
* [Spark support in Zeppelin](./spark_with_zeppelin.html), to know more about deep integration with [Apache Spark](http://spark.apache.org/).
|
||||
* [SQL support in Zeppelin](./sql_with_zeppelin.html) for SQL support
|
||||
* [Python support in Zeppelin](./python_with_zeppelin.html), for Matplotlib, Pandas, Conda/Docker integration.
|
||||
* [All Available Interpreters](../#available-interpreters)
|
||||
|
||||
#### Zeppelin with JDBC data sources ...
|
||||
* Check [JDBC Interpreter](../interpreter/jdbc.html) to know more about configure and uses multiple JDBC data sources.
|
||||
|
||||
#### Zeppelin with Python ...
|
||||
* Check [Python interpreter](../interpreter/python.html) to know more about Matplotlib, Pandas, Conda/Docker environment integration.
|
||||
#### Multi-user support ...
|
||||
* Check [Multi-user support](../setup/basics/multi_user_support.html)
|
||||
|
||||
|
||||
#### Multi-user environment ...
|
||||
* Turn on [authentication](../security/shiroauthentication.html).
|
||||
* Manage your [notebook permission](../security/notebook_authorization.html).
|
||||
* For more informations, go to **More** -> **Security** section.
|
||||
|
||||
#### Other useful information ...
|
||||
* Learn how [Display System](../displaysystem/basicdisplaysystem.html) works.
|
||||
* Use [Service Manager](#start-apache-zeppelin-with-a-service-manager) to start Zeppelin.
|
||||
* If you're using previous version please see [Upgrade Zeppelin version](./upgrade.html).
|
||||
|
||||
|
||||
## Building Apache Zeppelin from Source
|
||||
|
||||
If you want to build from source instead of using binary package, follow the instructions [here](./build.html).
|
||||
|
||||
43
docs/quickstart/python_with_zeppelin.md
Normal file
43
docs/quickstart/python_with_zeppelin.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Python with Zeppelin"
|
||||
description: ""
|
||||
group: quickstart
|
||||
---
|
||||
<!--
|
||||
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 support in Zeppelin
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
<br/>
|
||||
|
||||
The following guides explain how to use Apache Zeppelin that enables you to write in Python:
|
||||
|
||||
- supports flexible python environments using [conda](../interpreter/python.html#conda), [docker](../interpreter/python.html#docker)
|
||||
- can query using [PandasSQL](../interpreter/python.html#sql-over-pandas-dataframes)
|
||||
- also, provides [PySpark](../interpreter/spark.html)
|
||||
- with [matplotlib integration](../interpreter/python.html#matplotlib-integration)
|
||||
- can create results including **UI widgets** using [Dynamic Form](../interpreter/python.html#using-zeppelin-dynamic-forms)
|
||||
|
||||
<br/>
|
||||
|
||||
For the further information about Spark support in Zeppelin, please check
|
||||
|
||||
- [Python Interpreter](../interpreter/python.html)
|
||||
|
||||
|
||||
|
||||
47
docs/quickstart/spark_with_zeppelin.md
Normal file
47
docs/quickstart/spark_with_zeppelin.md
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Spark with Zeppelin"
|
||||
description: ""
|
||||
group: quickstart
|
||||
---
|
||||
<!--
|
||||
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 support in Zeppelin
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
<br/>
|
||||
|
||||
For a brief overview of Apache Spark fundamentals with Apache Zeppelin, see the following guide:
|
||||
|
||||
- **built-in** Apache Spark integration.
|
||||
- with [SparkSQL](http://spark.apache.org/sql/), [PySpark](https://spark.apache.org/docs/latest/api/python/pyspark.html), [SparkR](https://spark.apache.org/docs/latest/sparkr.html)
|
||||
- inject [SparkContext](https://spark.apache.org/docs/latest/api/java/org/apache/spark/SparkContext.html) and [SQLContext](https://spark.apache.org/docs/latest/sql-programming-guide.html) automatically
|
||||
- dependencies loading (jars) at runtime using [dependency loader](../interpreter/spark.html#dependencyloading)
|
||||
- canceling job and displaying its progress
|
||||
- supporting [Spark Cluster Mode](../setup/deployment/spark_cluster_mode.html#apache-zeppelin-on-spark-cluster-mode) for external spark clusters
|
||||
- supports [different context per user / note](../usage/interpreter/interpreter_binding_mode.html)
|
||||
- sharing variables among PySpark, SparkR and Spark through [ZeppelinContext](../interpreter/spark.html#zeppelincontext)
|
||||
- [Livy Interpreter](../interpreter/livy.html)
|
||||
|
||||
<br/>
|
||||
|
||||
For the further information about Spark support in Zeppelin, please check
|
||||
|
||||
- [Spark Interpreter](../interpreter/spark.html)
|
||||
|
||||
|
||||
|
||||
64
docs/quickstart/sql_with_zeppelin.md
Normal file
64
docs/quickstart/sql_with_zeppelin.md
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
---
|
||||
layout: page
|
||||
title: "SQL with Zeppelin"
|
||||
description: ""
|
||||
group: quickstart
|
||||
---
|
||||
<!--
|
||||
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 %}
|
||||
|
||||
# SQL support in Zeppelin
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
<br/>
|
||||
|
||||
The following guides explain how to use Apache Zeppelin that enables you to write in SQL:
|
||||
|
||||
- provides [JDBC Interpreter](../interpreter/jdbc.html) which allows you can connect any JDBC data sources seamlessly
|
||||
* [Postgres](../interpreter/jdbc.html#postgres)
|
||||
* [MySQL](../interpreter/jdbc.html#mysql)
|
||||
* [MariaDB](../interpreter/jdbc.html#mariadb)
|
||||
* [AWS Redshift](../interpreter/jdbc.html#redshift)
|
||||
* [Apache Hive](../interpreter/jdbc.html#hive)
|
||||
* [Apache Phoenix](../interpreter/jdbc.html#apache-phoenix)
|
||||
* [Apache Drill](../interpreter/jdbc.html#apache-drill)
|
||||
* [Apache Tajo](../interpreter/jdbc.html#apache-tajo)
|
||||
* and so on
|
||||
- [Spark Interpreter](../interpreter/spark.html) supports [SparkSQL](http://spark.apache.org/sql/)
|
||||
- [Python Interpreter](../interpreter/python.html) supports [pandasSQL](../interpreter/python.html#sql-over-pandas-dataframes)
|
||||
- can create query result including **UI widgets** using [Dynamic Form](../usage/dynamic_form/intro.html)
|
||||
|
||||
```sql
|
||||
%sql
|
||||
select age, count(1) value
|
||||
from bank
|
||||
where age < ${maxAge=30}
|
||||
group by age
|
||||
order by age
|
||||
```
|
||||
|
||||
<br/>
|
||||
|
||||
For the further information about SQL support in Zeppelin, please check
|
||||
|
||||
- [JDBC Interpreter](../interpreter/jdbc.html)
|
||||
- [Spark Interpreter](../interpreter/spark.html)
|
||||
- [Python Interpreter](../interpreter/python.html)
|
||||
- [IgniteSQL Interpreter](../interpreter/ignite.html#ignite-sql-interpreter) for [Apache Ignite](https://ignite.apache.org/)
|
||||
- [Kylin Interpreter](../interpreter/kylin.html) for [Apache Kylin](http://kylin.apache.org/)
|
||||
|
||||
|
||||
|
||||
|
|
@ -23,7 +23,7 @@ limitations under the License.
|
|||
|
||||
<div id="toc"></div>
|
||||
|
||||
This tutorial walks you through some of the fundamental Zeppelin concepts. We will assume you have already installed Zeppelin. If not, please see [here](../install/install.html) first.
|
||||
This tutorial walks you through some of the fundamental Zeppelin concepts. We will assume you have already installed Zeppelin. If not, please see [here](./install.html) first.
|
||||
|
||||
Current main backend processing engine of Zeppelin is [Apache Spark](https://spark.apache.org). If you're new to this system, you might want to start by getting an idea of how it processes data to get the most out of Zeppelin.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Build from Source"
|
||||
title: "How to Build Zeppelin from source"
|
||||
description: "How to build Zeppelin from source"
|
||||
group: install
|
||||
group: setup/basics
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -19,10 +19,12 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
## Building from Source
|
||||
## How to Build Zeppelin from Source
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
#### 0. Requirements
|
||||
|
||||
If you want to build from source, you must first install the following dependencies:
|
||||
|
||||
<table class="table-configuration">
|
||||
|
|
@ -47,14 +49,13 @@ If you want to build from source, you must first install the following dependenc
|
|||
|
||||
If you haven't installed Git and Maven yet, check the [Build requirements](#build-requirements) section and follow the step by step instructions from there.
|
||||
|
||||
|
||||
####1. Clone the Apache Zeppelin repository
|
||||
#### 1. Clone the Apache Zeppelin repository
|
||||
|
||||
```
|
||||
git clone https://github.com/apache/zeppelin.git
|
||||
```
|
||||
|
||||
####2. Build source
|
||||
#### 2. Build source
|
||||
|
||||
|
||||
You can build Zeppelin with following maven command:
|
||||
|
|
@ -72,7 +73,7 @@ If you're unsure about the options, use the same commands that creates official
|
|||
mvn clean package -DskipTests -Pspark-2.0 -Phadoop-2.4 -Pr -Pscala-2.11
|
||||
```
|
||||
|
||||
####3. Done
|
||||
#### 3. Done
|
||||
You can directly start Zeppelin by running after successful build:
|
||||
|
||||
```bash
|
||||
|
|
@ -82,7 +83,7 @@ You can directly start Zeppelin by running after successful build:
|
|||
Check [build-profiles](#build-profiles) section for further build options.
|
||||
If you are behind proxy, follow instructions in [Proxy setting](#proxy-setting-optional) section.
|
||||
|
||||
If you're interested in contribution, please check [Contributing to Apache Zeppelin (Code)](../development/howtocontribute.html) and [Contributing to Apache Zeppelin (Website)](../../development/contributewebsite.html).
|
||||
If you're interested in contribution, please check [Contributing to Apache Zeppelin (Code)](../../development/contribution/how_to_contribute_code.html) and [Contributing to Apache Zeppelin (Website)](../../development/contribution/how_to_contribute_website.html).
|
||||
|
||||
### Build profiles
|
||||
|
||||
34
docs/setup/basics/multi_user_support.md
Normal file
34
docs/setup/basics/multi_user_support.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Multi-user Support"
|
||||
description: ""
|
||||
group: setup/basics
|
||||
---
|
||||
<!--
|
||||
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 %}
|
||||
|
||||
# Multi-user Support
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
This page describes about multi-user support.
|
||||
|
||||
- multiple users login / logout using [Shiro Authentication](../setup/security/shiro_authentication.html)
|
||||
- managing [Notebook Permission](../setup/security/notebook_authorization.html)
|
||||
- how to setup [impersonation for interpreters](../../usage/interpreter/user_impersonation.html)
|
||||
- different contexts per user / note using [Interpreter Binding Mode](../../usage/interpreter/interpreter_binding_mode.html)
|
||||
- a paragraph in a notebook can be [Personalized](../../usage/other_features/personalized_mode.html)
|
||||
- propagates changes in notebooks through websocket in real-time
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin on CDH"
|
||||
description: "This document will guide you how you can build and configure the environment on CDH with Apache Zeppelin using docker scripts."
|
||||
group: install
|
||||
group: setup/deployment
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -85,16 +85,16 @@ export SPARK_HOME=[your_spark_home_path]
|
|||
|
||||
Don't forget to set Spark `master` as `yarn-client` in Zeppelin **Interpreters** setting page like below.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/zeppelin_yarn_conf.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/zeppelin_yarn_conf.png" />
|
||||
|
||||
### 5. Run Zeppelin with Spark interpreter
|
||||
After running a single paragraph with Spark interpreter in Zeppelin,
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/zeppelin_with_cdh.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/zeppelin_with_cdh.png" />
|
||||
|
||||
<br/>
|
||||
|
||||
browse `http://<hostname>:8088/cluster/apps` to check Zeppelin application is running well or not.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/cdh_yarn_applications.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/cdh_yarn_applications.png" />
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin Releases Docker Images"
|
||||
description: "This document contains instructions about making docker containers for Zeppelin. It mainly provides guidance into how to create, publish and run docker images for zeppelin releases."
|
||||
group: install
|
||||
group: setup/deployment
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Install Zeppelin with Flink and Spark in cluster mode"
|
||||
description: "Tutorial is valid for Spark 1.6.x and Flink 1.1.2"
|
||||
group: tutorial
|
||||
description: ""
|
||||
group: setup/deployment
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -100,7 +100,7 @@ sudo ln -s /usr/local/apache-maven-3.3.9/bin/mvn /usr/bin/mvn
|
|||
```
|
||||
|
||||
### Installing Zeppelin
|
||||
This provides a quick overview of Zeppelin installation from source, however the reader is encouraged to review the [Zeppelin Installation Guide](../install/install.html)
|
||||
This provides a quick overview of Zeppelin installation from source, however the reader is encouraged to review the [Zeppelin Installation Guide](../../quickstart/install.html)
|
||||
|
||||
From the command prompt:
|
||||
Clone Zeppelin.
|
||||
|
|
@ -153,7 +153,7 @@ Use `ifconfig` to determine the host machine's IP address. If you are not famili
|
|||
|
||||
Open a web-browser on a machine connected to the same network as the host (or in the host operating system if using a virtual machine). Navigate to http://`yourip`:8080, where yourip is the IP address you found in `ifconfig`.
|
||||
|
||||
See the [Zeppelin tutorial](../tutorial/tutorial.html) for basic Zeppelin usage. It is also advised that you take a moment to check out the tutorial notebook that is included with each Zeppelin install, and to familiarize yourself with basic notebook functionality.
|
||||
See the [Zeppelin tutorial](../../quickstart/tutorial.html) for basic Zeppelin usage. It is also advised that you take a moment to check out the tutorial notebook that is included with each Zeppelin install, and to familiarize yourself with basic notebook functionality.
|
||||
|
||||
##### Flink Test
|
||||
Create a new notebook named "Flink Test" and copy and paste the following code.
|
||||
|
|
@ -291,7 +291,7 @@ build-target/bin/start-cluster.sh
|
|||
|
||||
In a browser, navigate to http://`yourip`:8082 to see the Flink Web-UI. Click on 'Task Managers' in the left navigation bar. Ensure there is at least one Task Manager present.
|
||||
|
||||
<center></center>
|
||||
<center></center>
|
||||
|
||||
|
||||
If no task managers are present, restart the Flink cluster with the following commands:
|
||||
|
|
@ -369,7 +369,7 @@ spark/sbin/start-master.sh --webui-port 8082
|
|||
|
||||
Open a browser and navigate to http://`yourip`:8082 to ensure the Spark master is running.
|
||||
|
||||
<center></center>
|
||||
<center></center>
|
||||
|
||||
Toward the top of the page there will be a *URL*: spark://`yourhost`:7077. Note this URL, the Spark Master URI, it will be needed in subsequent steps.
|
||||
|
||||
|
|
@ -416,6 +416,6 @@ You should be able check the Flink and Spark webuis (at something like http://`y
|
|||
|
||||
### Next Steps
|
||||
|
||||
Check out the [tutorial](./tutorial.html) for more cool things you can do with your new toy!
|
||||
Check out the [tutorial](../../quickstart/tutorial.html) for more cool things you can do with your new toy!
|
||||
|
||||
[Join the community](http://zeppelin.apache.org/community.html), ask questions and contribute! Every little bit helps.
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin on Spark cluster mode"
|
||||
description: "This document will guide you how you can build and configure the environment on 3 types of Spark cluster manager(Standalone, Hadoop Yarn, Apache Mesos) with Apache Zeppelin using docker scripts."
|
||||
group: install
|
||||
group: setup/deployment
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -61,12 +61,12 @@ Note that `sparkmaster` hostname used here to run docker container should be def
|
|||
### 3. Configure Spark interpreter in Zeppelin
|
||||
Set Spark master as `spark://<hostname>:7077` in Zeppelin **Interpreters** setting page.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/standalone_conf.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/standalone_conf.png" />
|
||||
|
||||
### 4. Run Zeppelin with Spark interpreter
|
||||
After running single paragraph with Spark interpreter in Zeppelin, browse `https://<hostname>:8080` and check whether Spark cluster is running well or not.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/spark_ui.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/spark_ui.png" />
|
||||
|
||||
You can also simply verify that Spark is running well in Docker with below command.
|
||||
|
||||
|
|
@ -139,12 +139,12 @@ export SPARK_HOME=[your_spark_home_path]
|
|||
|
||||
Don't forget to set Spark `master` as `yarn-client` in Zeppelin **Interpreters** setting page like below.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/zeppelin_yarn_conf.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/zeppelin_yarn_conf.png" />
|
||||
|
||||
### 5. Run Zeppelin with Spark interpreter
|
||||
After running a single paragraph with Spark interpreter in Zeppelin, browse `http://<hostname>:8088/cluster/apps` and check Zeppelin application is running well or not.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/yarn_applications.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/yarn_applications.png" />
|
||||
|
||||
|
||||
|
||||
|
|
@ -201,13 +201,13 @@ export SPARK_HOME=[PATH OF SPARK HOME]
|
|||
|
||||
Don't forget to set Spark `master` as `mesos://127.0.1.1:5050` in Zeppelin **Interpreters** setting page like below.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/zeppelin_mesos_conf.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/zeppelin_mesos_conf.png" />
|
||||
|
||||
|
||||
### 5. Run Zeppelin with Spark interpreter
|
||||
After running a single paragraph with Spark interpreter in Zeppelin, browse `http://<hostname>:5050/#/frameworks` and check Zeppelin application is running well or not.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/mesos_frameworks.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/mesos_frameworks.png" />
|
||||
|
||||
### Troubleshooting for Spark on Mesos
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: setup/deployment
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Install Zeppelin to connect with existing YARN cluster"
|
||||
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
|
||||
group: setup/deployment
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin Configuration"
|
||||
description: "This page will guide you to configure Apache Zeppelin using either environment variables or Java properties. Also, you can configure SSL for Zeppelin."
|
||||
group: install
|
||||
group: setup/operation
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -153,7 +153,7 @@ If both are defined, then the **environment variables** will take priority.
|
|||
<td><h6 class="properties">ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE</h6></td>
|
||||
<td><h6 class="properties">zeppelin.notebook.homescreen.hide</h6></td>
|
||||
<td>false</td>
|
||||
<td>Hide the note ID set by <code>ZEPPELIN_NOTEBOOK_HOMESCREEN</code> on the Apache Zeppelin homescreen. <br />For the further information, please read <a href="../manual/notebookashomepage.html">Customize your Zeppelin homepage</a>.</td>
|
||||
<td>Hide the note ID set by <code>ZEPPELIN_NOTEBOOK_HOMESCREEN</code> on the Apache Zeppelin homescreen. <br />For the further information, please read <a href="../usage/other_features/customizing_homepage.html">Customize your Zeppelin homepage</a>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h6 class="properties">ZEPPELIN_WAR_TEMPDIR</h6></td>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Helium Authorization in Apache Zeppelin"
|
||||
title: "Proxy Setting in Apache Zeppelin"
|
||||
description: "Apache Zeppelin supports Helium plugins which fetch required installer packages from remote registry/repositories"
|
||||
group: security
|
||||
---
|
||||
|
|
@ -19,10 +19,14 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Helium Authorization in Apache Zeppelin
|
||||
# Proxy Setting
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
## How to configure proxies?
|
||||
## How to Configure Proxies?
|
||||
|
||||
Set **http_proxy** and **https_proxy** env variables to allow connection to npm registry behind a corporate firewall.
|
||||
Set `http_proxy` and `https_proxy` env variables. (See [more](https://wiki.archlinux.org/index.php/proxy_settings))
|
||||
|
||||
Currently, Proxy is supported only for these features.
|
||||
|
||||
- Helium: downloading `helium.json`, installing `npm`, `node`, `yarn`
|
||||
25
docs/setup/operation/trouble_shooting.md
Normal file
25
docs/setup/operation/trouble_shooting.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Trouble Shooting"
|
||||
description: ""
|
||||
group: setup/operation
|
||||
---
|
||||
<!--
|
||||
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 %}
|
||||
|
||||
# Trouble Shooting
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: setup/operation
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -27,26 +27,19 @@ Basically, newer version of Zeppelin works with previous version notebook direct
|
|||
So, copying `notebook` and `conf` directory should be enough.
|
||||
|
||||
## Instructions
|
||||
1. Stop Zeppelin
|
||||
|
||||
```
|
||||
bin/zeppelin-daemon.sh stop
|
||||
```
|
||||
|
||||
1. Copy your `notebook` and `conf` directory into a backup directory
|
||||
|
||||
1. Download newer version of Zeppelin and Install. See [Install page](./install.html#installation).
|
||||
|
||||
1. Copy backup `notebook` and `conf` directory into newer version of Zeppelin `notebook` and `conf` directory
|
||||
|
||||
1. Start Zeppelin
|
||||
|
||||
```
|
||||
bin/zeppelin-daemon.sh start
|
||||
```
|
||||
1. Stop Zeppelin: `bin/zeppelin-daemon.sh stop`
|
||||
2. Copy your `notebook` and `conf` directory into a backup directory
|
||||
3. Download newer version of Zeppelin and Install. See [Install Guide](../../quickstart/install.html#install).
|
||||
4. Copy backup `notebook` and `conf` directory into newer version of Zeppelin `notebook` and `conf` directory
|
||||
5. Start Zeppelin: `bin/zeppelin-daemon.sh start`
|
||||
|
||||
## Migration Guide
|
||||
|
||||
### Upgrading from Zeppelin 0.7 to 0.8
|
||||
|
||||
- From 0.8, we recommend to use `PYSPARK_PYTHON` and `PYSPARK_DRIVER_PYTHON` instead of `zeppelin.pyspark.python` as `zeppelin.pyspark.python` only effects driver. You can use `PYSPARK_PYTHON` and `PYSPARK_DRIVER_PYTHON` as using them in spark.
|
||||
- From 0.8, depending on your device, the keyboard shortcut `Ctrl-L` or `Command-L` which goes to the line somewhere user wants is not supported.
|
||||
|
||||
### Upgrading from Zeppelin 0.6 to 0.7
|
||||
|
||||
- From 0.7, we don't use `ZEPPELIN_JAVA_OPTS` as default value of `ZEPPELIN_INTP_JAVA_OPTS` and also the same for `ZEPPELIN_MEM`/`ZEPPELIN_INTP_MEM`. If user want to configure the jvm opts of interpreter process, please set `ZEPPELIN_INTP_JAVA_OPTS` and `ZEPPELIN_INTP_MEM` explicitly. If you don't set `ZEPPELIN_INTP_MEM`, Zeppelin will set it to `-Xms1024m -Xmx1024m -XX:MaxPermSize=512m` by default.
|
||||
|
|
@ -56,44 +49,3 @@ So, copying `notebook` and `conf` directory should be enough.
|
|||
- From 0.7, we uses `pegdown` as the `markdown.parser.type` option for the `%md` interpreter. Rendered markdown might be different from what you expected
|
||||
- From 0.7 note.json format has been changed to support multiple outputs in a paragraph. Zeppelin will automatically convert old format to new format. 0.6 or lower version can read new note.json format but output will not be displayed. For the detail, see [ZEPPELIN-212](http://issues.apache.org/jira/browse/ZEPPELIN-212) and [pull request](https://github.com/apache/zeppelin/pull/1658).
|
||||
- From 0.7 note storage layer will utilize `GitNotebookRepo` by default instead of `VFSNotebookRepo` storage layer, which is an extension of latter one with versioning capabilities on top of it.
|
||||
|
||||
### Upgrading from Zeppelin 0.7 to 0.8
|
||||
|
||||
- From 0.8, we recommend to use `PYSPARK_PYTHON` and `PYSPARK_DRIVER_PYTHON` instead of `zeppelin.pyspark.python` as `zeppelin.pyspark.python` only effects driver. You can use `PYSPARK_PYTHON` and `PYSPARK_DRIVER_PYTHON` as using them in spark.
|
||||
- From 0.8, depending on your device, the keyboard shortcut `Ctrl-L` or `Command-L` which goes to the line somewhere user wants is not supported.
|
||||
- From 0.8, changed the format settings for interpreters (`interpreter.json`). Old settings automatically converted to widget `textarea` and type `string`.
|
||||
|
||||
old format:
|
||||
```
|
||||
"interpreterSettings": {
|
||||
"2CD8TH1XV": {
|
||||
"id": "2CD8TH1XV",
|
||||
"name": "spark",
|
||||
"group": "spark",
|
||||
"properties": {
|
||||
"spark.executor.memory": "",
|
||||
"zeppelin.spark.concurrentSQL": "false",
|
||||
...
|
||||
}
|
||||
```
|
||||
new format:
|
||||
```
|
||||
"interpreterSettings": {
|
||||
"2CD8TH1XV": {
|
||||
"id": "2CD8TH1XV",
|
||||
"name": "spark",
|
||||
"group": "spark",
|
||||
"properties": {
|
||||
"spark.executor.memory": {
|
||||
"name": "spark.executor.memory",
|
||||
"value": "",
|
||||
"type": "string"
|
||||
},
|
||||
"zeppelin.spark.concurrentSQL": {
|
||||
"name": "zeppelin.spark.concurrentSQL",
|
||||
"value": false,
|
||||
"type": "checkbox"
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Authentication for NGINX"
|
||||
title: "HTTP Basic Auth using NGINX"
|
||||
description: "There are multiple ways to enable authentication in Apache Zeppelin. This page describes HTTP basic auth using NGINX."
|
||||
group: security
|
||||
group: setup/security
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -23,7 +23,7 @@ limitations under the License.
|
|||
|
||||
<div id="toc"></div>
|
||||
|
||||
[Build in authentication mechanism](./shiroauthentication.html) is recommended way for authentication. In case of you want authenticate using NGINX and [HTTP basic auth](https://en.wikipedia.org/wiki/Basic_access_authentication), please read this document.
|
||||
[Build in authentication mechanism](./shiro_authentication.html) is recommended way for authentication. In case of you want authenticate using NGINX and [HTTP basic auth](https://en.wikipedia.org/wiki/Basic_access_authentication), please read this document.
|
||||
|
||||
## HTTP Basic Authentication using NGINX
|
||||
|
||||
|
|
@ -121,7 +121,7 @@ This instruction based on Ubuntu 14.04 LTS but may work with other OS with few c
|
|||
1. More security consideration
|
||||
|
||||
* Using HTTPS connection with Basic Authentication is highly recommended since basic auth without encryption may expose your important credential information over the network.
|
||||
* Using [Shiro Security feature built-into Zeppelin](./shiroauthentication.html) is recommended if you prefer all-in-one solution for authentication but NGINX may provides ad-hoc solution for re-use authentication served by your system's NGINX server or in case of you need to separate authentication from zeppelin server.
|
||||
* Using [Shiro Security feature built-into Zeppelin](./shiro_authentication.html) is recommended if you prefer all-in-one solution for authentication but NGINX may provides ad-hoc solution for re-use authentication served by your system's NGINX server or in case of you need to separate authentication from zeppelin server.
|
||||
* It is recommended to isolate direct connection to Zeppelin server from public internet or external services to secure your zeppelin instance from unexpected attack or problems caused by public zone.
|
||||
|
||||
## Another option
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: setup/security
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -35,17 +35,17 @@ In this case, you can add your credential information to Apache Zeppelin and use
|
|||
## How to save the credential information?
|
||||
You can add new credentials in the dropdown menu for your data source which can be passed to interpreters.
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/credential_tab.png" width="180px"/>
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/credential_tab.png" width="180px"/>
|
||||
|
||||
**Entity** can be the key that distinguishes each credential sets.(We suggest that the convention of the **Entity** is `[Interpreter Group].[Interpreter Name]`.)
|
||||
Please see [what is interpreter group](../manual/interpreters.html#what-is-interpreter-group) for the detailed information.
|
||||
Please see [what is interpreter group](../../usage/interpreter/overview.html#what-is-interpreter-group) for the detailed information.
|
||||
|
||||
Type **Username & Password** for your own credentials. ex) Mysql user & password of the JDBC Interpreter.
|
||||
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/add_credential.png" />
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/add_credential.png" />
|
||||
|
||||
The credentials saved as per users defined in `conf/shiro.ini`.
|
||||
If you didn't activate [shiro authentication in Apache Zeppelin](./shiroauthentication.html), your credential information will be saved as `anonymous`.
|
||||
If you didn't activate [shiro authentication in Apache Zeppelin](./shiro_authentication.html), your credential information will be saved as `anonymous`.
|
||||
All credential information also can be found in `conf/credentials.json`.
|
||||
|
||||
#### JDBC interpreter
|
||||
|
|
@ -60,5 +60,5 @@ You have to store the password information for users.
|
|||
|
||||
## Please note
|
||||
As a first step of data source authentication feature, [ZEPPELIN-828](https://issues.apache.org/jira/browse/ZEPPELIN-828) was proposed and implemented in Pull Request [#860](https://github.com/apache/zeppelin/pull/860).
|
||||
Currently, only customized 3rd party interpreters can use this feature. We are planning to apply this mechanism to [the community managed interpreters](../manual/interpreterinstallation.html#available-community-managed-interpreters) in the near future.
|
||||
Currently, only customized 3rd party interpreters can use this feature. We are planning to apply this mechanism to [the community managed interpreters](../../usage/interpreter/installation.html#available-community-managed-interpreters) in the near future.
|
||||
Please keep track [ZEPPELIN-1070](https://issues.apache.org/jira/browse/ZEPPELIN-1070).
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: setup/security
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -25,7 +25,7 @@ limitations under the License.
|
|||
|
||||
## Overview
|
||||
We assume that there is an **Shiro Authentication** component that associates a user string and a set of group strings with every NotebookSocket.
|
||||
If you don't set the authentication components yet, please check [Shiro authentication for Apache Zeppelin](./shiroauthentication.html) first.
|
||||
If you don't set the authentication components yet, please check [Shiro authentication for Apache Zeppelin](./shiro_authentication.html) first.
|
||||
|
||||
## Authorization Setting
|
||||
You can set Zeppelin notebook permissions in each notebooks. Of course only **notebook owners** can change this configuration.
|
||||
|
|
@ -37,14 +37,14 @@ As you can see, each Zeppelin notebooks has 3 entities :
|
|||
* Readers ( users or groups )
|
||||
* Writers ( users or groups )
|
||||
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/permission_setting.png"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/permission_setting.png"></center>
|
||||
|
||||
Fill out the each forms with comma seperated **users** and **groups** configured in `conf/shiro.ini` file.
|
||||
If the form is empty (*), it means that any users can perform that operation.
|
||||
|
||||
If someone who doesn't have **read** permission is trying to access the notebook or someone who doesn't have **write** permission is trying to edit the notebook, Zeppelin will ask to login or block the user.
|
||||
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/insufficient_privileges.png"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/insufficient_privileges.png"></center>
|
||||
|
||||
## Separate notebook workspaces (public vs. private)
|
||||
By default, the authorization rights allow other users to see the newly created note, meaning the workspace is `public`. This behavior is controllable and can be set through either `ZEPPELIN_NOTEBOOK_PUBLIC` variable in `conf/zeppelin-env.sh`, or through `zeppelin.notebook.public` property in `conf/zeppelin-site.xml`. Thus, in order to make newly created note appear only in your `private` workspace by default, you can set either `ZEPPELIN_NOTEBOOK_PUBLIC` to `false` in your `conf/zeppelin-env.sh` as follows:
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: setup/security
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -55,7 +55,7 @@ Then you can browse Zeppelin at [http://localhost:8080](http://localhost:8080).
|
|||
### 4. Login
|
||||
Finally, you can login using one of the below **username/password** combinations.
|
||||
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/zeppelin-login.png"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/zeppelin-login.png"></center>
|
||||
|
||||
```
|
||||
[users]
|
||||
|
|
@ -231,5 +231,5 @@ If you want to grant this permission to other users, you can change **roles[ ]**
|
|||
|
||||
## Other authentication methods
|
||||
|
||||
- [HTTP Basic Authentication using NGINX](./authentication.html)
|
||||
- [HTTP Basic Authentication using NGINX](./authentication_nginx.html)
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: setup/storage
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -246,7 +246,7 @@ Optionally, you can specify Azure folder structure name in the file **zeppelin-s
|
|||
```
|
||||
|
||||
</br>
|
||||
## Storage in ZeppelinHub <a name="ZeppelinHub"></a>
|
||||
## Notebook Storage in ZeppelinHub <a name="ZeppelinHub"></a>
|
||||
|
||||
ZeppelinHub storage layer allows out of the box connection of Zeppelin instance with your ZeppelinHub account. First of all, you need to either comment out the following property in **zeppelin-site.xml**:
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Back-end Angular API in Apache Zeppelin"
|
||||
title: "Backend 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
|
||||
group: usage/display_system
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -19,7 +19,7 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Back-end Angular API in Apache Zeppelin
|
||||
# Backend Angular API in Apache Zeppelin
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
|
|
@ -188,7 +188,7 @@ AngularModel("myModel")()
|
|||
AngularModel("myModel", "New value")
|
||||
```
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/basic-usage-angular.png" width="70%">
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/basic-usage-angular.png" width="70%">
|
||||
|
||||
### Example: String Converter
|
||||
Using below example, you can convert the lowercase string to uppercase.
|
||||
|
|
@ -211,4 +211,4 @@ val button = <div class="btn btn-success btn-sm">Convert</div>.onClick{() =>
|
|||
```
|
||||
{% endraw %}
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/string-converter-angular.gif" width="70%">
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/string-converter-angular.gif" width="70%">
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Front-end Angular API in Apache Zeppelin"
|
||||
title: "Frontend 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
|
||||
group: usage/display_system
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -19,12 +19,12 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Front-end Angular API in Apache Zeppelin
|
||||
# Frontend Angular API in Apache Zeppelin
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
## Basic Usage
|
||||
In addition to the [back-end API](./back-end-angular.html) to handle Angular objects binding, Apache Zeppelin also exposes a simple AngularJS <code>**z**</code> object on the front-end side to expose the same capabilities.
|
||||
In addition to the [backend Angular API](./angular_backend.html) to handle Angular objects binding, Apache Zeppelin also exposes a simple AngularJS <code>**z**</code> object on the front-end side to expose the same capabilities.
|
||||
This <code>**z**</code> object is accessible in the Angular isolated scope for each paragraph.
|
||||
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ Bind a value to an angular object and a **mandatory** target paragraph:
|
|||
|
||||
```
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/z_angularBind.gif" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/z_angularBind.gif" />
|
||||
|
||||
<hr/>
|
||||
|
||||
|
|
@ -63,7 +63,7 @@ Unbind/remove a value from angular object and a **mandatory** target paragraph:
|
|||
|
||||
```
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/z_angularUnbind.gif" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/z_angularUnbind.gif" />
|
||||
|
||||
The signature for the **`z.angularBind() / z.angularUnbind()`** functions are:
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ You can also trigger paragraph execution by calling **`z.runParagraph()`** funct
|
|||
|
||||
```
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/z_runParagraph.gif" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/z_runParagraph.gif" />
|
||||
|
||||
<br />
|
||||
## Overriding dynamic form with Angular Object
|
||||
|
|
@ -110,13 +110,13 @@ The idea is to create a custom form using plain HTML/AngularJS code and bind act
|
|||
Consequently if you use the **Dynamic Form** syntax in a paragraph and there is a bound Angular object having the same name as the `${formName}`, the Angular object will have higher priority and the **Dynamic Form** will not be displayed. Example:
|
||||
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/z_angularJs_overriding_dynamic_form.gif" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/z_angularJs_overriding_dynamic_form.gif" />
|
||||
|
||||
|
||||
<br />
|
||||
## Feature matrix comparison
|
||||
|
||||
How does the front-end AngularJS API compares to the [back-end API](./back-end-angular.html) ? Below is a comparison matrix for both APIs:
|
||||
How does the front-end AngularJS API compares to the [backend Angular API](./angular_backend.html)? Below is a comparison matrix for both APIs:
|
||||
|
||||
<table class="table-configuration">
|
||||
<thead>
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: usage/display_system
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -27,38 +27,38 @@ limitations under the License.
|
|||
|
||||
By default, Apache Zeppelin prints interpreter response as a plain text using `text` display system.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/display_text.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/display_text.png" />
|
||||
|
||||
You can explicitly say you're using `text` display system.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/display_text1.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/display_text1.png" />
|
||||
|
||||
## Html
|
||||
|
||||
With `%html` directive, Zeppelin treats your output as HTML
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/display_html.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/display_html.png" />
|
||||
|
||||
### Mathematical expressions
|
||||
HTML display system automatically formats mathematical expression using [MathJax](https://www.mathjax.org/). You can use
|
||||
`\\( INLINE EXPRESSION \\)` and `$$ EXPRESSION $$` to format. For example
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/display_formula.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/display_formula.png" />
|
||||
|
||||
|
||||
## Table
|
||||
|
||||
If you have data that row separated by `\n` (newline) and column separated by `\t` (tab) with first row as header row, for example
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/display_table.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/display_table.png" />
|
||||
|
||||
You can simply use `%table` display system to leverage Zeppelin's built in visualization.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/display_table1.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/display_table1.png" />
|
||||
|
||||
If table contents start with `%html`, it is interpreted as an HTML.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/display_table_html.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/display_table_html.png" />
|
||||
|
||||
> **Note :** Display system is backend independent.
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: usage/dynamic_form
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -19,7 +19,7 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Dynamic Form
|
||||
# What is Dynamic Form?
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
|
|
@ -41,8 +41,7 @@ for example
|
|||
|
||||
Also you can provide default value, using `${formName=defaultValue}`.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/form_input_default.png" />
|
||||
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/form_input_default.png" />
|
||||
|
||||
### Select form
|
||||
|
||||
|
|
@ -50,11 +49,11 @@ To create select form, use `${formName=defaultValue,option1|option2...}`
|
|||
|
||||
for example
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/form_select.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/form_select.png" />
|
||||
|
||||
Also you can separate option's display name and value, using `${formName=defaultValue,option1(DisplayName)|option2(DisplayName)...}`
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/form_select_displayname.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/form_select_displayname.png" />
|
||||
|
||||
The paragraph will be automatically run after you change your selection by default.
|
||||
But in case you have multiple types dynamic form in one paragraph, you might want to run the paragraph after changing all the selections.
|
||||
|
|
@ -62,17 +61,17 @@ You can control this by unchecking the below **Run on selection change** option
|
|||
|
||||
Even if you uncheck this option, still you can run it by pressing `Enter`.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/selectForm-checkbox.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/selectForm-checkbox.png" />
|
||||
|
||||
### Checkbox form
|
||||
|
||||
For multi-selection, you can create a checkbox form using `${checkbox:formName=defaultValue1|defaultValue2...,option1|option2...}`. The variable will be substituted by a comma-separated string based on the selected items. For example:
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/form_checkbox.png">
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/form_checkbox.png">
|
||||
|
||||
You can specify the delimiter using `${checkbox(delimiter):formName=...}`:
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/form_checkbox_delimiter.png">
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/form_checkbox_delimiter.png">
|
||||
|
||||
Like [select form](#select-form), the paragraph will be automatically run after you change your selection by default.
|
||||
But in case you have multiple types dynamic form in one paragraph, you might want to run the paragraph after changing all the selections.
|
||||
|
|
@ -80,11 +79,11 @@ You can control this by unchecking the below **Run on selection change** option
|
|||
|
||||
Even if you uncheck this option, still you can run it by pressing `Enter`.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/selectForm-checkbox.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/selectForm-checkbox.png" />
|
||||
|
||||
## Creates Programmatically
|
||||
|
||||
Some language backends can programmatically create forms. For example [ZeppelinContext](../interpreter/spark.html#zeppelincontext) provides a form creation API
|
||||
Some language backends can programmatically create forms. For example [ZeppelinContext](../../interpreter/spark.html#zeppelincontext) provides a form creation API
|
||||
|
||||
Here are some examples:
|
||||
|
||||
|
|
@ -107,7 +106,7 @@ print("Hello "+z.input("name"))
|
|||
|
||||
</div>
|
||||
</div>
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/form_input_prog.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/form_input_prog.png" />
|
||||
|
||||
### Text input form with default value
|
||||
<div class="codetabs">
|
||||
|
|
@ -128,7 +127,7 @@ print("Hello "+z.input("name", "sun"))
|
|||
|
||||
</div>
|
||||
</div>
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/form_input_default_prog.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/form_input_default_prog.png" />
|
||||
|
||||
### Select form
|
||||
<div class="codetabs">
|
||||
|
|
@ -161,7 +160,7 @@ print("Hello "+z.select("day", [("1","mon"),
|
|||
|
||||
</div>
|
||||
</div>
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/form_select_prog.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/form_select_prog.png" />
|
||||
|
||||
#### Checkbox form
|
||||
<div class="codetabs">
|
||||
|
|
@ -184,4 +183,4 @@ print("Hello "+ " and ".join(z.checkbox("fruit", options, ["apple"])))
|
|||
|
||||
</div>
|
||||
</div>
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/form_checkbox_prog.png" />
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/form_checkbox_prog.png" />
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Dependency Management for Apache Spark Interpreter"
|
||||
title: "Dependency Management for Interpreter"
|
||||
description: "Include external libraries to Apache Spark Interpreter by setting dependencies in interpreter menu."
|
||||
group: manual
|
||||
group: usage/interpreter
|
||||
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -33,8 +34,8 @@ When your code requires external library, instead of doing download/copy/restart
|
|||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<a data-lightbox="compiler" href="../assets/themes/zeppelin/img/docs-img/interpreter-dependency-loading.png">
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/interpreter-dependency-loading.png" />
|
||||
<a data-lightbox="compiler" href="/assets/themes/zeppelin/img/docs-img/interpreter-dependency-loading.png">
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/interpreter-dependency-loading.png" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-6" style="padding-top:30px">
|
||||
|
|
@ -52,11 +53,11 @@ When your code requires external library, instead of doing download/copy/restart
|
|||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<a data-lightbox="compiler" href="../assets/themes/zeppelin/img/docs-img/interpreter-add-repo1.png">
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/interpreter-add-repo1.png" />
|
||||
<a data-lightbox="compiler" href="/assets/themes/zeppelin/img/docs-img/interpreter-add-repo1.png">
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/interpreter-add-repo1.png" />
|
||||
</a>
|
||||
<a data-lightbox="compiler" href="../assets/themes/zeppelin/img/docs-img/interpreter-add-repo2.png">
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/docs-img/interpreter-add-repo2.png" />
|
||||
<a data-lightbox="compiler" href="/assets/themes/zeppelin/img/docs-img/interpreter-add-repo2.png">
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/interpreter-add-repo2.png" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-6" style="padding-top:30px">
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
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
|
||||
group: usage/interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -24,19 +24,19 @@ limitations under the License.
|
|||
<div id="toc"></div>
|
||||
|
||||
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.
|
||||
Before we start, if you are not familiar with the concept of **Zeppelin interpreter**, you can check out [Overview: Zeppelin Interpreter](./overview.html) first.
|
||||
|
||||
## Overview
|
||||
In the past, Zeppelin was loading interpreter binaries from `/interpreter/[interpreter_name]` directory. They were configured by `zeppelin.interpreters` property in `conf/zeppelin-site.xml` or `ZEPPELIN_INTERPRETERS` env variables in `conf/zeppelin-env.sh`. They were loaded on Zeppelin server startup and stayed alive until the server was stopped.
|
||||
In order to simplify using 3rd party interpreters, we changed this way to **dynamically** load interpreters from **Maven Repository** using **REST API**. Hopefully, the picture below will help you to understand the process.
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/zeppelin_user.png" height="85%" width="85%"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/zeppelin_user.png" height="85%" width="85%"></center>
|
||||
|
||||
## Load & Unload Interpreters Using REST API
|
||||
|
||||
### Load
|
||||
You can **load** interpreters located in Maven repository using REST API, like this:
|
||||
|
||||
( Maybe, you are unfamiliar with `[interpreter_group_name]` or `[interpreter_name]`. If so, please checkout [Interpreters in Zeppelin](../manual/interpreter.html) again. )
|
||||
(Maybe, you are unfamiliar with `[interpreter_group_name]` or `[interpreter_name]`. If so, please checkout [Overview: Zeppelin Interpreter](./overview.html) again.)
|
||||
|
||||
```
|
||||
http://[zeppelin-server]:[zeppelin-port]/api/interpreter/load/[interpreter_group_name]/[interpreter_name]
|
||||
|
|
@ -106,19 +106,19 @@ After loading an interpreter, you can use it by creating and configuring it in Z
|
|||
Oh, you don't need to restart your Zeppelin server. Because it is **Dynamic Loading**, you can configure and load it **at runtime** !
|
||||
|
||||
1. After Zeppelin server up, browse Zeppelin home and click **Interpreter tab**.
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/interpreter_setting_1.png" height="85%" width="85%"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/interpreter_setting_1.png" height="85%" width="85%"></center>
|
||||
|
||||
2. At the **Interpreter** section, click **+Create** button.
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/interpreter_setting_2.png" height="85%" width="85%"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/interpreter_setting_2.png" height="85%" width="85%"></center>
|
||||
|
||||
3. Then, you can verify the interpreter list that you loaded.
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/interpreter_setting_3.png" height="85%" width="85%"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/interpreter_setting_3.png" height="85%" width="85%"></center>
|
||||
|
||||
4. After choosing an interpreter, you can configure and use it. Don't forget to save it.
|
||||
|
||||
5. Create a new notebook in the **Notebook** section, then you can bind the interpreters from your interpreter list. Just drag and drop !
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/interpreter_binding_1.png" height="85%" width="85%"></center>
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/interpreter_binding_2.png" height="85%" width="85%"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/interpreter_binding_1.png" height="85%" width="85%"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/interpreter_binding_2.png" height="85%" width="85%"></center>
|
||||
|
||||
6. At last, you can use your interpreter !
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Interpreter Installation in Netinst Binary Package"
|
||||
title: "Installing Interpreters"
|
||||
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
|
||||
group: usage/interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -19,7 +19,7 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Interpreter Installation
|
||||
# Installing Interpreters
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ rm -rf ./interpreter/spark
|
|||
```
|
||||
|
||||
<br />
|
||||
Once you have installed interpreters, you need to restart Zeppelin. And then [create interpreter setting](../manual/interpreters.html#what-is-zeppelin-interpreter) and [bind it with your notebook](../manual/interpreters.html#what-is-zeppelin-interpreter-setting).
|
||||
Once you have installed interpreters, you need to restart Zeppelin. And then [create interpreter setting](./overview.html#what-is-zeppelin-interpreter) and [bind it with your notebook](./overview.html#what-is-zeppelin-interpreter-setting).
|
||||
|
||||
|
||||
## 3rd party interpreters
|
||||
|
|
@ -113,7 +113,7 @@ You can also install 3rd party interpreters located in the maven repository by u
|
|||
|
||||
The above command will download maven artifact `groupId1:artifact1:version1` and all of its transitive dependencies into `interpreter/interpreter1` directory.
|
||||
|
||||
After restart Zeppelin, then [create interpreter setting](../manual/interpreters.html#what-is-zeppelin-interpreter) and [bind it with your note](../manual/interpreters.html#what-is-zeppelin-interpreter-setting).
|
||||
After restart Zeppelin, then [create interpreter setting](./overview.html#what-is-zeppelin-interpreter) and [bind it with your note](./overview.html#what-is-interpreter-setting).
|
||||
|
||||
#### Install multiple 3rd party interpreters at once
|
||||
|
||||
28
docs/usage/interpreter/interpreter_binding_mode.md
Normal file
28
docs/usage/interpreter/interpreter_binding_mode.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Interpreter Binding Mode"
|
||||
description: ""
|
||||
group: usage/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 %}
|
||||
|
||||
# Interpreter Binding Mode
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
## Overview
|
||||
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Interpreters in Apache Zeppelin"
|
||||
title: "Interpreter 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
|
||||
group: usage/interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -19,7 +19,7 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Interpreters in Apache Zeppelin
|
||||
# Interpreter in Apache Zeppelin
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
|
|
@ -34,12 +34,12 @@ Zeppelin Interpreter is a plug-in which enables Zeppelin users to use a specific
|
|||
|
||||
When you click the ```+Create``` button in the interpreter page, the interpreter drop-down list box will show all the available interpreters on your server.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/interpreter_create.png" width="280px">
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/interpreter_create.png" width="280px">
|
||||
|
||||
## What is interpreter setting?
|
||||
Zeppelin interpreter setting is the configuration of a given interpreter on Zeppelin server. For example, the properties are required for hive JDBC interpreter to connect to the Hive server.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/interpreter_setting.png" width="500px">
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/interpreter_setting.png" width="500px">
|
||||
|
||||
Properties are exported as environment variables when property name is consisted of upper characters, numbers and underscore ([A-Z_0-9]). Otherwise set properties as JVM property.
|
||||
|
||||
|
|
@ -71,12 +71,12 @@ You may use parameters from the context of interpreter by add #{contextParameter
|
|||
|
||||
If context parameter is null then replaced by empty string.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/interpreter_setting_with_context_parameters.png" width="800px">
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/interpreter_setting_with_context_parameters.png" width="800px">
|
||||
|
||||
<br>
|
||||
Each notebook can be bound to multiple Interpreter Settings using setting icon on upper right corner of the notebook.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/interpreter_binding.png" width="800px">
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/interpreter_binding.png" width="800px">
|
||||
|
||||
|
||||
|
||||
|
|
@ -84,11 +84,11 @@ Each notebook can be bound to multiple Interpreter Settings using setting icon o
|
|||
Every Interpreter is belonged to an **Interpreter Group**. Interpreter Group is a unit of start/stop interpreter.
|
||||
By default, every interpreter is belonged to a single group, but the group might contain more interpreters. For example, Spark interpreter group is including Spark support, pySpark, Spark SQL and the dependency loader.
|
||||
|
||||
Technically, Zeppelin interpreters from the same group are running in the same JVM. For more information about this, please checkout [here](../development/writingzeppelininterpreter.html).
|
||||
Technically, Zeppelin interpreters from the same group are running in the same JVM. For more information about this, please checkout [here](../development/writing_zeppelin_interpreter.html).
|
||||
|
||||
Each interpreters is belonged to a single group and registered together. All of their properties are listed in the interpreter setting like below image.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/interpreter_setting_spark.png" width="500px">
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/interpreter_setting_spark.png" width="500px">
|
||||
|
||||
|
||||
## Interpreter binding mode
|
||||
|
|
@ -96,7 +96,9 @@ Each interpreters is belonged to a single group and registered together. All of
|
|||
Each Interpreter Setting can choose one of 'shared', 'scoped', 'isolated' interpreter binding mode.
|
||||
In 'shared' mode, every notebook bound to the Interpreter Setting will share the single Interpreter instance. In 'scoped' mode, each notebook will create new Interpreter instance in the same interpreter process. In 'isolated' mode, each notebook will create new Interpreter process.
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/interpreter_persession.png" width="400px">
|
||||
For more information, check [Interpreter Binding Mode](./interpreter_binding_mode.html).
|
||||
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/interpreter_persession.png" width="400px">
|
||||
|
||||
|
||||
## Connecting to the existing remote interpreter
|
||||
|
|
@ -112,12 +114,12 @@ interpreter.start()
|
|||
|
||||
The above code will start interpreter thread inside your process. Once the interpreter is started you can configure zeppelin to connect to RemoteInterpreter by checking **Connect to existing process** checkbox and then provide **Host** and **Port** on which interpreter process is listening as shown in the image below:
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/existing_interpreter.png" width="450px">
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/existing_interpreter.png" width="450px">
|
||||
|
||||
## Precode
|
||||
|
||||
Snippet of code (language of interpreter) that executes after initialization of the interpreter depends on [Binding mode](#interpreter-binding-mode). To configure add parameter with class of interpreter (`zeppelin.<ClassName>.precode`) except JDBCInterpreter ([JDBC precode](../interpreter/jdbc.md#usage-precode)).
|
||||
Snippet of code (language of interpreter) that executes after initialization of the interpreter depends on [Binding mode](#interpreter-binding-mode). To configure add parameter with class of interpreter (`zeppelin.<ClassName>.precode`) except JDBCInterpreter ([JDBC precode](../../interpreter/jdbc.html#usage-precode)).
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/screenshots/interpreter_precode.png" width="800px">
|
||||
<img src="/assets/themes/zeppelin/img/screenshots/interpreter_precode.png" width="800px">
|
||||
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Run zeppelin interpreter process as web front end user"
|
||||
title: "Impersonation"
|
||||
description: "Set up zeppelin interpreter process as web front end user."
|
||||
group: manual
|
||||
group: usage/interpreter
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -19,9 +19,13 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
## Run zeppelin interpreter process as web front end user
|
||||
# Impersonation
|
||||
|
||||
* Enable shiro auth in shiro.ini
|
||||
User impersonation enables to run zeppelin interpreter process as a web frontend user
|
||||
|
||||
## Setup
|
||||
|
||||
#### 1. Enable Shiro auth in `conf/shiro.ini`
|
||||
|
||||
```
|
||||
[users]
|
||||
|
|
@ -29,7 +33,7 @@ user1 = password1, role1
|
|||
user2 = password2, role2
|
||||
```
|
||||
|
||||
* Enable password-less ssh for the user you want to impersonate (say user1).
|
||||
#### 2. Enable password-less ssh for the user you want to impersonate (say user1).
|
||||
|
||||
```
|
||||
adduser user1
|
||||
|
|
@ -38,38 +42,43 @@ ssh user1@localhost mkdir -p .ssh
|
|||
cat ~/.ssh/id_rsa.pub | ssh user1@localhost 'cat >> .ssh/authorized_keys'
|
||||
```
|
||||
|
||||
* Alternatively instead of password-less, user can override ZEPPELIN_IMPERSONATE_CMD in zeppelin-env.sh
|
||||
Alternatively instead of password-less, user can override ZEPPELIN_IMPERSONATE_CMD in zeppelin-env.sh
|
||||
|
||||
```
|
||||
export ZEPPELIN_IMPERSONATE_CMD='sudo -H -u ${ZEPPELIN_IMPERSONATE_USER} bash -c '
|
||||
```
|
||||
|
||||
|
||||
* Start zeppelin server.
|
||||
#### 4. Restart zeppelin server.
|
||||
|
||||
```
|
||||
# for OSX, linux
|
||||
bin/zeppelin-daemon restart
|
||||
|
||||
# for windows
|
||||
bin\zeppelin.cmd
|
||||
```
|
||||
|
||||
#### 5. Configure impersonation for interpreter
|
||||
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<b> Screenshot </b>
|
||||
<br /><br />
|
||||
</div>
|
||||
<div class="col-md-12" >
|
||||
<a data-lightbox="compiler" href="../assets/themes/zeppelin/img/screenshots/user-impersonation.gif">
|
||||
<img class="img-responsive" src="../assets/themes/zeppelin/img/screenshots/user-impersonation.gif" />
|
||||
<a data-lightbox="compiler" href="/assets/themes/zeppelin/img/screenshots/user-impersonation.gif">
|
||||
<img class="img-responsive" src="/assets/themes/zeppelin/img/screenshots/user-impersonation.gif" />
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
* Go to interpreter setting page, and enable "User Impersonate" in any of the interpreter (in my example its shell interpreter)
|
||||
<br/>
|
||||
|
||||
* Test with a simple paragraph
|
||||
Go to interpreter setting page, and enable "User Impersonate" in any of the interpreter (in my example its shell interpreter)
|
||||
|
||||
#### 6. Test with a simple paragraph
|
||||
|
||||
```
|
||||
%sh
|
||||
whoami
|
||||
```
|
||||
|
||||
|
||||
Note that usage of "User Impersonate" option will enable Spark interpreter to use `--proxy-user` option with current user by default. If you want to disable `--proxy-user` option, then refer to `ZEPPELIN_IMPERSONATE_SPARK_PROXY_USER` variable in `conf/zeppelin-env.sh`
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Customize Apache Zeppelin homepage"
|
||||
title: "Customizing Apache Zeppelin homepage"
|
||||
description: "Apache Zeppelin allows you to use one of the notes 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
|
||||
group: usage/other_features
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -19,7 +19,7 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# Customize Apache Zeppelin homepage
|
||||
# Customizing Apache Zeppelin homepage
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
|
|
@ -37,8 +37,8 @@ The process for creating your homepage is very simple as shown below:
|
|||
### Create a note using Zeppelin
|
||||
Create a new note using Zeppelin,
|
||||
you can use ```%md``` interpreter for markdown content or any other interpreter you like.
|
||||
You can also use the display system to generate [text](../displaysystem/basicdisplaysystem.html#text), [html](../displaysystem/basicdisplaysystem.html#html), [table](../displaysystem/basicdisplaysystem.html#table) or
|
||||
Angular ([backend API](../displaysystem/back-end-angular.html), [frontend API](../displaysystem/front-end-angular.html)).
|
||||
You can also use the display system to generate [text](../display_system/basic.html#text), [html](../display_system/basic.html#html), [table](../display_system/basic.html#table) or
|
||||
Angular ([backend API](../display_system/angular_backend.html), [frontend API](../display_system/angular_frontend.html)).
|
||||
|
||||
Run (shift+Enter) the note and see the output. Optionally, change the note view to report to hide
|
||||
the code sections.
|
||||
|
|
@ -82,7 +82,7 @@ println(
|
|||
|
||||
After running the paragraph, you will see output similar to this one:
|
||||
|
||||
<img src="../assets/themes/zeppelin/img/docs-img/homepage_custom_notebook_list.png" />
|
||||
<img src="/assets/themes/zeppelin/img/docs-img/homepage_custom_notebook_list.png" />
|
||||
|
||||
That's it! Voila! You have your note list.
|
||||
|
||||
25
docs/usage/other_features/personalized_mode.md
Normal file
25
docs/usage/other_features/personalized_mode.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Personalized Mode"
|
||||
description: ""
|
||||
group: usage/other_features
|
||||
---
|
||||
<!--
|
||||
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 %}
|
||||
|
||||
# What is Personalized Mode?
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: page
|
||||
title: "How can you publish your paragraph"
|
||||
title: "How can you publish your paragraphs"
|
||||
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
|
||||
group: usage/other_features
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -19,7 +19,7 @@ limitations under the License.
|
|||
-->
|
||||
{% include JB/setup %}
|
||||
|
||||
# How can you publish your paragraph ?
|
||||
# How can you publish your paragraphs?
|
||||
|
||||
<div id="toc"></div>
|
||||
|
||||
|
|
@ -30,10 +30,10 @@ It's very straightforward. Just use `<iframe>` tag in your page.
|
|||
A first step to publish your paragraph result is **Copy a Paragraph Link**.
|
||||
|
||||
* After running a paragraph in your Zeppelin notebook, click a gear button located on the right side. Then, click **Link this Paragraph** menu like below image.
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/link-the-paragraph.png" height="100%" width="100%"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/link-the-paragraph.png" height="100%" width="100%"></center>
|
||||
|
||||
* Just copy the provided link.
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/copy-the-link.png" height="100%" width="100%"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/copy-the-link.png" height="100%" width="100%"></center>
|
||||
|
||||
## Embed the Paragraph to Your Website
|
||||
For publishing the copied paragraph, you may use `<iframe>` tag in your website page.
|
||||
|
|
@ -44,6 +44,6 @@ For example,
|
|||
```
|
||||
|
||||
Finally, you can show off your beautiful visualization results in your website.
|
||||
<center><img src="../assets/themes/zeppelin/img/docs-img/your-website.png" height="90%" width="90%"></center>
|
||||
<center><img src="/assets/themes/zeppelin/img/docs-img/your-website.png" height="90%" width="90%"></center>
|
||||
|
||||
> **Note**: To embed the paragraph in a website, Apache Zeppelin needs to be reachable by that website. And please use this feature with caution and in a trusted environment only, as Zeppelin entire Webapp could be accessible by whoever visits your website.
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin Configuration REST API"
|
||||
description: "This page contains Apache Zeppelin Configuration REST API information."
|
||||
group: rest-api
|
||||
group: usage/rest_api
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin Credential REST API"
|
||||
description: "This page contains Apache Zeppelin Credential REST API information."
|
||||
group: rest-api
|
||||
group: usage/rest_api
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin Helium REST API"
|
||||
description: "This page contains Apache Zeppelin Helium REST API information."
|
||||
group: rest-api
|
||||
group: usage/rest_api
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin Interpreter REST API"
|
||||
description: "This page contains Apache Zeppelin Interpreter REST API information."
|
||||
group: rest-api
|
||||
group: usage/rest_api
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -32,7 +32,7 @@ If you work with Apache Zeppelin and find a need for an additional REST API, ple
|
|||
|
||||
## Interpreter REST API List
|
||||
|
||||
The role of registered interpreters, settings and interpreters group are described in [here](../manual/interpreters.html).
|
||||
The role of registered interpreters, settings and interpreters group are described in [here](../interpreter/overview.html).
|
||||
|
||||
### List of registered interpreters
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin Notebook REST API"
|
||||
description: "This page contains Apache Zeppelin Notebook REST API information."
|
||||
group: rest-api
|
||||
group: usage/rest_api
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin notebook repository REST API"
|
||||
description: "This page contains Apache Zeppelin notebook repository REST API information."
|
||||
group: rest-api
|
||||
group: usage/rest_api
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
layout: page
|
||||
title: "Apache Zeppelin Server REST API"
|
||||
description: "This page contains Apache Zeppelin Server REST API information."
|
||||
group: rest-api
|
||||
group: usage/rest_api
|
||||
---
|
||||
<!--
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -126,6 +126,8 @@ public class LoginRestApi {
|
|||
public Response logout() {
|
||||
JsonResponse response;
|
||||
Subject currentUser = org.apache.shiro.SecurityUtils.getSubject();
|
||||
TicketContainer.instance.removeTicket(SecurityUtils.getPrincipal());
|
||||
currentUser.getSession().stop();
|
||||
currentUser.logout();
|
||||
response = new JsonResponse(Response.Status.UNAUTHORIZED, "", "");
|
||||
LOG.warn(response.toString());
|
||||
|
|
|
|||
|
|
@ -177,9 +177,9 @@ export default function HeliumCtrl ($scope, $rootScope, $sce,
|
|||
|
||||
const getHeliumTypeText = function (type) {
|
||||
if (type === HeliumType.VISUALIZATION) {
|
||||
return `<a target="_blank" href="https://zeppelin.apache.org/docs/${$rootScope.zeppelinVersion}/development/writingzeppelinvisualization.html">${type}</a>` // eslint-disable-line max-len
|
||||
return `<a target="_blank" href="https://zeppelin.apache.org/docs/${$rootScope.zeppelinVersion}/development/helium/writing_visualization.html">${type}</a>` // eslint-disable-line max-len
|
||||
} else if (type === HeliumType.SPELL) {
|
||||
return `<a target="_blank" href="https://zeppelin.apache.org/docs/${$rootScope.zeppelinVersion}/development/writingzeppelinspell.html">${type}</a>` // eslint-disable-line max-len
|
||||
return `<a target="_blank" href="https://zeppelin.apache.org/docs/${$rootScope.zeppelinVersion}/development/helium/writing_spell.html">${type}</a>` // eslint-disable-line max-len
|
||||
} else {
|
||||
return type
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,8 @@ import java.util.Calendar;
|
|||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Very simple ticket container
|
||||
|
|
@ -30,6 +32,9 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||
|
||||
|
||||
public class TicketContainer {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(TicketContainer.class);
|
||||
|
||||
private static class Entry {
|
||||
public final String ticket;
|
||||
// lastAccessTime still unused
|
||||
|
|
@ -79,4 +84,18 @@ public class TicketContainer {
|
|||
sessions.put(principal, entry);
|
||||
return ticket;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove ticket from session cache.
|
||||
* @param principal
|
||||
*/
|
||||
public synchronized void removeTicket(String principal) {
|
||||
try {
|
||||
if (sessions.get(principal) != null) {
|
||||
sessions.remove(principal);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LOGGER.error("Error removing ticket", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue