Repository: incubator-zeppelin Updated Branches: refs/heads/master 3c0a3b3fc -> a313e492c
Fix typos in docs ### What is this PR for? 1. Fix some typos in docs. 2. Remove trailing white spaces for each line. 3. Remove leading white spaces if a line contains no content. 4. Add trailing new line for each file. ### What type of PR is it? Improvement | Documentation ### Todos None ### What is the Jira issue? N/A ### How should this be tested? Build the doc site and check. ### Screenshots (if appropriate) N/A ### Questions: * Does the licenses files need update? *no* * Is there breaking changes for older versions? *no* * Does this needs documentation? *no* Author: Cheng-Yu Hsu <[email protected]> Closes #852 from cyhsutw/fix-typos-in-docs and squashes the following commits: 6f5f46b [Cheng-Yu Hsu] fix typos in docs Project: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/commit/a313e492 Tree: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/tree/a313e492 Diff: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/diff/a313e492 Branch: refs/heads/master Commit: a313e492c43d3346b1e69cf5719e1e29a129ee67 Parents: 3c0a3b3 Author: Cheng-Yu Hsu <[email protected]> Authored: Fri Apr 22 14:37:44 2016 +0800 Committer: Jongyoul Lee <[email protected]> Committed: Sun Apr 24 18:32:44 2016 +0900 ---------------------------------------------------------------------- docs/_config.yml | 33 ++++---- docs/atom.xml | 6 +- docs/development/howtocontribute.md | 8 +- docs/development/writingzeppelininterpreter.md | 2 +- docs/displaysystem/angular.md | 16 ++-- docs/index.md | 4 +- docs/install/install.md | 1 - docs/install/upgrade.md | 2 +- docs/install/virtual_machine.md | 18 ++--- docs/install/yarn_install.md | 16 ++-- docs/interpreter/alluxio.md | 4 +- docs/interpreter/elasticsearch.md | 10 +-- docs/interpreter/hdfs.md | 4 +- docs/interpreter/hive.md | 10 +-- docs/interpreter/ignite.md | 22 +++--- docs/interpreter/lens.md | 24 +++--- docs/interpreter/r.md | 37 +++++---- docs/interpreter/scalding.md | 2 +- docs/interpreter/spark.md | 18 ++--- docs/manual/dependencymanagement.md | 3 +- docs/manual/interpreters.md | 7 +- docs/manual/notebookashomepage.md | 54 ++++++------- docs/manual/shiroauthentication.md | 16 ++-- docs/rest-api/rest-configuration.md | 22 +++--- docs/rest-api/rest-interpreter.md | 26 +++--- docs/rest-api/rest-notebook.md | 88 ++++++++++----------- docs/screenshots.md | 2 +- docs/security/authentication.md | 18 ++--- docs/security/notebook_authorization.md | 2 +- docs/sitemap.txt | 2 +- docs/storage/storage.md | 10 +-- 31 files changed, 238 insertions(+), 249 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/_config.yml ---------------------------------------------------------------------- diff --git a/docs/_config.yml b/docs/_config.yml index 14aca6e..ef2aa1f 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,6 +1,6 @@ -# This is the default format. +# This is the default format. # For more see: http://jekyllrb.com/docs/permalinks/ -permalink: /:categories/:year/:month/:day/:title +permalink: /:categories/:year/:month/:day/:title exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md", "vendor", "node_modules", "scss"] pygments: true @@ -9,7 +9,7 @@ redcarpet: extensions: ["tables"] encoding: utf-8 -# Themes are encouraged to use these universal variables +# Themes are encouraged to use these universal variables # so be sure to set them if your theme uses them. # title : Apache Zeppelin (incubating) @@ -24,7 +24,7 @@ author : ZEPPELIN_VERSION : 0.6.0-incubating-SNAPSHOT # The production_url is only used when full-domain names are needed -# such as sitemap.txt +# such as sitemap.txt # Most places will/should use BASE_PATH to make the urls # # If you have set a CNAME (pages.github.com) set your custom domain here. @@ -42,11 +42,11 @@ JB : # however this value will be dynamically changed depending on your deployment situation. # # CNAME (http://yourcustomdomain.com) - # DO NOT SET BASE_PATH + # DO NOT SET BASE_PATH # (urls will be prefixed with "/" and work relatively) # # GitHub Pages (http://username.github.io) - # DO NOT SET BASE_PATH + # DO NOT SET BASE_PATH # (urls will be prefixed with "/" and work relatively) # # GitHub Project Pages (http://username.github.io/project-name) @@ -65,7 +65,7 @@ JB : # ex: [BASE_PATH]/assets/themes/[THEME-NAME] # # Override this by defining an absolute path to assets here. - # ex: + # ex: # http://s3.amazonaws.com/yoursite/themes/watermelon # /assets # @@ -97,42 +97,41 @@ JB : num_posts: 5 width: 580 colorscheme: light - + # Settings for analytics helper # Set 'provider' to the analytics provider you want to use. # Set 'provider' to false to turn analytics off globally. - # + # analytics : provider : google_universal - google_classic : + google_classic : tracking_id : 'UA-45176241-2' - google_universal : + google_universal : tracking_id : 'UA-45176241-5' domain : 'zeppelin.incubator.apache.org' getclicky : - site_id : + site_id : mixpanel : token : '_MIXPANEL_TOKEN_' piwik : baseURL : 'myserver.tld/piwik' # Piwik installation address (without protocol) idsite : '1' # the id of the site on Piwik - # Settings for sharing helper. + # Settings for sharing helper. # Sharing is for things like tweet, plusone, like, reddit buttons etc. # Set 'provider' to the sharing provider you want to use. # Set 'provider' to false to turn sharing off globally. # sharing : provider : false - - # Settings for all other include helpers can be defined by creating + + # Settings for all other include helpers can be defined by creating # a hash with key named for the given helper. ex: # # pages_list : - # provider : "custom" + # provider : "custom" # # Setting any helper's provider to 'custom' will bypass the helper code # and include your custom code. Your custom file must be defined at: # ./_includes/custom/[HELPER] # where [HELPER] is the name of the helper you are overriding. - http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/atom.xml ---------------------------------------------------------------------- diff --git a/docs/atom.xml b/docs/atom.xml index 97f6d6b..73acc07 100644 --- a/docs/atom.xml +++ b/docs/atom.xml @@ -4,7 +4,7 @@ title : Atom Feed --- <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> - + <title>{{ site.title }}</title> <link href="{{ site.production_url }}/{{ site.atom_path }}" rel="self"/> <link href="{{ site.production_url }}"/> @@ -24,5 +24,5 @@ title : Atom Feed <content type="html">{{ post.content | xml_escape }}</content> </entry> {% endfor %} - -</feed> \ No newline at end of file + +</feed> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/development/howtocontribute.md ---------------------------------------------------------------------- diff --git a/docs/development/howtocontribute.md b/docs/development/howtocontribute.md index c2bd5cb..29730d6 100644 --- a/docs/development/howtocontribute.md +++ b/docs/development/howtocontribute.md @@ -12,20 +12,20 @@ Apache Zeppelin (incubating) is an [Apache2 License](http://www.apache.org/licen Any contributions to Zeppelin (Source code, Documents, Image, Website) means you agree with license all your contributions as Apache2 License. ## Setting up -Here are some tools you will need to build and test Zeppelin. +Here are some tools you will need to build and test Zeppelin. #### Software Configuration Management ( SCM ) -Since Zeppelin uses Git for it's SCM system, you need git client installed in your development machine. +Since Zeppelin uses Git for it's SCM system, you need git client installed in your development machine. #### Integrated Development Environment ( IDE ) -You are free to use whatever IDE you prefer, or your favorite command line editor. +You are free to use whatever IDE you prefer, or your favorite command line editor. ### Build Tools To build the code, install - + * Oracle Java 7 * Apache Maven http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/development/writingzeppelininterpreter.md ---------------------------------------------------------------------- diff --git a/docs/development/writingzeppelininterpreter.md b/docs/development/writingzeppelininterpreter.md index d9ab84b..0842fe6 100644 --- a/docs/development/writingzeppelininterpreter.md +++ b/docs/development/writingzeppelininterpreter.md @@ -22,7 +22,7 @@ limitations under the License. ### What is Zeppelin Interpreter Zeppelin Interpreter is a language backend. For example to use scala code in Zeppelin, you need scala interpreter. -Every Interpreter belongs to an InterpreterGroup. +Every Interpreter belongs to an InterpreterGroup. Interpreters in the same InterpreterGroup can reference each other. For example, SparkSqlInterpreter can reference SparkInterpreter to get SparkContext from it while they're in the same group. <img class="img-responsive" style="width:50%; border: 1px solid #ecf0f1;" height="auto" src="/assets/themes/zeppelin/img/interpreter.png" /> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/displaysystem/angular.md ---------------------------------------------------------------------- diff --git a/docs/displaysystem/angular.md b/docs/displaysystem/angular.md index 5693e86..21ea44e 100644 --- a/docs/displaysystem/angular.md +++ b/docs/displaysystem/angular.md @@ -92,12 +92,12 @@ When the button is clicked, you'll see both `run` and `numWatched` are increment <img src="/assets/themes/zeppelin/img/screenshots/display_angular3.png" width="60%" /> ## Let's make it Simpler and more Intuitive -In this section, we will introduce a simpler and more intuitive way of using **Angular Display System** in Zeppelin. +In this section, we will introduce a simpler and more intuitive way of using **Angular Display System** in Zeppelin. ### How can we use it? -Here are some usages. +Here are some usages. -#### Import +#### Import ##### - In notebook scope ```scala @@ -141,11 +141,11 @@ import AngularElem._ <div></div>.model("myModel").display // bind model with initial value -<div></div>.model("myModel", initialValue).display +<div></div>.model("myModel", initialValue).display ``` #### Interact with Model -```scala +```scala // read model AngularModel("myModel")() @@ -155,7 +155,7 @@ AngularModel("myModel", "newValue") <br/> ### Example: Basic Usage -Using the above basic usages, you can apply them like below examples. +Using the above basic usages, you can apply them like below examples. #### Display Elements @@ -195,7 +195,7 @@ AngularModel("myModel", "New value") ### Example: String Converter Using below example, you can convert the lowercase string to uppercase. - + {% raw %} ```scala // clear previously created angular object. @@ -215,5 +215,3 @@ 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%"> - - \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/index.md ---------------------------------------------------------------------- diff --git a/docs/index.md b/docs/index.md index 2c566b9..eafe924 100644 --- a/docs/index.md +++ b/docs/index.md @@ -76,7 +76,7 @@ Some basic charts are already included in Zeppelin. Visualizations are not limit #### Pivot chart -With simple drag and drop Zeppelin aggeregates the values and display them in pivot chart. You can easily create chart with multiple aggregated values including sum, count, average, min, max. +With simple drag and drop Zeppelin aggregates the values and display them in pivot chart. You can easily create chart with multiple aggregated values including sum, count, average, min, max. <div class="row"> <div class="col-md-8"> @@ -123,4 +123,4 @@ Join the [Mailing list](./community.html) and report issues on our [Issue tracke <br /> ### Undergoing Incubation -Apache Zeppelin is an effort undergoing [incubation](https://incubator.apache.org/index.html) at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file +Apache Zeppelin is an effort undergoing [incubation](https://incubator.apache.org/index.html) at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/install/install.md ---------------------------------------------------------------------- diff --git a/docs/install/install.md b/docs/install/install.md index 1e204a9..353fd18 100644 --- a/docs/install/install.md +++ b/docs/install/install.md @@ -295,4 +295,3 @@ exec bin/zeppelin-daemon.sh upstart ``` bin\zeppelin.cmd ``` - http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/install/upgrade.md ---------------------------------------------------------------------- diff --git a/docs/install/upgrade.md b/docs/install/upgrade.md index 3124576..21d44c2 100644 --- a/docs/install/upgrade.md +++ b/docs/install/upgrade.md @@ -41,4 +41,4 @@ So, copying `notebook` and `conf` directory should be enough. ``` bin/zeppelin-daemon.sh start - ``` \ No newline at end of file + ``` http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/install/virtual_machine.md ---------------------------------------------------------------------- diff --git a/docs/install/virtual_machine.md b/docs/install/virtual_machine.md index d483f60..7e454fa 100644 --- a/docs/install/virtual_machine.md +++ b/docs/install/virtual_machine.md @@ -21,15 +21,15 @@ limitations under the License. ## Vagrant Virtual Machine for Apache Zeppelin - + Apache Zeppelin distribution includes a scripts directory `scripts/vagrant/zeppelin-dev` - + This script creates a virtual machine that launches a repeatable, known set of core dependencies required for developing Zeppelin. It can also be used to run an existing Zeppelin build if you don't plan to build from source. For PySpark users, this script includes several helpful [Python Libraries](#python-extras). For SparkR users, this script includes several helpful [R Libraries](#r-extras). - + ####Installing the required components to launch a virtual machine. This script requires three applications, [Ansible](http://docs.ansible.com/ansible/intro_installation.html#latest-releases-via-pip "Ansible"), [Vagrant](http://www.vagrantup.com "Vagrant") and [Virtual Box](https://www.virtualbox.org/ "Virtual Box"). All of these applications are freely available as Open Source projects and extremely easy to set up on most operating systems. @@ -40,11 +40,11 @@ If you are running Windows and don't yet have python installed, [install Python 1. Download and Install Vagrant: [Vagrant Downloads](http://www.vagrantup.com/downloads) 2. Install Ansible: [Ansible Python pip install](http://docs.ansible.com/ansible/intro_installation.html#latest-releases-via-pip) - + ``` sudo easy_install pip sudo pip install ansible - ansible --version + ansible --version ``` After then, please check whether it reports **ansible version 1.9.2 or higher**. @@ -70,7 +70,7 @@ Cloning the project again may seem counter intuitive, since this script likley o Synced folders enable Vagrant to sync a folder on the host machine to the guest machine, allowing you to continue working on your project's files on your host machine, but use the resources in the guest machine to compile or run your project. _[(1) Synced Folder Description from Vagrant Up](https://docs.vagrantup.com/v2/synced-folders/index.html)_ -By default, Vagrant will share your project directory (the directory with the Vagrantfile) to `/vagrant`. Which means you should be able to build within the guest machine after you +By default, Vagrant will share your project directory (the directory with the Vagrantfile) to `/vagrant`. Which means you should be able to build within the guest machine after you `cd /vagrant/incubator-zeppelin` @@ -95,7 +95,7 @@ The virtual machine consists of: - openjdk-7-jdk - Python addons: pip, matplotlib, scipy, numpy, pandas - [R](https://www.r-project.org/) and R Packages required to run the R Interpreter and the related R tutorial notebook, including: Knitr, devtools, repr, rCharts, ggplot2, googleVis, mplot, htmltools, base64enc, data.table - + ### How to build & run Zeppelin This assumes you've already cloned the project either on the host machine in the zeppelin-dev directory (to be shared with the guest machine) or cloned directly into a directory while running inside the guest machine. The following build steps will also include Python and R support via PySpark and SparkR: @@ -138,7 +138,7 @@ import scipy import pandas import matplotlib -print "numpy " + numpy.__version__ +print "numpy " + numpy.__version__ print "scipy " + scipy.__version__ print "pandas " + pandas.__version__ print "matplotlib " + matplotlib.__version__ @@ -176,7 +176,7 @@ plt.xlabel('Performance') plt.title('How fast do you want to go today?') show(plt) -``` +``` ### R Extras http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/install/yarn_install.md ---------------------------------------------------------------------- diff --git a/docs/install/yarn_install.md b/docs/install/yarn_install.md index dd86467..00a7a40 100644 --- a/docs/install/yarn_install.md +++ b/docs/install/yarn_install.md @@ -25,16 +25,16 @@ This page describes how to pre-configure a bare metal node, configure Zeppelin a ## Prepare Node ### Zeppelin user (Optional) -This step is optional, however its nice to run Zeppelin under its own user. In case you do not like to use Zeppelin (hope not) the user could be deleted along with all the pacakges that were installed for Zeppelin, Zeppelin binary itself and associated directories. +This step is optional, however its nice to run Zeppelin under its own user. In case you do not like to use Zeppelin (hope not) the user could be deleted along with all the packages that were installed for Zeppelin, Zeppelin binary itself and associated directories. Create a zeppelin user and switch to zeppelin user or if zeppelin user is already created then login as zeppelin. ```bash useradd zeppelin -su - zeppelin +su - zeppelin whoami ``` -Assuming a zeppelin user is created then running whoami command must return +Assuming a zeppelin user is created then running whoami command must return ```bash zeppelin @@ -48,7 +48,7 @@ Its assumed in the rest of the document that zeppelin user is indeed created and * Java 1.7 * Hadoop client * Spark - * Internet connection is required. + * Internet connection is required. It's assumed that the node has CentOS 6.x installed on it. Although any version of Linux distribution should work fine. @@ -83,7 +83,7 @@ This document assumes that Zeppelin is located under `/home/zeppelin/incubator-z Zeppelin configuration needs to be modified to connect to YARN cluster. Create a copy of zeppelin environment shell script. ```bash -cp /home/zeppelin/incubator-zeppelin/conf/zeppelin-env.sh.template /home/zeppelin/incubator-zeppelin/conf/zeppelin-env.sh +cp /home/zeppelin/incubator-zeppelin/conf/zeppelin-env.sh.template /home/zeppelin/incubator-zeppelin/conf/zeppelin-env.sh ``` Set the following properties @@ -127,7 +127,7 @@ Zeppelin supports Hive interpreter and hence copy hive-site.xml that should be p cp /etc/hive/conf/hive-site.xml /home/zeppelin/incubator-zeppelin/conf ``` -Once Zeppelin server has started successfully, visit http://[zeppelin-server-host-name]:8080 with your web browser. Click on Interpreter tab next to Notebook dropdown. Look for Hive configurations and set them appropriately. By default hive.hiveserver2.url will be pointing to localhost and hive.hiveserver2.password/hive.hiveserver2.user are set to hive/hive. Set them as per Hive installation on YARN cluster. +Once Zeppelin server has started successfully, visit http://[zeppelin-server-host-name]:8080 with your web browser. Click on Interpreter tab next to Notebook dropdown. Look for Hive configurations and set them appropriately. By default hive.hiveserver2.url will be pointing to localhost and hive.hiveserver2.password/hive.hiveserver2.user are set to hive/hive. Set them as per Hive installation on YARN cluster. Click on Save button. Once these configurations are updated, Zeppelin will prompt you to restart the interpreter. Accept the prompt and the interpreter will reload the configurations. ### Spark @@ -161,7 +161,7 @@ Click on Save button. Once these configurations are updated, Zeppelin will promp Spark & Hive notebooks can be written with Zeppelin now. The resulting Spark & Hive jobs will run on configured YARN cluster. ## Debug -Zeppelin does not emit any kind of error messages on web interface when notebook/paragrah is run. If a paragraph fails it only displays ERROR. The reason for failure needs to be looked into log files which is present in logs directory under zeppelin installation base directory. Zeppelin creates a log file for each kind of interpreter. +Zeppelin does not emit any kind of error messages on web interface when notebook/paragraph is run. If a paragraph fails it only displays ERROR. The reason for failure needs to be looked into log files which is present in logs directory under zeppelin installation base directory. Zeppelin creates a log file for each kind of interpreter. ```bash [zeppelin@zeppelin-3529 logs]$ pwd @@ -172,5 +172,5 @@ total 844 -rw-rw-r-- 1 zeppelin zeppelin 625050 Aug 3 16:05 zeppelin-interpreter-spark-zeppelin-zeppelin-3529.log -rw-rw-r-- 1 zeppelin zeppelin 200394 Aug 3 21:15 zeppelin-zeppelin-zeppelin-3529.log -rw-rw-r-- 1 zeppelin zeppelin 16162 Aug 3 14:03 zeppelin-zeppelin-zeppelin-3529.out -[zeppelin@zeppelin-3529 logs]$ +[zeppelin@zeppelin-3529 logs]$ ``` http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/interpreter/alluxio.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/alluxio.md b/docs/interpreter/alluxio.md index 805cda5..332dd0d 100644 --- a/docs/interpreter/alluxio.md +++ b/docs/interpreter/alluxio.md @@ -74,7 +74,7 @@ The **Alluxio** interpreter accepts the following commands. <tr> <td>copyFromLocal</td> <td>copyFromLocal "source path" "remote path"</td> - <td>Copy the specified file specified by "source path" to the path specified by "remote path". + <td>Copy the specified file specified by "source path" to the path specified by "remote path". This command will fail if "remote path" already exists.</td> </tr> <tr> @@ -230,4 +230,4 @@ Following steps are performed: <center>  -</center> \ No newline at end of file +</center> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/interpreter/elasticsearch.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/elasticsearch.md b/docs/interpreter/elasticsearch.md index aa710d6..70af3c0 100644 --- a/docs/interpreter/elasticsearch.md +++ b/docs/interpreter/elasticsearch.md @@ -94,7 +94,7 @@ With the `search` command, you can send a search query to Elasticsearch. There a * You can provide a JSON-formatted query, that is exactly what you provide when you use the REST API of Elasticsearch. * See [Elasticsearch search API reference document](https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html) for more details about the content of the search queries. * You can also provide the content of a `query_string`. - * This is a shortcut to a query like that: `{ "query": { "query_string": { "query": "__HERE YOUR QUERY__", "analyze_wildcard": true } } }` + * This is a shortcut to a query like that: `{ "query": { "query_string": { "query": "__HERE YOUR QUERY__", "analyze_wildcard": true } } }` * See [Elasticsearch query string syntax](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax) for more details about the content of such a query. ```bash @@ -119,10 +119,10 @@ Examples: ```bash %elasticsearch search / { "query": { "match_all": { } } } - + %elasticsearch search /logs { "query": { "query_string": { "query": "request.method:GET AND status:200" } } } - + %elasticsearch search /logs { "aggs": { "content_length_stats": { @@ -130,7 +130,7 @@ Examples: "field": "content_length" } } - } } + } } ``` * With query_string elements: @@ -138,7 +138,7 @@ Examples: ```bash %elasticsearch search /logs request.method:GET AND status:200 - + %elasticsearch search /logs (404 AND (POST OR DELETE)) ``` http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/interpreter/hdfs.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/hdfs.md b/docs/interpreter/hdfs.md index f29755f..58d825d 100644 --- a/docs/interpreter/hdfs.md +++ b/docs/interpreter/hdfs.md @@ -44,7 +44,7 @@ It supports the basic shell file commands applied to HDFS, it currently only sup > **Tip :** Use ( Ctrl + . ) for autocompletion. -### Create Interpreter +### Create Interpreter In a notebook, to enable the **HDFS** interpreter, click the **Gear** icon and select **HDFS**. @@ -53,4 +53,4 @@ In a notebook, to enable the **HDFS** interpreter, click the **Gear** icon and s You can confirm that you're able to access the WebHDFS API by running a curl command against the WebHDFS end point provided to the interpreter. Here is an example: -$> curl "http://localhost:50070/webhdfs/v1/?op=LISTSTATUS" \ No newline at end of file +$> curl "http://localhost:50070/webhdfs/v1/?op=LISTSTATUS" http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/interpreter/hive.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/hive.md b/docs/interpreter/hive.md index 5871feb..99d483b 100644 --- a/docs/interpreter/hive.md +++ b/docs/interpreter/hive.md @@ -44,7 +44,7 @@ The [Apache Hive](https://hive.apache.org/) ⢠data warehouse software facilita <tr> <td>${prefix}.driver</td> <td></td> - <td>Driver class path of <code>%hive(${prefix})</code> </td> + <td>Driver class path of <code>%hive(${prefix})</code> </td> </tr> <tr> <td>${prefix}.url</td> @@ -93,9 +93,9 @@ You can leverage [Zeppelin Dynamic Form]({{BASE_PATH}}/manual/dynamicform.html) ```sql %hive -SELECT ${group_by}, count(*) as count -FROM retail_demo.order_lineitems_pxf -GROUP BY ${group_by=product_id,product_id|product_name|customer_id|store_id} -ORDER BY count ${order=DESC,DESC|ASC} +SELECT ${group_by}, count(*) as count +FROM retail_demo.order_lineitems_pxf +GROUP BY ${group_by=product_id,product_id|product_name|customer_id|store_id} +ORDER BY count ${order=DESC,DESC|ASC} LIMIT ${limit=10}; ``` http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/interpreter/ignite.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/ignite.md b/docs/interpreter/ignite.md index 6fa1f61..db17ae2 100644 --- a/docs/interpreter/ignite.md +++ b/docs/interpreter/ignite.md @@ -18,17 +18,17 @@ You can use Zeppelin to retrieve distributed data from cache using Ignite SQL in ### Installing and Running Ignite example In order to use Ignite interpreters, you may install Apache Ignite in some simple steps: -1. Download Ignite [source release](https://ignite.apache.org/download.html#sources) or [binary release](https://ignite.apache.org/download.html#binaries) whatever you want. But you must download Ignite as the same version of Zeppelin's. If it is not, you can't use scala code on Zeppelin. You can find ignite version in Zepplin at the pom.xml which is placed under `path/to/your-Zeppelin/ignite/pom.xml` ( Of course, in Zeppelin source release ). Please check `ignite.version` .<br>Currently, Zeppelin provides ignite only in Zeppelin source release. So, if you download Zeppelin binary release( `zeppelin-0.5.0-incubating-bin-spark-xxx-hadoop-xx` ), you can not use ignite interpreter on Zeppelin. We are planning to include ignite in a future binary release. -2. Examples are shipped as a separate Maven project, so to start running you simply need to import provided <dest_dir>/apache-ignite-fabric-1.2.0-incubating-bin/pom.xml file into your favourite IDE, such as Eclipse. +1. Download Ignite [source release](https://ignite.apache.org/download.html#sources) or [binary release](https://ignite.apache.org/download.html#binaries) whatever you want. But you must download Ignite as the same version of Zeppelin's. If it is not, you can't use scala code on Zeppelin. You can find ignite version in Zeppelin at the pom.xml which is placed under `path/to/your-Zeppelin/ignite/pom.xml` ( Of course, in Zeppelin source release ). Please check `ignite.version` .<br>Currently, Zeppelin provides ignite only in Zeppelin source release. So, if you download Zeppelin binary release( `zeppelin-0.5.0-incubating-bin-spark-xxx-hadoop-xx` ), you can not use ignite interpreter on Zeppelin. We are planning to include ignite in a future binary release. +2. Examples are shipped as a separate Maven project, so to start running you simply need to import provided <dest_dir>/apache-ignite-fabric-1.2.0-incubating-bin/pom.xml file into your favourite IDE, such as Eclipse. * In case of Eclipse, Eclipse -> File -> Import -> Existing Maven Projects * Set examples directory path to Eclipse and select the pom.xml. -* Then start `org.apache.ignite.examples.ExampleNodeStartup` (or whatever you want) to run at least one or more ignite node. When you run example code, you may notice that the number of node is increase one by one. +* Then start `org.apache.ignite.examples.ExampleNodeStartup` (or whatever you want) to run at least one or more ignite node. When you run example code, you may notice that the number of node is increase one by one. > **Tip. If you want to run Ignite examples on the cli not IDE, you can export > executable Jar file from IDE. Then run it by using below command.** -``` -$ nohup java -jar </path/to/your Jar file name> +``` +$ nohup java -jar </path/to/your Jar file name> ``` ### Configuring Ignite Interpreter @@ -78,17 +78,17 @@ For more interpreter binding information see [here](http://zeppelin.incubator.ap ### How to use Ignite SQL interpreter In order to execute SQL query, use ` %ignite.ignitesql ` prefix. <br> -Supposing you are running `org.apache.ignite.examples.streaming.wordcount.StreamWords`, then you can use "words" cache( Of course you have to specify this cache name to the Ignite interpreter setting section `ignite.jdbc.url` of Zeppelin ). +Supposing you are running `org.apache.ignite.examples.streaming.wordcount.StreamWords`, then you can use "words" cache( Of course you have to specify this cache name to the Ignite interpreter setting section `ignite.jdbc.url` of Zeppelin ). For example, you can select top 10 words in the words cache using the following query -``` -%ignite.ignitesql -select _val, count(_val) as cnt from String group by _val order by cnt desc limit 10 -``` +``` +%ignite.ignitesql +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. +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. ``` %ignite http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/interpreter/lens.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/lens.md b/docs/interpreter/lens.md index c883f10..5c9c84a 100644 --- a/docs/interpreter/lens.md +++ b/docs/interpreter/lens.md @@ -17,7 +17,7 @@ group: manual In order to use Lens interpreters, you may install Apache Lens in some simple steps: 1. Download Lens for latest version from [the ASF](http://www.apache.org/dyn/closer.lua/lens/2.3-beta). Or the older release can be found [in the Archives](http://archive.apache.org/dist/lens/). -2. Before running Lens, you have to set HIVE_HOME and HADOOP_HOME. If you want to get more information about this, please refer to [here](http://lens.apache.org/lenshome/install-and-run.html#Installation). Lens also provides Pseudo Distributed mode. [Lens pseudo-distributed setup](http://lens.apache.org/lenshome/pseudo-distributed-setup.html) is done by using [docker](https://www.docker.com/). Hive server and hadoop daemons are run as separate processes in lens pseudo-distributed setup. +2. Before running Lens, you have to set HIVE_HOME and HADOOP_HOME. If you want to get more information about this, please refer to [here](http://lens.apache.org/lenshome/install-and-run.html#Installation). Lens also provides Pseudo Distributed mode. [Lens pseudo-distributed setup](http://lens.apache.org/lenshome/pseudo-distributed-setup.html) is done by using [docker](https://www.docker.com/). Hive server and hadoop daemons are run as separate processes in lens pseudo-distributed setup. 3. Now, you can start lens server (or stop). ``` @@ -77,16 +77,16 @@ At the "Interpreters" menu, you can edit Lens interpreter or create new one. Zep  -### Interpreter Bindging for Zeppelin Notebook +### 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.incubator.apache.org/docs/manual/interpreters.html). -### 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. -You may experience OLAP Cube like this [Video tutorial](https://cwiki.apache.org/confluence/display/LENS/2015/07/13/20+Minute+video+demo+of+Apache+Lens+through+examples). +### 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. +You may experience OLAP Cube like this [Video tutorial](https://cwiki.apache.org/confluence/display/LENS/2015/07/13/20+Minute+video+demo+of+Apache+Lens+through+examples). As you can see in this video, they are using Lens Client Shell(./bin/lens-cli.sh). All of these functions also can be used on Zeppelin by using Lens interpreter. <li> Create and Use(Switch) Databases. @@ -105,7 +105,7 @@ use newDb create storage your/path/to/lens/client/examples/resources/db-storage.xml ``` -<li> Create Dimensions, Show fields and join-chains of them. +<li> Create Dimensions, Show fields and join-chains of them. ``` create dimension your/path/to/lens/client/examples/resources/customer.xml @@ -121,8 +121,8 @@ dimension show joinchains customer <li> Create Caches, Show fields and join-chains of them. -``` -create cube your/path/to/lens/client/examples/resources/sales-cube.xml +``` +create cube your/path/to/lens/client/examples/resources/sales-cube.xml ``` ``` @@ -133,7 +133,7 @@ cube show fields sales cube show joinchains sales ``` -<li> Create Dimtables and Fact. +<li> Create Dimtables and Fact. ``` create dimtable your/path/to/lens/client/examples/resources/customer_table.xml @@ -163,7 +163,7 @@ query execute cube select customer_city_name, product_details.description, produ 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 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. - + http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/interpreter/r.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/r.md b/docs/interpreter/r.md index 3706271..dc7b94f 100644 --- a/docs/interpreter/r.md +++ b/docs/interpreter/r.md @@ -15,26 +15,26 @@ This is a the Apache (incubating) Zeppelin project, with the addition of support Additional requirements for the R interpreter are: * R 3.1 or later (earlier versions may work, but have not been tested) - * The `evaluate` R package. - + * The `evaluate` R package. + For full R support, you will also need the following R packages: - - * `knitr` + + * `knitr` * `repr` -- available with `devtools::install_github("IRkernel/repr")` * `htmltools` -- required for some interactive plotting * `base64enc` -- required to view R base plots -### Configuration +### Configuration -To run Zeppelin with the R Interpreter, the SPARK_HOME environment variable must be set. The best way to do this is by editing `conf/zeppelin-env.sh`. +To run Zeppelin with the R Interpreter, the SPARK_HOME environment variable must be set. The best way to do this is by editing `conf/zeppelin-env.sh`. -If it is not set, the R Interpreter will not be able to interface with Spark. +If it is not set, the R Interpreter will not be able to interface with Spark. -You should also copy `conf/zeppelin-site.xml.template` to `conf/zeppelin-site.xml`. That will ensure that Zeppelin sees the R Interpreter the first time it starts up. +You should also copy `conf/zeppelin-site.xml.template` to `conf/zeppelin-site.xml`. That will ensure that Zeppelin sees the R Interpreter the first time it starts up. ### Using the R Interpreter -By default, the R Interpreter appears as two Zeppelin Interpreters, `%r` and `%knitr`. +By default, the R Interpreter appears as two Zeppelin Interpreters, `%r` and `%knitr`. `%r` will behave like an ordinary REPL. You can execute commands as in the CLI. @@ -44,7 +44,7 @@ R base plotting is fully supported [](screenshots/replhist.png) -If you return a data.frame, Zeppelin will attempt to display it using Zeppelin's built-in visualizations. +If you return a data.frame, Zeppelin will attempt to display it using Zeppelin's built-in visualizations. [](screenshots/replhead.png) @@ -61,7 +61,7 @@ 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: [](screenshots/sparkrfaithful.png) - + 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: @@ -79,9 +79,9 @@ And vice versa: ### Caveats & Troubleshooting -* Almost all issues with the R interpreter turned out to be caused by an incorrectly set `SPARK_HOME`. The R interpreter must load a version of the `SparkR` package that matches the running version of Spark, and it does this by searching `SPARK_HOME`. If Zeppelin isn't configured to interface with Spark in `SPARK_HOME`, the R interpreter will not be able to connect to Spark. +* Almost all issues with the R interpreter turned out to be caused by an incorrectly set `SPARK_HOME`. The R interpreter must load a version of the `SparkR` package that matches the running version of Spark, and it does this by searching `SPARK_HOME`. If Zeppelin isn't configured to interface with Spark in `SPARK_HOME`, the R interpreter will not be able to connect to Spark. -* The `knitr` environment is persistent. If you run a chunk from Zeppelin that changes a variable, then run the same chunk again, the variable has already been changed. Use immutable variables. +* The `knitr` environment is persistent. If you run a chunk from Zeppelin that changes a variable, then run the same chunk again, the variable has already been changed. Use immutable variables. * (Note that `%spark.r` and `$r` are two different ways of calling the same interpreter, as are `%spark.knitr` and `%knitr`. By default, Zeppelin puts the R interpreters in the `%spark.` Interpreter Group. @@ -89,13 +89,13 @@ And vice versa: * If you return a data.frame (for instance, from calling `head()`) from the `%spark.r` interpreter, it will be parsed by Zeppelin's built-in data visualization system. -* Why `knitr` Instead of `rmarkdown`? Why no `htmlwidgets`? In order to support `htmlwidgets`, which has indirect dependencies, `rmarkdown` uses `pandoc`, which requires writing to and reading from disc. This makes it many times slower than `knitr`, which can operate entirely in RAM. +* Why `knitr` Instead of `rmarkdown`? Why no `htmlwidgets`? In order to support `htmlwidgets`, which has indirect dependencies, `rmarkdown` uses `pandoc`, which requires writing to and reading from disc. This makes it many times slower than `knitr`, which can operate entirely in RAM. -* Why no `ggvis` or `shiny`? Supporting `shiny` would require integrating a reverse-proxy into Zeppelin, which is a task. +* Why no `ggvis` or `shiny`? Supporting `shiny` would require integrating a reverse-proxy into Zeppelin, which is a task. -* Max OS X & case-insensitive filesystem. If you try to install on a case-insensitive filesystem, which is the Mac OS X default, maven can unintentionally delete the install directory because `r` and `R` become the same subdirectory. +* Max OS X & case-insensitive filesystem. If you try to install on a case-insensitive filesystem, which is the Mac OS X default, maven can unintentionally delete the install directory because `r` and `R` become the same subdirectory. -* Error `unable to start device X11` with the repl interpreter. Check your shell login scripts to see if they are adjusting the `DISPLAY` environment variable. This is common on some operating systems as a workaround for ssh issues, but can interfere with R plotting. +* Error `unable to start device X11` with the repl interpreter. Check your shell login scripts to see if they are adjusting the `DISPLAY` environment variable. This is common on some operating systems as a workaround for ssh issues, but can interfere with R plotting. * akka Library Version or `TTransport` errors. This can happen if you try to run Zeppelin with a SPARK_HOME that has a version of Spark other than the one specified with `-Pspark-1.x` when Zeppelin was compiled. @@ -111,7 +111,7 @@ To run R code and visualize plots in Apache Zeppelin, you will need R on your ma + For Centos: `yum install R R-devel libcurl-devel openssl-devel` + For Ubuntu: `apt-get install r-base` - + Validate your installation with a simple R command: ``` @@ -135,4 +135,3 @@ We recommend you to also install the following optional R libraries for happy da + caret + sqldf + wordcloud - http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/interpreter/scalding.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/scalding.md b/docs/interpreter/scalding.md index f84636a..4430312 100644 --- a/docs/interpreter/scalding.md +++ b/docs/interpreter/scalding.md @@ -72,6 +72,6 @@ If you click on the icon for the pie chart, you should be able to see a chart li  ### Current Status & Future Work -The current implementation of the Scalding interpreter does not support canceling jobs, or fine-grained progress updates. +The current implementation of the Scalding interpreter does not support canceling jobs, or fine-grained progress updates. The pre-configured Scalding interpreter only supports Scalding in local mode. Hadoop mode for Scalding is currently unsupported, and will be future work (contributions welcome!). http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/interpreter/spark.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/spark.md b/docs/interpreter/spark.md index 5650af7..ce178e7 100644 --- a/docs/interpreter/spark.md +++ b/docs/interpreter/spark.md @@ -8,7 +8,7 @@ group: manual ## Spark Interpreter for Apache Zeppelin -[Apache Spark](http://spark.apache.org) is supported in Zeppelin with +[Apache Spark](http://spark.apache.org) is supported in Zeppelin with Spark Interpreter group, which consisted of 4 interpreters. <table class="table-configuration"> @@ -40,7 +40,7 @@ Spark Interpreter group, which consisted of 4 interpreters. </table> ## Configuration -Zeppelin provides the below properties for Spark interpreter. +Zeppelin provides the below properties for Spark interpreter. You can also set other Spark properties which are not listed in the table. If so, please refer to [Spark Available Properties](http://spark.apache.org/docs/latest/configuration.html#available-properties). <table class="table-configuration"> <tr> @@ -273,13 +273,13 @@ z.put("objName", myObject) %pyspark myObject = z.get("objName") {% endhighlight %} - + </div> </div> ### Form Creation -ZeppelinContext provides functions for creating forms. +ZeppelinContext provides functions for creating forms. In scala and python environments, you can create forms programmatically. <div class="codetabs"> <div data-lang="scala" markdown="1"> @@ -306,13 +306,13 @@ z.select("formName", "option1", Seq(("option1", "option1DisplayName"), {% highlight python %} %pyspark -# Create text input form +# Create text input form z.input("formName") -# Create text input form with default value +# Create text input form with default value z.input("formName", "defaultValue") -# Create select form +# Create select form z.select("formName", [("option1", "option1DisplayName"), ("option2", "option2DisplayName")]) @@ -320,7 +320,7 @@ z.select("formName", [("option1", "option1DisplayName"), z.select("formName", [("option1", "option1DisplayName"), ("option2", "option2DisplayName")], "option1") {% endhighlight %} - + </div> </div> @@ -359,5 +359,3 @@ This is to make the server communicate with KDC. > **NOTE:** If you do not have access to the above spark-defaults.conf file, optionally, you may add the lines to the Spark Interpreter through the Interpreter tab in the Zeppelin UI. 4. That's it. Play with Zeppelin ! - - http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/manual/dependencymanagement.md ---------------------------------------------------------------------- diff --git a/docs/manual/dependencymanagement.md b/docs/manual/dependencymanagement.md index 612901e..acf6002 100644 --- a/docs/manual/dependencymanagement.md +++ b/docs/manual/dependencymanagement.md @@ -1,6 +1,6 @@ --- layout: page -title: "Dependnecy Management" +title: "Dependency Management" description: "" group: manual --- @@ -71,4 +71,3 @@ When your code requires external library, instead of doing download/copy/restart </ol> </div> </div> - http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/manual/interpreters.md ---------------------------------------------------------------------- diff --git a/docs/manual/interpreters.md b/docs/manual/interpreters.md index 43af964..692001a 100644 --- a/docs/manual/interpreters.md +++ b/docs/manual/interpreters.md @@ -32,13 +32,13 @@ When you click the ```+Create``` button in the interpreter page, the interpreter <img src="/assets/themes/zeppelin/img/screenshots/interpreter_create.png"> ## What is Zeppelin 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. +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"> Properties are exported as environment variable when property name is consisted of upper characters, numbers and underscore ([A-Z_0-9]). Otherwise set properties as JVM property. -Each notebook can be binded to multiple Interpreter Settings using setting icon on upper right corner of the notebook. +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"> @@ -57,7 +57,6 @@ Each interpreters is belonged to a single group and registered together. All of ## Interpreter binding mode Each Interpreter Setting can choose one of two different interpreter binding mode. -Shared mode (default) and 'Separate Interpreter for each note' mode. In shared mode, every notebook binded to the Interpreter Setting will share the single Interpreter instance. In 'Separate Interpreter for each note' mode, each notebook will create new Interpreter instance. Therefore each notebook will have fresh new Interpreter environment. +Shared mode (default) and 'Separate Interpreter for each note' mode. In shared mode, every notebook bound to the Interpreter Setting will share the single Interpreter instance. In 'Separate Interpreter for each note' mode, each notebook will create new Interpreter instance. Therefore each notebook will have fresh new Interpreter environment. <img src="/assets/themes/zeppelin/img/screenshots/interpreter_persession.png" width="400px"> - http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/manual/notebookashomepage.md ---------------------------------------------------------------------- diff --git a/docs/manual/notebookashomepage.md b/docs/manual/notebookashomepage.md index 3e43676..7b090ec 100644 --- a/docs/manual/notebookashomepage.md +++ b/docs/manual/notebookashomepage.md @@ -21,66 +21,66 @@ limitations under the License. ## Customize your zeppelin homepage Zeppelin allows you to use one of the notebooks you create as your zeppelin Homepage. - With that you can brand your zeppelin installation, + With that you can brand your zeppelin installation, adjust the instruction to your users needs and even translate to other languages. <br /> ### How to set a notebook as your zeppelin homepage The process for creating your homepage is very simple as shown below: - + 1. Create a notebook using zeppelin 2. Set the notebook id in the config file 3. Restart zeppelin - + <br /> #### Create a notebook using zeppelin Create a new notebook 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/display.html), + + You can also use the display system to generate [text](../displaysystem/display.html), [html](../displaysystem/display.html#html),[table](../displaysystem/table.html) or [angular](../displaysystem/angular.html) - Run (shift+Enter) the notebook and see the output. Optionally, change the notebook view to report to hide + Run (shift+Enter) the notebook and see the output. Optionally, change the notebook view to report to hide the code sections. - + <br /> #### Set the notebook id in the config file - To set the notebook id in the config file you should copy it from the last word in the notebook url - + To set the notebook id in the config file you should copy it from the last word in the notebook url + for example - + <img src="/assets/themes/zeppelin/img/screenshots/homepage_notebook_id.png" /> - Set the notebook id to the ```ZEPPELIN_NOTEBOOK_HOMESCREEN``` environment variable - or ```zeppelin.notebook.homescreen``` property. - - You can also set the ```ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE``` environment variable + Set the notebook id to the ```ZEPPELIN_NOTEBOOK_HOMESCREEN``` environment variable + or ```zeppelin.notebook.homescreen``` property. + + You can also set the ```ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE``` environment variable or ```zeppelin.notebook.homescreen.hide``` property to hide the new notebook from the notebook list. <br /> #### Restart zeppelin Restart your zeppelin server - + ``` - ./bin/zeppelin-deamon stop + ./bin/zeppelin-deamon stop ./bin/zeppelin-deamon start ``` ####That's it! Open your browser and navigate to zeppelin and see your customized homepage... - - + + <br /> ### Show notebooks list in your custom homepage -If you want to display the list of notebooks on your custom zeppelin homepage all +If you want to display the list of notebooks on your custom zeppelin homepage all you need to do is use our %angular support. - + <br /> Add the following code to a paragraph in you home page and run it... walla! you have your notebooks list. - + ```javascript println( - """%angular + """%angular <div class="col-md-4" ng-controller="HomeCtrl as home"> <h4>Notebooks</h4> <div> @@ -95,15 +95,15 @@ you need to do is use our %angular support. </div> """) ``` - + After running the notebook you will see output similar to this one: <img src="/assets/themes/zeppelin/img/screenshots/homepage_notebook_list.png" /> - + The main trick here relays in linking the ```<div>``` to the controller: - + ```javascript <div class="col-md-4" ng-controller="HomeCtrl as home"> ``` - + Once we have ```home``` as our controller variable in our ```<div></div>``` - we can use ```home.notes.list``` to get access to the notebook list. \ No newline at end of file + we can use ```home.notes.list``` to get access to the notebook list. http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/manual/shiroauthentication.md ---------------------------------------------------------------------- diff --git a/docs/manual/shiroauthentication.md b/docs/manual/shiroauthentication.md index c764885..2699130 100644 --- a/docs/manual/shiroauthentication.md +++ b/docs/manual/shiroauthentication.md @@ -20,7 +20,7 @@ limitations under the License. {% include JB/setup %} # Shiro authentication for Apache Zeppelin -[Apache Shiro](http://shiro.apache.org/) is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. In this documentation, we will explain step by step how Shiro works for Zeppelin notebook authentication. +[Apache Shiro](http://shiro.apache.org/) is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. In this documentation, we will explain step by step how Shiro works for Zeppelin notebook authentication. When you connect to Apache Zeppelin, you will be asked to enter your credentials. Once you logged in, then you have access to all notes including other user's notes. @@ -28,7 +28,7 @@ When you connect to Apache Zeppelin, you will be asked to enter your credentials You can setup **Zeppelin notebook authentication** in some simple steps. ####1. Secure the HTTP channel -To secure the HTTP channel, you have to change both **anon** and **authcBasic** settings in `conf/shiro.ini`. In here, **anon** means "the access is anonymous" and **authcBasic** means "basic auth security". +To secure the HTTP channel, you have to change both **anon** and **authcBasic** settings in `conf/shiro.ini`. In here, **anon** means "the access is anonymous" and **authcBasic** means "basic auth security". The default status of them is @@ -36,7 +36,7 @@ The default status of them is /** = anon #/** = authcBasic ``` -Deactivate the line "/** = anon" and activate the line "/** = authcBasic" in `conf/shiro.ini` file. +Deactivate the line "/** = anon" and activate the line "/** = authcBasic" in `conf/shiro.ini` file. ``` #/** = anon @@ -49,15 +49,15 @@ For the further information about `shiro.ini` file format, please refer to [Shi Set to property **zeppelin.anonymous.allowed** to **false** in `conf/zeppelin-site.xml`. If you don't have this file yet, just copy `conf/zeppelin-site.xml.template` to `conf/zeppelin-site.xml`. ####3. Start Zeppelin - + ``` bin/zeppelin-daemon.sh start (or restart) ``` - + 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. +Finally, you can login using one of the below **username/password** combinations. <center><img src="../assets/themes/zeppelin/img/docs-img/zeppelin-login.png" width="40%" height="40%"></center> @@ -66,7 +66,7 @@ admin = password1 user1 = password2 user2 = password3 ``` - + Those combinations are defined in the `conf/shiro.ini` file. -> **NOTE :** This documentation is originally from [SECURITY-README.md](https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md). +> **NOTE :** This documentation is originally from [SECURITY-README.md](https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md). http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/rest-api/rest-configuration.md ---------------------------------------------------------------------- diff --git a/docs/rest-api/rest-configuration.md b/docs/rest-api/rest-configuration.md index b7d2c14..83fb9bf 100644 --- a/docs/rest-api/rest-configuration.md +++ b/docs/rest-api/rest-configuration.md @@ -21,18 +21,18 @@ limitations under the License. ## Zeppelin REST API Zeppelin provides several REST API's for interaction and remote activation of zeppelin functionality. - + All REST API are available starting with the following endpoint ```http://[zeppelin-server]:[zeppelin-port]/api``` - - Note that zeppein REST API receive or return JSON objects, it it recommended you install some JSON viewers such as + + Note that Zeppelin REST API receive or return JSON objects, it it recommended you install some JSON viewers such as [JSONView](https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc) - - - If you work with zeppelin and find a need for an additional REST API please [file an issue or send us mail](../../community.html) + + + If you work with zeppelin and find a need for an additional REST API please [file an issue or send us mail](../../community.html) <br /> ### Configuration REST API list - + <table class="table-configuration"> <col width="200"> <tr> @@ -41,7 +41,7 @@ limitations under the License. </tr> <tr> <td>Description</td> - <td>This ```GET``` method return all key/value pair of configurations on the server.<br/> + <td>This ```GET``` method return all key/value pair of configurations on the server.<br/> Note: For security reason, some pairs would not be shown.</td> </tr> <tr> @@ -94,9 +94,9 @@ limitations under the License. </td> </tr> </table> - + <br/> - + <table class="table-configuration"> <col width="200"> <tr> @@ -105,7 +105,7 @@ limitations under the License. </tr> <tr> <td>Description</td> - <td>This ```GET``` method return all prefix matched key/value pair of configurations on the server.<br/> + <td>This ```GET``` method return all prefix matched key/value pair of configurations on the server.<br/> Note: For security reason, some pairs would not be shown.</td> </tr> <tr> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/rest-api/rest-interpreter.md ---------------------------------------------------------------------- diff --git a/docs/rest-api/rest-interpreter.md b/docs/rest-api/rest-interpreter.md index a2053eb..86a8dee 100644 --- a/docs/rest-api/rest-interpreter.md +++ b/docs/rest-api/rest-interpreter.md @@ -21,18 +21,18 @@ limitations under the License. ## Zeppelin REST API Zeppelin provides several REST API's for interaction and remote activation of zeppelin functionality. - + All REST API are available starting with the following endpoint `http://[zeppelin-server]:[zeppelin-port]/api`. - Note that zeppein REST API receive or return JSON objects, it it recommended you install some JSON viewers such as + Note that Zeppelin REST API receive or return JSON objects, it it recommended you install some JSON viewers such as [JSON View](https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc). - - If you work with zeppelin and find a need for an additional REST API, please [file an issue or send us mail](http://zeppelin.incubator.apache.org/community.html). + + If you work with zeppelin and find a need for an additional REST API, please [file an issue or send us mail](http://zeppelin.incubator.apache.org/community.html). <br /> ## Interpreter REST API List - + The role of registered interpreters, settings and interpreters group are described in [here](../manual/interpreters.html). - + ### 1. List of Registered Interpreters & Interpreter Settings <table class="table-configuration"> @@ -106,9 +106,9 @@ limitations under the License. </td> </tr> </table> - + <br/> - + <table class="table-configuration"> <col width="200"> <tr> @@ -268,8 +268,8 @@ limitations under the License. </td> </tr> </table> - - + + <br/> ### 3. Update an Interpreter Setting @@ -354,7 +354,7 @@ limitations under the License. </tr> </table> - + <br/> ### 4. Delete an Interpreter Setting @@ -388,9 +388,9 @@ limitations under the License. </tr> </table> - + <br/> -### 5. Restart an Interpreter +### 5. Restart an Interpreter <table class="table-configuration"> <col width="200"> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/rest-api/rest-notebook.md ---------------------------------------------------------------------- diff --git a/docs/rest-api/rest-notebook.md b/docs/rest-api/rest-notebook.md index 1f99657..b06692c 100644 --- a/docs/rest-api/rest-notebook.md +++ b/docs/rest-api/rest-notebook.md @@ -21,20 +21,20 @@ limitations under the License. ## Zeppelin REST API Zeppelin provides several REST APIs for interaction and remote activation of zeppelin functionality. - + All REST APIs are available starting with the following endpoint ```http://[zeppelin-server]:[zeppelin-port]/api``` - + Note that zeppelin REST APIs receive or return JSON objects, it is recommended for you to install some JSON viewers such as [JSONView](https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc) - - - If you work with zeppelin and find a need for an additional REST API please [file an issue or send us mail](../../community.html) + + + If you work with zeppelin and find a need for an additional REST API please [file an issue or send us mail](../../community.html) <br /> ### Notebook REST API list - - Notebooks REST API supports the following operations: List, Create, Get, Delete, Clone, Run, Export, Import as detailed in the following table - + + Notebooks REST API supports the following operations: List, Create, Get, Delete, Clone, Run, Export, Import as detailed in the following table + <table class="table-configuration"> <col width="200"> <tr> @@ -64,7 +64,7 @@ limitations under the License. <td><pre>{"status":"OK","message":"","body":[{"name":"Homepage","id":"2AV4WUEMK"},{"name":"Zeppelin Tutorial","id":"2A94M5J1Z"}]}</pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -99,7 +99,7 @@ limitations under the License. <td> sample JSON input (with initial paragraphs) </td> <td><pre> { - "name": "name of new notebook", + "name": "name of new notebook", "paragraphs": [ { "title": "paragraph title1", @@ -118,7 +118,7 @@ limitations under the License. <td><pre>{"status": "CREATED","message": "","body": "2AZPHY918"}</pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -220,7 +220,7 @@ limitations under the License. </pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -251,9 +251,9 @@ limitations under the License. <td><pre>{"status":"OK","message":""}</pre></td> </tr> </table> - + <br/> - + <table class="table-configuration"> <col width="200"> <tr> @@ -262,7 +262,7 @@ limitations under the License. </tr> <tr> <td>Description</td> - <td>This ```POST``` method clones a notebook by the given id and create a new notebook using the given name + <td>This ```POST``` method clones a notebook by the given id and create a new notebook using the given name or default name if none given. The body field of the returned JSON contains the new notebook id. </td> @@ -288,7 +288,7 @@ limitations under the License. <td><pre>{"status": "CREATED","message": "","body": "2AZPHY918"}</pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -319,7 +319,7 @@ limitations under the License. <td><pre>{"status":"OK"}</pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -330,7 +330,7 @@ limitations under the License. </tr> <tr> <td>Description</td> - <td>This ```DELETE``` method stops all paragraph in the given notebook id. + <td>This ```DELETE``` method stops all paragraph in the given notebook id. </td> </tr> <tr> @@ -350,9 +350,9 @@ limitations under the License. <td><pre>{"status":"OK"}</pre></td> </tr> </table> - + <br/> - + <br/> <table class="table-configuration"> @@ -363,7 +363,7 @@ limitations under the License. </tr> <tr> <td>Description</td> - <td>This ```GET``` method gets all paragraph status by the given notebook id. + <td>This ```GET``` method gets all paragraph status by the given notebook id. The body field of the returned JSON contains of the array that compose of the paragraph id, paragraph status, paragraph finish date, paragraph started date. </td> </tr> @@ -384,7 +384,7 @@ limitations under the License. <td><pre>{"status":"OK","body":[{"id":"20151121-212654_766735423","status":"FINISHED","finished":"Tue Nov 24 14:21:40 KST 2015","started":"Tue Nov 24 14:21:39 KST 2015"},{"progress":"1","id":"20151121-212657_730976687","status":"RUNNING","finished":"Tue Nov 24 14:21:35 KST 2015","started":"Tue Nov 24 14:21:40 KST 2015"}]}</pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -395,7 +395,7 @@ limitations under the License. </tr> <tr> <td>Description</td> - <td>This ```POST``` method runs the paragraph by given notebook and paragraph id. + <td>This ```POST``` method runs the paragraph by given notebook and paragraph id. </td> </tr> <tr> @@ -427,7 +427,7 @@ limitations under the License. <td><pre>{"status":"OK"}</pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -438,7 +438,7 @@ limitations under the License. </tr> <tr> <td>Description</td> - <td>This ```DELETE``` method stops the paragraph by given notebook and paragraph id. + <td>This ```DELETE``` method stops the paragraph by given notebook and paragraph id. </td> </tr> <tr> @@ -458,7 +458,7 @@ limitations under the License. <td><pre>{"status":"OK"}</pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -469,7 +469,7 @@ limitations under the License. </tr> <tr> <td>Description</td> - <td>This ```POST``` method adds cron job by the given notebook id. + <td>This ```POST``` method adds cron job by the given notebook id. </td> </tr> <tr> @@ -493,7 +493,7 @@ limitations under the License. <td><pre>{"status":"OK"}</pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -504,7 +504,7 @@ limitations under the License. </tr> <tr> <td>Description</td> - <td>This ```DELETE``` method removes cron job by the given notebook id. + <td>This ```DELETE``` method removes cron job by the given notebook id. </td> </tr> <tr> @@ -524,7 +524,7 @@ limitations under the License. <td><pre>{"status":"OK"}</pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -535,7 +535,7 @@ limitations under the License. </tr> <tr> <td>Description</td> - <td>This ```GET``` method gets cron job expression of given notebook id. + <td>This ```GET``` method gets cron job expression of given notebook id. The body field of the returned JSON contains the cron expression. </td> </tr> @@ -585,7 +585,7 @@ limitations under the License. <td><pre>{"status":"OK", body: [{"id":"<noteId>/paragraph/<paragraphId>", "name":"Notebook Name", "snippet":"", "text":""}]}</pre></td> </tr> </table> - + <br/> @@ -616,16 +616,16 @@ limitations under the License. <tr> <td> sample JSON input (add to the last) </td> <td><pre> - { - "title": "Paragraph insert revised", - "text": "%spark\nprintln(\"Paragraph insert revised\")" + { + "title": "Paragraph insert revised", + "text": "%spark\nprintln(\"Paragraph insert revised\")" }</pre></td> </tr> <tr> <td> sample JSON input (add to specific index) </td> <td><pre> - { - "title": "Paragraph insert revised", + { + "title": "Paragraph insert revised", "text": "%spark\nprintln(\"Paragraph insert revised\")", "index": 0 } @@ -636,7 +636,7 @@ limitations under the License. <td><pre>{"status": "CREATED","message": "","body": "20151218-100330_1754029574"}</pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -709,7 +709,7 @@ limitations under the License. </pre></td> </tr> </table> - + <br/> <table class="table-configuration"> @@ -740,7 +740,7 @@ limitations under the License. <td><pre>{"status":"OK","message":""}</pre></td> </tr> </table> - + <br/> @@ -772,9 +772,9 @@ limitations under the License. <td><pre>{"status":"OK","message":""}</pre></td> </tr> </table> - - + + <table class="table-configuration"> <col width="200"> <tr> @@ -826,7 +826,7 @@ limitations under the License. }</pre></td> </tr> </table> - + <table class="table-configuration"> <col width="200"> <tr> @@ -881,4 +881,4 @@ limitations under the License. <td><pre>"status": "CREATED","message": "","body": "2AZPHY918"}</pre></td> </tr> </tr> - </table> \ No newline at end of file + </table> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/screenshots.md ---------------------------------------------------------------------- diff --git a/docs/screenshots.md b/docs/screenshots.md index 90f8796..7a389b7 100644 --- a/docs/screenshots.md +++ b/docs/screenshots.md @@ -42,4 +42,4 @@ limitations under the License. </div> <div class="col-md-3"> </div> -</div> \ No newline at end of file +</div> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/security/authentication.md ---------------------------------------------------------------------- diff --git a/docs/security/authentication.md b/docs/security/authentication.md index 4806b2f..78f859b 100644 --- a/docs/security/authentication.md +++ b/docs/security/authentication.md @@ -19,10 +19,10 @@ limitations under the License. --> # Authentication -Authentication is company-specific. +Authentication is company-specific. One option is to use [Basic Access Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) - + ### HTTP Basic Authentication using NGINX > **Quote from Wikipedia:** NGINX is a web server. It can act as a reverse > proxy server for HTTP, HTTPS, SMTP, POP3, and IMAP protocols, as well as a > load balancer and an HTTP cache. @@ -33,12 +33,12 @@ Here are instructions how to accomplish the setup NGINX as a front-end authentic This instruction based on Ubuntu 14.04 LTS but may work with other OS with few configuration changes. 1. Install NGINX server on your server instance - + You can install NGINX server with same machine where zeppelin installed or separate machine where it is dedicated to serve as proxy server. ``` $ apt-get install nginx - ``` + ``` 1. Setup init script in NGINX @@ -69,7 +69,7 @@ This instruction based on Ubuntu 14.04 LTS but may work with other OS with few c ssl_certificate [PATH-TO-YOUR-CERT-FILE]; # optional, to serve HTTPS connection ssl_certificate_key [PATH-TO-YOUR-CERT-KEY-FILE]; # optional, to serve HTTPS connection - if ($ssl_protocol = "") { + if ($ssl_protocol = "") { rewrite ^ https://$host$request_uri? permanent; # optional, force to use HTTPS } @@ -104,7 +104,7 @@ This instruction based on Ubuntu 14.04 LTS but may work with other OS with few c ``` Then make a symbolic link to this file from `/etc/nginx/sites-enabled/` to enable configuration above when NGINX reloads. - + ``` $ ln -s /etc/nginx/sites-enabled/my-basic-auth /etc/nginx/sites-available/my-basic-auth ``` @@ -141,7 +141,5 @@ This instruction based on Ubuntu 14.04 LTS but may work with other OS with few c Another option is to have an authentication server that can verify user credentials in an LDAP server. If an incoming request to the Zeppelin server does not have a cookie with user information encrypted with the authentication server public key, the user -is redirected to the authentication server. Once the user is verified, the authentication server redirects the browser to a specific -URL in the Zeppelin server which sets the authentication cookie in the browser. -The end result is that all requests to the Zeppelin -web server have the authentication cookie which contains user and groups information. +is redirected to the authentication server. Once the user is verified, the authentication server redirects the browser to a specific URL in the Zeppelin server which sets the authentication cookie in the browser. +The end result is that all requests to the Zeppelin web server have the authentication cookie which contains user and groups information. http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/security/notebook_authorization.md ---------------------------------------------------------------------- diff --git a/docs/security/notebook_authorization.md b/docs/security/notebook_authorization.md index b9521b1..aafe060 100644 --- a/docs/security/notebook_authorization.md +++ b/docs/security/notebook_authorization.md @@ -33,5 +33,5 @@ Before executing a Note operation, it checks if the user and the groups associat operation, it checks if the user and the groups have at least one entity that belongs to the reader entities. To initialize and modify note permissions, we provide UI like "Interpreter binding". The user inputs comma separated entities for owners, readers and writers. -We execute a rest api call with this information. In the backend we get the user information for the connection and allow the operation if the user and groups +We execute a rest api call with this information. In the backend we get the user information for the connection and allow the operation if the user and groups associated with the current user have at least one entity that belongs to owner entities for the note. http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/sitemap.txt ---------------------------------------------------------------------- diff --git a/docs/sitemap.txt b/docs/sitemap.txt index 25c568f..360fa22 100644 --- a/docs/sitemap.txt +++ b/docs/sitemap.txt @@ -5,4 +5,4 @@ title : Sitemap {% for page in site.pages %} {{site.production_url}}{{ page.url }}{% endfor %} {% for post in site.posts %} -{{site.production_url}}{{ post.url }}{% endfor %} \ No newline at end of file +{{site.production_url}}{{ post.url }}{% endfor %} http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/a313e492/docs/storage/storage.md ---------------------------------------------------------------------- diff --git a/docs/storage/storage.md b/docs/storage/storage.md index bcfb837..65dc0ef 100644 --- a/docs/storage/storage.md +++ b/docs/storage/storage.md @@ -20,12 +20,12 @@ limitations under the License. ### Notebook Storage Zeppelin has a pluggable notebook storage mechanism controlled by `zeppelin.notebook.storage` configuration option with multiple implementations. -There are few Notebook storages avaialble for a use out of the box: +There are few Notebook storages available for a use out of the box: - (default) all notes are saved in the notebook folder in your local File System - `VFSNotebookRepo` - there is also an option to version it using local Git repository - `GitNotebookRepo` - another option is Amazon S3 service - `S3NotebookRepo` -Multiple storages can be used at the same time by providing a comma-separated list of the calss-names in the confiruration. +Multiple storages can be used at the same time by providing a comma-separated list of the class-names in the configuration. By default, only first two of them will be automatically kept in sync by Zeppelin. </br> @@ -44,7 +44,7 @@ To enable versioning for all your local notebooks though a standard Git reposito </br> #### Notebook Storage in S3 <a name="S3"></a> -For notebook storage in S3 you need the AWS credentials, for this there are three options, the enviroment variable ```AWS_ACCESS_KEY_ID``` and ```AWS_ACCESS_SECRET_KEY```, credentials file in the folder .aws in you home and IAM role for your instance. For complete the need steps is necessary: +For notebook storage in S3 you need the AWS credentials, for this there are three options, the environment variable ```AWS_ACCESS_KEY_ID``` and ```AWS_ACCESS_SECRET_KEY```, credentials file in the folder .aws in you home and IAM role for your instance. For complete the need steps is necessary: </br> you need the following folder structure on S3 @@ -56,14 +56,14 @@ bucket_name/ ``` -set the enviroment variable in the file **zeppelin-env.sh**: +set the environment variable in the file **zeppelin-env.sh**: ``` export ZEPPELIN_NOTEBOOK_S3_BUCKET = bucket_name export ZEPPELIN_NOTEBOOK_S3_USER = username ``` -in the file **zeppelin-site.xml** uncommet and complete the next property: +in the file **zeppelin-site.xml** uncomment and complete the next property: ``` <!--If used S3 to storage, it is necessary the following folder structure bucket_name/username/notebook/-->
