Added: zeppelin/site/docs/0.8.2/interpreter/r.html URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.8.2/interpreter/r.html?rev=1867691&view=auto ============================================================================== --- zeppelin/site/docs/0.8.2/interpreter/r.html (added) +++ zeppelin/site/docs/0.8.2/interpreter/r.html Sun Sep 29 07:08:10 2019 @@ -0,0 +1,410 @@ + +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Apache Zeppelin 0.8.0 Documentation: R Interpreter for Apache Zeppelin</title> + <meta name="description" content="R is a free software environment for statistical computing and graphics."> + <meta name="author" content="The Apache Software Foundation"> + + <!-- Enable responsive viewport --> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <!-- Le HTML5 shim, for IE6-8 support of HTML elements --> + <!--[if lt IE 9]> + <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + + <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> + + <!-- Le styles --> + <link href="/docs/0.8.0/assets/themes//bootstrap/css/bootstrap.css" rel="stylesheet"> + <link href="/docs/0.8.0/assets/themes//css/style.css?body=1" rel="stylesheet" type="text/css"> + <link href="/docs/0.8.0/assets/themes//css/syntax.css" rel="stylesheet" type="text/css" media="screen" /> + <!-- Le fav and touch icons --> + <!-- Update these with your own images + <link rel="shortcut icon" href="images/favicon.ico"> + <link rel="apple-touch-icon" href="images/apple-touch-icon.png"> + <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png"> + <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png"> + --> + + <!-- Js --> + <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> + <script src="/docs/0.8.0/assets/themes//bootstrap/js/bootstrap.min.js"></script> + <script src="/docs/0.8.0/assets/themes//js/docs.js"></script> + <script src="/docs/0.8.0/assets/themes//js/anchor.min.js"></script> + <script src="/docs/0.8.0/assets/themes//js/toc.js"></script> + <script src="/docs/0.8.0/assets/themes//js/lunr.min.js"></script> + <script src="/docs/0.8.0/assets/themes//js/search.js"></script> + + <!-- atom & rss feed --> + <link href="/docs/0.8.0/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed"> + <link href="/docs/0.8.0/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed"> + </head> + + <body> + + <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation"> + <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> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <div class="navbar-brand"> + <a class="navbar-brand-main" href="http://zeppelin.apache.org"> + <img src="/docs/0.8.0/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="/docs/0.8.0" + style="font-size: 15px; color: white;"> 0.8.0 + </a> + </a> + </div> + </div> + <nav class="navbar-collapse collapse" role="navigation"> + <ul class="nav navbar-nav"> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li class="title"><span>Getting Started</span></li> + <li><a href="/docs/0.8.0/quickstart/install.html">Install</a></li> + <li><a href="/docs/0.8.0/quickstart/explore_ui.html">Explore UI</a></li> + <li><a href="/docs/0.8.0/quickstart/tutorial.html">Tutorial</a></li> + <li role="separator" class="divider"></li> + <li><a href="/docs/0.8.0/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li> + <li><a href="/docs/0.8.0/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li> + <li><a href="/docs/0.8.0/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 scrollable-menu"> + <li class="title"><span>Dynamic Form</span></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/usage/display_system/basic.html#text">Text Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/basic.html#html">HTML Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/basic.html#table">Table Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/basic.html#network">Network Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/user_impersonation.html">User Impersonation</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/dependency_management.html">Dependency Management</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/installation.html">Installing Interpreters</a></li> + <!--<li><a href="/docs/0.8.0/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>--> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li> + <li><a href="/docs/0.8.0/usage/other_features/personalized_mode.html">Personalized Mode</a></li> + <li><a href="/docs/0.8.0/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li> + <li><a href="/docs/0.8.0/usage/other_features/notebook_actions.html">Notebook Actions</a></li> + <li><a href="/docs/0.8.0/usage/other_features/cron_scheduler.html">Cron Scheduler</a></li> + <li><a href="/docs/0.8.0/usage/other_features/zeppelin_context.html">Zeppelin Context</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>REST API</span></li> + <li><a href="/docs/0.8.0/usage/rest_api/interpreter.html">Interpreter API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/notebook.html">Notebook API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/configuration.html">Configuration API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/credential.html">Credential API</a></li> + <li><a href="/docs/0.8.0/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 scrollable-menu"> + <li class="title"><span>Basics</span></li> + <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>--> + <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li> + <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li> + <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li> + <li><a href="/docs/0.8.0/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li> + <li><a href="/docs/0.8.0/setup/deployment/cdh.html">Zeppelin on CDH</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li> + <li><a href="/docs/0.8.0/setup/security/shiro_authentication.html">Shiro Authentication</a></li> + <li><a href="/docs/0.8.0/setup/security/notebook_authorization.html">Notebook Authorization</a></li> + <li><a href="/docs/0.8.0/setup/security/datasource_authorization.html">Data Source Authorization</a></li> + <li><a href="/docs/0.8.0/setup/security/http_security_headers.html">HTTP Security Headers</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>Notebook Storage</span></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/setup/operation/configuration.html">Configuration</a></li> + <li><a href="/docs/0.8.0/setup/operation/proxy_setting.html">Proxy Setting</a></li> + <li><a href="/docs/0.8.0/setup/operation/upgrading.html">Upgrading</a></li> + <li><a href="/docs/0.8.0/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 class="title"><span>Interpreters</span></li> + <li><a href="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li> + <li role="separator" class="divider"></li> + <li><a href="/docs/0.8.0/interpreter/spark.html">Spark</a></li> + <li><a href="/docs/0.8.0/interpreter/jdbc.html">JDBC</a></li> + <li><a href="/docs/0.8.0/interpreter/python.html">Python</a></li> + <li role="separator" class="divider"></li> + <li><a href="/docs/0.8.0/interpreter/alluxio.html">Alluxio</a></li> + <li><a href="/docs/0.8.0/interpreter/beam.html">Beam</a></li> + <li><a href="/docs/0.8.0/interpreter/bigquery.html">BigQuery</a></li> + <li><a href="/docs/0.8.0/interpreter/cassandra.html">Cassandra</a></li> + <li><a href="/docs/0.8.0/interpreter/elasticsearch.html">Elasticsearch</a></li> + <li><a href="/docs/0.8.0/interpreter/flink.html">Flink</a></li> + <li><a href="/docs/0.8.0/interpreter/geode.html">Geode</a></li> + <li><a href="/docs/0.8.0/interpreter/groovy.html">Groovy</a></li> + <li><a href="/docs/0.8.0/interpreter/hbase.html">HBase</a></li> + <li><a href="/docs/0.8.0/interpreter/hdfs.html">HDFS</a></li> + <li><a href="/docs/0.8.0/interpreter/hive.html">Hive</a></li> + <li><a href="/docs/0.8.0/interpreter/ignite.html">Ignite</a></li> + <li><a href="/docs/0.8.0/interpreter/kylin.html">Kylin</a></li> + <li><a href="/docs/0.8.0/interpreter/lens.html">Lens</a></li> + <li><a href="/docs/0.8.0/interpreter/livy.html">Livy</a></li> + <li><a href="/docs/0.8.0/interpreter/markdown.html">Markdown</a></li> + <li><a href="/docs/0.8.0/interpreter/neo4j.html">Neo4j</a></li> + <li><a href="/docs/0.8.0/interpreter/pig.html">Pig</a></li> + <li><a href="/docs/0.8.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li> + <li><a href="/docs/0.8.0/interpreter/r.html">R</a></li> + <li><a href="/docs/0.8.0/interpreter/scalding.html">Scalding</a></li> + <li><a href="/docs/0.8.0/interpreter/scio.html">Scio</a></li> + <li><a href="/docs/0.8.0/interpreter/shell.html">Shell</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>Extending Zeppelin</span></li> + <li><a href="/docs/0.8.0/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>Helium (Experimental)</span></li> + <li><a href="/docs/0.8.0/development/helium/overview.html">Overview</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_application.html">Writing Helium Application</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_spell.html">Writing Helium Spell</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_visualization_basic.html">Writing Helium Visualization: Basics</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>Contributing to Zeppelin</span></li> + <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li> + <li><a href="/docs/0.8.0/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li> + <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li> + <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li> + <li role="separator" class="divider"></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> + <a href="/docs/0.8.0/search.html" class="nav-search-link"> + <span class="fa fa-search nav-search-icon"></span> + </a> + </li> + </ul> + </nav><!--/.navbar-collapse --> + </div> + </div> + + + + <div class="content"> + +<!--<div class="hero-unit R Interpreter for Apache Zeppelin"> + <h1></h1> +</div> +--> + +<div class="row"> + <div class="col-md-12"> + <!-- +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. +--> + +<h1>R Interpreter for Apache Zeppelin</h1> + +<div id="toc"></div> + +<h2>Overview</h2> + +<p><a href="https://www.r-project.org">R</a> is a free software environment for statistical computing and graphics.</p> + +<p>To run R code and visualize plots in Apache Zeppelin, you will need R on your master node (or your dev laptop).</p> + +<ul> +<li>For Centos: <code>yum install R R-devel libcurl-devel openssl-devel</code></li> +<li>For Ubuntu: <code>apt-get install r-base</code></li> +</ul> + +<p>Validate your installation with a simple R command:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text"><span></span>R -e "print(1+1)" +</code></pre></div> +<p>To enjoy plots, install additional libraries with:</p> + +<ul> +<li>devtools with </li> +</ul> +<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span></span> R -e <span class="s2">"install.packages('devtools', repos = 'http://cran.us.r-project.org')"</span> +</code></pre></div> +<ul> +<li>knitr with </li> +</ul> +<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span></span> R -e <span class="s2">"install.packages('knitr', repos = 'http://cran.us.r-project.org')"</span> +</code></pre></div> +<ul> +<li>ggplot2 with</li> +</ul> +<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span></span> R -e <span class="s2">"install.packages('ggplot2', repos = 'http://cran.us.r-project.org')"</span> +</code></pre></div> +<ul> +<li>Other visualization libraries: </li> +</ul> +<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span></span> R -e <span class="s2">"install.packages(c('devtools','mplot', 'googleVis'), repos = 'http://cran.us.r-project.org'); </span> +<span class="s2"> require(devtools); install_github('ramnathv/rCharts')"</span> +</code></pre></div> +<p>We recommend you to also install the following optional R libraries for happy data analytics:</p> + +<ul> +<li>glmnet</li> +<li>pROC</li> +<li>data.table</li> +<li>caret</li> +<li>sqldf</li> +<li>wordcloud</li> +</ul> + +<h2>Configuration</h2> + +<p>To run Zeppelin with the R Interpreter, the <code>SPARK_HOME</code> environment variable must be set. The best way to do this is by editing <code>conf/zeppelin-env.sh</code>. +If it is not set, the R Interpreter will not be able to interface with Spark.</p> + +<p>You should also copy <code>conf/zeppelin-site.xml.template</code> to <code>conf/zeppelin-site.xml</code>. That will ensure that Zeppelin sees the R Interpreter the first time it starts up.</p> + +<h2>Using the R Interpreter</h2> + +<p>By default, the R Interpreter appears as two Zeppelin Interpreters, <code>%r</code> and <code>%knitr</code>.</p> + +<p><code>%r</code> will behave like an ordinary REPL. You can execute commands as in the CLI. </p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/repl2plus2.png" width="700px"/></p> + +<p>R base plotting is fully supported</p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/replhist.png" width="550px"/></p> + +<p>If you return a data.frame, Zeppelin will attempt to display it using Zeppelin's built-in visualizations.</p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/replhead.png" width="550px"/></p> + +<p><code>%knitr</code> interfaces directly against <code>knitr</code>, with chunk options on the first line:</p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/knitgeo.png" width="550px"/></p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/knitstock.png" width="550px"/></p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/knitmotion.png" width="550px"/></p> + +<p>The two interpreters share the same environment. If you define a variable from <code>%r</code>, it will be within-scope if you then make a call using <code>knitr</code>.</p> + +<h2>Using SparkR & Moving Between Languages</h2> + +<p>If <code>SPARK_HOME</code> is set, the <code>SparkR</code> package will be loaded automatically:</p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/sparkrfaithful.png" width="550px"/></p> + +<p>The Spark Context and SQL Context are created and injected into the local environment automatically as <code>sc</code> and <code>sql</code>.</p> + +<p>The same context are shared with the <code>%spark</code>, <code>%sql</code> and <code>%pyspark</code> interpreters:</p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/backtoscala.png" width="700px"/></p> + +<p>You can also make an ordinary R variable accessible in scala and Python:</p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/varr1.png" width="550px"/></p> + +<p>And vice versa:</p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/varscala.png" width="550px"/></p> + +<p><img class="img-responsive" src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/varr2.png" width="550px"/></p> + +<h2>Caveats & Troubleshooting</h2> + +<ul> +<li><p>Almost all issues with the R interpreter turned out to be caused by an incorrectly set <code>SPARK_HOME</code>. The R interpreter must load a version of the <code>SparkR</code> package that matches the running version of Spark, and it does this by searching <code>SPARK_HOME</code>. If Zeppelin isn't configured to interface with Spark in <code>SPARK_HOME</code>, the R interpreter will not be able to connect to Spark.</p></li> +<li><p>The <code>knitr</code> 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.</p></li> +<li><p>(Note that <code>%spark.r</code> and <code>%r</code> are two different ways of calling the same interpreter, as are <code>%spark.knitr</code> and <code>%knitr</code>. By default, Zeppelin puts the R interpreters in the <code>%spark.</code> Interpreter Group.</p></li> +<li><p>Using the <code>%r</code> interpreter, if you return a data.frame, HTML, or an image, it will dominate the result. So if you execute three commands, and one is <code>hist()</code>, all you will see is the histogram, not the results of the other commands. This is a Zeppelin limitation.</p></li> +<li><p>If you return a data.frame (for instance, from calling <code>head()</code>) from the <code>%spark.r</code> interpreter, it will be parsed by Zeppelin's built-in data visualization system. </p></li> +<li><p>Why <code>knitr</code> Instead of <code>rmarkdown</code>? Why no <code>htmlwidgets</code>? In order to support <code>htmlwidgets</code>, which has indirect dependencies, <code>rmarkdown</code> uses <code>pandoc</code>, which requires writing to and reading from disc. This makes it many times slower than <code>knitr</code>, which can operate entirely in RAM.</p></li> +<li><p>Why no <code>ggvis</code> or <code>shiny</code>? Supporting <code>shiny</code> would require integrating a reverse-proxy into Zeppelin, which is a task.</p></li> +<li><p>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 <code>r</code> and <code>R</code> become the same subdirectory.</p></li> +<li><p>Error <code>unable to start device X11</code> with the repl interpreter. Check your shell login scripts to see if they are adjusting the <code>DISPLAY</code> environment variable. This is common on some operating systems as a workaround for ssh issues, but can interfere with R plotting.</p></li> +<li><p>akka Library Version or <code>TTransport</code> 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 <code>-Pspark-1.x</code> when Zeppelin was compiled.</p></li> +</ul> + + </div> +</div> + + + <hr> + <footer> + <!-- <p>© 2019 The Apache Software Foundation</p>--> + </footer> + </div> + + + + + <script type="text/javascript"> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-45176241-5', 'zeppelin.apache.org'); + ga('require', 'linkid', 'linkid.js'); + ga('send', 'pageview'); + +</script> + + + + </body> +</html> +
Propchange: zeppelin/site/docs/0.8.2/interpreter/r.html ------------------------------------------------------------------------------ svn:executable = * Added: zeppelin/site/docs/0.8.2/interpreter/sap.html URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.8.2/interpreter/sap.html?rev=1867691&view=auto ============================================================================== --- zeppelin/site/docs/0.8.2/interpreter/sap.html (added) +++ zeppelin/site/docs/0.8.2/interpreter/sap.html Sun Sep 29 07:08:10 2019 @@ -0,0 +1,426 @@ + +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Apache Zeppelin 0.8.0 Documentation: SAP BusinessObjects Interpreter for Apache Zeppelin</title> + <meta name="description" content="SAP BusinessObjects BI platform can simplify the lives of business users and IT staff. SAP BusinessObjects is based on universes. The universe contains dual-semantic layer model. The users make queries upon universes. This interpreter is new interface for universes."> + <meta name="author" content="The Apache Software Foundation"> + + <!-- Enable responsive viewport --> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <!-- Le HTML5 shim, for IE6-8 support of HTML elements --> + <!--[if lt IE 9]> + <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + + <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> + + <!-- Le styles --> + <link href="/docs/0.8.0/assets/themes//bootstrap/css/bootstrap.css" rel="stylesheet"> + <link href="/docs/0.8.0/assets/themes//css/style.css?body=1" rel="stylesheet" type="text/css"> + <link href="/docs/0.8.0/assets/themes//css/syntax.css" rel="stylesheet" type="text/css" media="screen" /> + <!-- Le fav and touch icons --> + <!-- Update these with your own images + <link rel="shortcut icon" href="images/favicon.ico"> + <link rel="apple-touch-icon" href="images/apple-touch-icon.png"> + <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png"> + <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png"> + --> + + <!-- Js --> + <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> + <script src="/docs/0.8.0/assets/themes//bootstrap/js/bootstrap.min.js"></script> + <script src="/docs/0.8.0/assets/themes//js/docs.js"></script> + <script src="/docs/0.8.0/assets/themes//js/anchor.min.js"></script> + <script src="/docs/0.8.0/assets/themes//js/toc.js"></script> + <script src="/docs/0.8.0/assets/themes//js/lunr.min.js"></script> + <script src="/docs/0.8.0/assets/themes//js/search.js"></script> + + <!-- atom & rss feed --> + <link href="/docs/0.8.0/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed"> + <link href="/docs/0.8.0/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed"> + </head> + + <body> + + <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation"> + <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> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <div class="navbar-brand"> + <a class="navbar-brand-main" href="http://zeppelin.apache.org"> + <img src="/docs/0.8.0/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="/docs/0.8.0" + style="font-size: 15px; color: white;"> 0.8.0 + </a> + </a> + </div> + </div> + <nav class="navbar-collapse collapse" role="navigation"> + <ul class="nav navbar-nav"> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li class="title"><span>Getting Started</span></li> + <li><a href="/docs/0.8.0/quickstart/install.html">Install</a></li> + <li><a href="/docs/0.8.0/quickstart/explore_ui.html">Explore UI</a></li> + <li><a href="/docs/0.8.0/quickstart/tutorial.html">Tutorial</a></li> + <li role="separator" class="divider"></li> + <li><a href="/docs/0.8.0/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li> + <li><a href="/docs/0.8.0/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li> + <li><a href="/docs/0.8.0/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 scrollable-menu"> + <li class="title"><span>Dynamic Form</span></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/usage/display_system/basic.html#text">Text Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/basic.html#html">HTML Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/basic.html#table">Table Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/basic.html#network">Network Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/user_impersonation.html">User Impersonation</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/dependency_management.html">Dependency Management</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/installation.html">Installing Interpreters</a></li> + <!--<li><a href="/docs/0.8.0/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>--> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li> + <li><a href="/docs/0.8.0/usage/other_features/personalized_mode.html">Personalized Mode</a></li> + <li><a href="/docs/0.8.0/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li> + <li><a href="/docs/0.8.0/usage/other_features/notebook_actions.html">Notebook Actions</a></li> + <li><a href="/docs/0.8.0/usage/other_features/cron_scheduler.html">Cron Scheduler</a></li> + <li><a href="/docs/0.8.0/usage/other_features/zeppelin_context.html">Zeppelin Context</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>REST API</span></li> + <li><a href="/docs/0.8.0/usage/rest_api/interpreter.html">Interpreter API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/notebook.html">Notebook API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/configuration.html">Configuration API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/credential.html">Credential API</a></li> + <li><a href="/docs/0.8.0/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 scrollable-menu"> + <li class="title"><span>Basics</span></li> + <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>--> + <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li> + <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li> + <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li> + <li><a href="/docs/0.8.0/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li> + <li><a href="/docs/0.8.0/setup/deployment/cdh.html">Zeppelin on CDH</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li> + <li><a href="/docs/0.8.0/setup/security/shiro_authentication.html">Shiro Authentication</a></li> + <li><a href="/docs/0.8.0/setup/security/notebook_authorization.html">Notebook Authorization</a></li> + <li><a href="/docs/0.8.0/setup/security/datasource_authorization.html">Data Source Authorization</a></li> + <li><a href="/docs/0.8.0/setup/security/http_security_headers.html">HTTP Security Headers</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>Notebook Storage</span></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/setup/operation/configuration.html">Configuration</a></li> + <li><a href="/docs/0.8.0/setup/operation/proxy_setting.html">Proxy Setting</a></li> + <li><a href="/docs/0.8.0/setup/operation/upgrading.html">Upgrading</a></li> + <li><a href="/docs/0.8.0/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 class="title"><span>Interpreters</span></li> + <li><a href="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li> + <li role="separator" class="divider"></li> + <li><a href="/docs/0.8.0/interpreter/spark.html">Spark</a></li> + <li><a href="/docs/0.8.0/interpreter/jdbc.html">JDBC</a></li> + <li><a href="/docs/0.8.0/interpreter/python.html">Python</a></li> + <li role="separator" class="divider"></li> + <li><a href="/docs/0.8.0/interpreter/alluxio.html">Alluxio</a></li> + <li><a href="/docs/0.8.0/interpreter/beam.html">Beam</a></li> + <li><a href="/docs/0.8.0/interpreter/bigquery.html">BigQuery</a></li> + <li><a href="/docs/0.8.0/interpreter/cassandra.html">Cassandra</a></li> + <li><a href="/docs/0.8.0/interpreter/elasticsearch.html">Elasticsearch</a></li> + <li><a href="/docs/0.8.0/interpreter/flink.html">Flink</a></li> + <li><a href="/docs/0.8.0/interpreter/geode.html">Geode</a></li> + <li><a href="/docs/0.8.0/interpreter/groovy.html">Groovy</a></li> + <li><a href="/docs/0.8.0/interpreter/hbase.html">HBase</a></li> + <li><a href="/docs/0.8.0/interpreter/hdfs.html">HDFS</a></li> + <li><a href="/docs/0.8.0/interpreter/hive.html">Hive</a></li> + <li><a href="/docs/0.8.0/interpreter/ignite.html">Ignite</a></li> + <li><a href="/docs/0.8.0/interpreter/kylin.html">Kylin</a></li> + <li><a href="/docs/0.8.0/interpreter/lens.html">Lens</a></li> + <li><a href="/docs/0.8.0/interpreter/livy.html">Livy</a></li> + <li><a href="/docs/0.8.0/interpreter/markdown.html">Markdown</a></li> + <li><a href="/docs/0.8.0/interpreter/neo4j.html">Neo4j</a></li> + <li><a href="/docs/0.8.0/interpreter/pig.html">Pig</a></li> + <li><a href="/docs/0.8.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li> + <li><a href="/docs/0.8.0/interpreter/r.html">R</a></li> + <li><a href="/docs/0.8.0/interpreter/scalding.html">Scalding</a></li> + <li><a href="/docs/0.8.0/interpreter/scio.html">Scio</a></li> + <li><a href="/docs/0.8.0/interpreter/shell.html">Shell</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>Extending Zeppelin</span></li> + <li><a href="/docs/0.8.0/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>Helium (Experimental)</span></li> + <li><a href="/docs/0.8.0/development/helium/overview.html">Overview</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_application.html">Writing Helium Application</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_spell.html">Writing Helium Spell</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_visualization_basic.html">Writing Helium Visualization: Basics</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>Contributing to Zeppelin</span></li> + <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li> + <li><a href="/docs/0.8.0/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li> + <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li> + <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li> + <li role="separator" class="divider"></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> + <a href="/docs/0.8.0/search.html" class="nav-search-link"> + <span class="fa fa-search nav-search-icon"></span> + </a> + </li> + </ul> + </nav><!--/.navbar-collapse --> + </div> + </div> + + + + <div class="content"> + +<!--<div class="hero-unit SAP BusinessObjects Interpreter for Apache Zeppelin"> + <h1></h1> +</div> +--> + +<div class="row"> + <div class="col-md-12"> + <!-- + +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. + +--> + +<h1>SAP BusinessObjects (Universe) Interpreter for Apache Zeppelin</h1> + +<div id="toc"></div> + +<h2>Overview</h2> + +<p><a href="https://help.sap.com/viewer/p/SAP_BUSINESSOBJECTS_BUSINESS_INTELLIGENCE_PLATFORM">SAP BusinessObjects BI platform (universes)</a> can simplify the lives of business users and IT staff. SAP BusinessObjects is based on universes. The universe contains dual-semantic layer model. The users make queries upon universes. This interpreter is new interface for universes.</p> + +<p><em>Disclaimer</em> SAP interpreter is not official interpreter for SAP BusinessObjects BI platform. It uses <a href="https://help.sap.com/viewer/5431204882b44fc98d56bd752e69f132/4.2.5/en-US/ec54808e6fdb101497906a7cb0e91070.html">BI Semantic Layer REST API</a></p> + +<p>This interpreter is not directly supported by SAP AG.</p> + +<p>Tested with versions 4.2SP3 (14.2.3.2220) and 4.2SP5. There is no support for filters in UNX-universes converted from old UNV format.</p> + +<p>The universe name must be unique.</p> + +<h2>Configuring SAP Universe Interpreter</h2> + +<p>At the "Interpreters" menu, you can edit SAP interpreter or create new one. Zeppelin provides these properties for SAP.</p> + +<table class="table-configuration"> + <tr> + <th>Property Name</th> + <th>Value</th> + <th>Description</th> + </tr> + <tr> + <td>universe.api.url</td> + <td>http://localhost:6405/biprws</td> + <td>The base url for the SAP BusinessObjects BI platform. You have to edit "localhost" that you may use (ex. http://0.0.0.0:6405/biprws)</td> + </tr> + <tr> + <td>universe.authType</td> + <td>secEnterprise</td> + <td>The type of authentication for API of Universe. Available values: secEnterprise, secLDAP, secWinAD, secSAPR3</td> + </tr> + <tr> + <td>universe.password</td> + <td></td> + <td>The BI platform user password</td> + </tr> + <tr> + <td>universe.user</td> + <td>Administrator</td> + <td>The BI platform user login</td> + </tr> +</table> + +<p><img src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/sap-interpreter-setting.png" alt="SAP Interpreter Setting"></p> + +<h3>How to use</h3> + +<p><li> Choose the universe +<li> Choose dimensions and measures in <code>select</code> statement +<li> Define conditions in <code>where</code> statement +You can compare two dimensions/measures or use Filter (without value). +Dimesions/Measures can be compared with static values, may be <code>is null</code> or <code>is not null</code>, contains or not in list. +Available the nested conditions (using braces "()"). "and" operator have more priority than "or". </p> + +<p>If generated query contains promtps, then promtps will appear as dynamic form after paragraph submitting.</p> + +<p>Example query</p> +<div class="highlight"><pre><code class="language-sql" data-lang="sql"><span></span><span class="o">%</span><span class="n">sap</span> + +<span class="n">universe</span> <span class="p">[</span><span class="n">Universe</span> <span class="n">Name</span><span class="p">];</span> + +<span class="k">select</span> + + <span class="p">[</span><span class="n">Folder1</span><span class="p">].[</span><span class="n">Dimension2</span><span class="p">],</span> + + <span class="p">[</span><span class="n">Folder2</span><span class="p">].[</span><span class="n">Dimension3</span><span class="p">],</span> + + <span class="p">[</span><span class="n">Measure1</span><span class="p">]</span> + +<span class="k">where</span> + + <span class="p">[</span><span class="n">Filter1</span><span class="p">]</span> + + <span class="k">and</span> <span class="p">[</span><span class="nb">Date</span><span class="p">]</span> <span class="o">></span> <span class="s1">'2018-01-01 00:00:00'</span> + + <span class="k">and</span> <span class="p">[</span><span class="n">Folder1</span><span class="p">].[</span><span class="n">Dimension4</span><span class="p">]</span> <span class="k">is</span> <span class="k">not</span> <span class="k">null</span> + + <span class="k">and</span> <span class="p">[</span><span class="n">Folder1</span><span class="p">].[</span><span class="n">Dimension5</span><span class="p">]</span> <span class="k">in</span> <span class="p">(</span><span class="s1">'Value1'</span><span class="p">,</span> <span class="s1">'Value2'</span><span class="p">);</span> +</code></pre></div> +<p><<<<<<< HEAD</p> + +<h3><code>distinct</code> keyword</h3> + +<p>You can write keyword <code>distinct</code> after keyword <code>select</code> to return only distinct (different) values.</p> + +<p>Example query +```sql +%sap +universe [Universe Name];</p> + +<p>select distinct + [Folder1].[Dimension2], [Measure1] +where + [Filter1]; +```</p> + +<h3><code>limit</code> keyword</h3> + +<p>You can write keyword <code>limit</code> and limit value in the end of query to limit the number of records returned based on a limit value.</p> + +<p>Example query +```sql +%sap +universe [Universe Name];</p> + +<p>select + [Folder1].[Dimension2], [Measure1] +where + [Filter1] +limit 100; +```</p> + +<h2>Object Interpolation</h2> + +<p>The SAP interpreter also supports interpolation of <code>ZeppelinContext</code> objects into the paragraph text. +To enable this feature set <code>universe.interpolation</code> to <code>true</code>. The following example shows one use of this facility:</p> + +<h4>In Scala cell:</h4> +<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span></span><span class="n">z</span><span class="o">.</span><span class="n">put</span><span class="o">(</span><span class="s">"curr_date"</span><span class="o">,</span> <span class="s">"2018-01-01 00:00:00"</span><span class="o">)</span> +</code></pre></div> +<h4>In later SAP cell:</h4> +<div class="highlight"><pre><code class="language-sql" data-lang="sql"><span></span><span class="k">where</span> + <span class="p">[</span><span class="n">Filter1</span><span class="p">]</span> + <span class="k">and</span> <span class="p">[</span><span class="nb">Date</span><span class="p">]</span> <span class="o">></span> <span class="s1">'{curr_date}'</span> +</code></pre></div> + </div> +</div> + + + <hr> + <footer> + <!-- <p>© 2019 The Apache Software Foundation</p>--> + </footer> + </div> + + + + + <script type="text/javascript"> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-45176241-5', 'zeppelin.apache.org'); + ga('require', 'linkid', 'linkid.js'); + ga('send', 'pageview'); + +</script> + + + + </body> +</html> + Propchange: zeppelin/site/docs/0.8.2/interpreter/sap.html ------------------------------------------------------------------------------ svn:executable = * Added: zeppelin/site/docs/0.8.2/interpreter/scalding.html URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.8.2/interpreter/scalding.html?rev=1867691&view=auto ============================================================================== --- zeppelin/site/docs/0.8.2/interpreter/scalding.html (added) +++ zeppelin/site/docs/0.8.2/interpreter/scalding.html Sun Sep 29 07:08:10 2019 @@ -0,0 +1,419 @@ + +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>Apache Zeppelin 0.8.0 Documentation: Scalding Interpreter for Apache Zeppelin</title> + <meta name="description" content="Scalding is an open source Scala library for writing MapReduce jobs."> + <meta name="author" content="The Apache Software Foundation"> + + <!-- Enable responsive viewport --> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <!-- Le HTML5 shim, for IE6-8 support of HTML elements --> + <!--[if lt IE 9]> + <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + + <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> + + <!-- Le styles --> + <link href="/docs/0.8.0/assets/themes//bootstrap/css/bootstrap.css" rel="stylesheet"> + <link href="/docs/0.8.0/assets/themes//css/style.css?body=1" rel="stylesheet" type="text/css"> + <link href="/docs/0.8.0/assets/themes//css/syntax.css" rel="stylesheet" type="text/css" media="screen" /> + <!-- Le fav and touch icons --> + <!-- Update these with your own images + <link rel="shortcut icon" href="images/favicon.ico"> + <link rel="apple-touch-icon" href="images/apple-touch-icon.png"> + <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png"> + <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png"> + --> + + <!-- Js --> + <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> + <script src="/docs/0.8.0/assets/themes//bootstrap/js/bootstrap.min.js"></script> + <script src="/docs/0.8.0/assets/themes//js/docs.js"></script> + <script src="/docs/0.8.0/assets/themes//js/anchor.min.js"></script> + <script src="/docs/0.8.0/assets/themes//js/toc.js"></script> + <script src="/docs/0.8.0/assets/themes//js/lunr.min.js"></script> + <script src="/docs/0.8.0/assets/themes//js/search.js"></script> + + <!-- atom & rss feed --> + <link href="/docs/0.8.0/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed"> + <link href="/docs/0.8.0/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed"> + </head> + + <body> + + <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation"> + <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> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <div class="navbar-brand"> + <a class="navbar-brand-main" href="http://zeppelin.apache.org"> + <img src="/docs/0.8.0/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="/docs/0.8.0" + style="font-size: 15px; color: white;"> 0.8.0 + </a> + </a> + </div> + </div> + <nav class="navbar-collapse collapse" role="navigation"> + <ul class="nav navbar-nav"> + <li> + <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li class="title"><span>Getting Started</span></li> + <li><a href="/docs/0.8.0/quickstart/install.html">Install</a></li> + <li><a href="/docs/0.8.0/quickstart/explore_ui.html">Explore UI</a></li> + <li><a href="/docs/0.8.0/quickstart/tutorial.html">Tutorial</a></li> + <li role="separator" class="divider"></li> + <li><a href="/docs/0.8.0/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li> + <li><a href="/docs/0.8.0/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li> + <li><a href="/docs/0.8.0/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 scrollable-menu"> + <li class="title"><span>Dynamic Form</span></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/usage/display_system/basic.html#text">Text Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/basic.html#html">HTML Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/basic.html#table">Table Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/basic.html#network">Network Display</a></li> + <li><a href="/docs/0.8.0/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/user_impersonation.html">User Impersonation</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/dependency_management.html">Dependency Management</a></li> + <li><a href="/docs/0.8.0/usage/interpreter/installation.html">Installing Interpreters</a></li> + <!--<li><a href="/docs/0.8.0/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>--> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li> + <li><a href="/docs/0.8.0/usage/other_features/personalized_mode.html">Personalized Mode</a></li> + <li><a href="/docs/0.8.0/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li> + <li><a href="/docs/0.8.0/usage/other_features/notebook_actions.html">Notebook Actions</a></li> + <li><a href="/docs/0.8.0/usage/other_features/cron_scheduler.html">Cron Scheduler</a></li> + <li><a href="/docs/0.8.0/usage/other_features/zeppelin_context.html">Zeppelin Context</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>REST API</span></li> + <li><a href="/docs/0.8.0/usage/rest_api/interpreter.html">Interpreter API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/notebook.html">Notebook API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/configuration.html">Configuration API</a></li> + <li><a href="/docs/0.8.0/usage/rest_api/credential.html">Credential API</a></li> + <li><a href="/docs/0.8.0/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 scrollable-menu"> + <li class="title"><span>Basics</span></li> + <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>--> + <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li> + <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li> + <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li> + <li><a href="/docs/0.8.0/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li> + <li><a href="/docs/0.8.0/setup/deployment/cdh.html">Zeppelin on CDH</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li> + <li><a href="/docs/0.8.0/setup/security/shiro_authentication.html">Shiro Authentication</a></li> + <li><a href="/docs/0.8.0/setup/security/notebook_authorization.html">Notebook Authorization</a></li> + <li><a href="/docs/0.8.0/setup/security/datasource_authorization.html">Data Source Authorization</a></li> + <li><a href="/docs/0.8.0/setup/security/http_security_headers.html">HTTP Security Headers</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>Notebook Storage</span></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li> + <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li> + <li><a href="/docs/0.8.0/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="/docs/0.8.0/setup/operation/configuration.html">Configuration</a></li> + <li><a href="/docs/0.8.0/setup/operation/proxy_setting.html">Proxy Setting</a></li> + <li><a href="/docs/0.8.0/setup/operation/upgrading.html">Upgrading</a></li> + <li><a href="/docs/0.8.0/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 class="title"><span>Interpreters</span></li> + <li><a href="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li> + <li role="separator" class="divider"></li> + <li><a href="/docs/0.8.0/interpreter/spark.html">Spark</a></li> + <li><a href="/docs/0.8.0/interpreter/jdbc.html">JDBC</a></li> + <li><a href="/docs/0.8.0/interpreter/python.html">Python</a></li> + <li role="separator" class="divider"></li> + <li><a href="/docs/0.8.0/interpreter/alluxio.html">Alluxio</a></li> + <li><a href="/docs/0.8.0/interpreter/beam.html">Beam</a></li> + <li><a href="/docs/0.8.0/interpreter/bigquery.html">BigQuery</a></li> + <li><a href="/docs/0.8.0/interpreter/cassandra.html">Cassandra</a></li> + <li><a href="/docs/0.8.0/interpreter/elasticsearch.html">Elasticsearch</a></li> + <li><a href="/docs/0.8.0/interpreter/flink.html">Flink</a></li> + <li><a href="/docs/0.8.0/interpreter/geode.html">Geode</a></li> + <li><a href="/docs/0.8.0/interpreter/groovy.html">Groovy</a></li> + <li><a href="/docs/0.8.0/interpreter/hbase.html">HBase</a></li> + <li><a href="/docs/0.8.0/interpreter/hdfs.html">HDFS</a></li> + <li><a href="/docs/0.8.0/interpreter/hive.html">Hive</a></li> + <li><a href="/docs/0.8.0/interpreter/ignite.html">Ignite</a></li> + <li><a href="/docs/0.8.0/interpreter/kylin.html">Kylin</a></li> + <li><a href="/docs/0.8.0/interpreter/lens.html">Lens</a></li> + <li><a href="/docs/0.8.0/interpreter/livy.html">Livy</a></li> + <li><a href="/docs/0.8.0/interpreter/markdown.html">Markdown</a></li> + <li><a href="/docs/0.8.0/interpreter/neo4j.html">Neo4j</a></li> + <li><a href="/docs/0.8.0/interpreter/pig.html">Pig</a></li> + <li><a href="/docs/0.8.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li> + <li><a href="/docs/0.8.0/interpreter/r.html">R</a></li> + <li><a href="/docs/0.8.0/interpreter/scalding.html">Scalding</a></li> + <li><a href="/docs/0.8.0/interpreter/scio.html">Scio</a></li> + <li><a href="/docs/0.8.0/interpreter/shell.html">Shell</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>Extending Zeppelin</span></li> + <li><a href="/docs/0.8.0/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>Helium (Experimental)</span></li> + <li><a href="/docs/0.8.0/development/helium/overview.html">Overview</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_application.html">Writing Helium Application</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_spell.html">Writing Helium Spell</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_visualization_basic.html">Writing Helium Visualization: Basics</a></li> + <li><a href="/docs/0.8.0/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li> + <li role="separator" class="divider"></li> + <li class="title"><span>Contributing to Zeppelin</span></li> + <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li> + <li><a href="/docs/0.8.0/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li> + <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li> + <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li> + <li role="separator" class="divider"></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> + <a href="/docs/0.8.0/search.html" class="nav-search-link"> + <span class="fa fa-search nav-search-icon"></span> + </a> + </li> + </ul> + </nav><!--/.navbar-collapse --> + </div> + </div> + + + + <div class="content"> + +<!--<div class="hero-unit Scalding Interpreter for Apache Zeppelin"> + <h1></h1> +</div> +--> + +<div class="row"> + <div class="col-md-12"> + <!-- +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. +--> + +<h1>Scalding Interpreter for Apache Zeppelin</h1> + +<div id="toc"></div> + +<p><a href="https://github.com/twitter/scalding">Scalding</a> is an open source Scala library for writing MapReduce jobs.</p> + +<h2>Building the Scalding Interpreter</h2> + +<p>You have to first build the Scalding interpreter by enable the <strong>scalding</strong> profile as follows:</p> +<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span></span>mvn clean package -Pscalding -DskipTests +</code></pre></div> +<h2>Enabling the Scalding Interpreter</h2> + +<p>In a notebook, to enable the <strong>Scalding</strong> interpreter, click on the <strong>Gear</strong> icon,select <strong>Scalding</strong>, and hit <strong>Save</strong>.</p> + +<p><center></p> + +<p><img src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/scalding-InterpreterBinding.png" alt="Interpreter Binding"></p> + +<p><img src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/scalding-InterpreterSelection.png" alt="Interpreter Selection"></p> + +<p></center></p> + +<h2>Configuring the Interpreter</h2> + +<p>Scalding interpreter runs in two modes:</p> + +<ul> +<li>local</li> +<li>hdfs</li> +</ul> + +<p>In the local mode, you can access files on the local server and scalding transformation are done locally.</p> + +<p>In hdfs mode you can access files in HDFS and scalding transformation are run as hadoop map-reduce jobs.</p> + +<p>Zeppelin comes with a pre-configured Scalding interpreter in local mode.</p> + +<p>To run the scalding interpreter in the hdfs mode you have to do the following:</p> + +<p><strong>Set the classpath with ZEPPELIN_CLASSPATH_OVERRIDES</strong></p> + +<p>In conf/zeppelin<em>env.sh, you have to set +ZEPPELIN</em>CLASSPATH_OVERRIDES to the contents of 'hadoop classpath' +and directories with custom jar files you need for your scalding commands.</p> + +<p><strong>Set arguments to the scalding repl</strong></p> + +<p>The default arguments are: <code>--local --repl</code></p> + +<p>For hdfs mode you need to add: <code>--hdfs --repl</code></p> + +<p>If you want to add custom jars, you need to add: <code>-libjars directory/*:directory/*</code></p> + +<p>For reducer estimation, you need to add something like: +<code>-Dscalding.reducer.estimator.classes=com.twitter.scalding.reducer_estimation.InputSizeReducerEstimator</code></p> + +<p><strong>Set max.open.instances</strong></p> + +<p>If you want to control the maximum number of open interpreters, you have to select "scoped" interpreter for note +option and set <code>max.open.instances</code> argument.</p> + +<h2>Testing the Interpreter</h2> + +<h3>Local mode</h3> + +<p>In example, by using the <a href="https://gist.github.com/johnynek/a47699caa62f4f38a3e2">Alice in Wonderland</a> tutorial, +we will count words (of course!), and plot a graph of the top 10 words in the book.</p> +<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span></span><span class="o">%</span><span class="n">scalding</span> + +<span class="k">import</span> <span class="nn">scala.io.Source</span> + +<span class="c1">// Get the Alice in Wonderland book from gutenberg.org:</span> +<span class="k">val</span> <span class="n">alice</span> <span class="k">=</span> <span class="nc">Source</span><span class="o">.</span><span class="n">fromURL</span><span class="o">(</span><span class="s">"http://www.gutenberg.org/files/11/11.txt"</span><span class="o">).</span><span class="n">getLines</span> +<span class="k">val</span> <span class="n">aliceLineNum</span> <span class="k">=</span> <span class="n">alice</span><span class="o">.</span><span class="n">zipWithIndex</span><span class="o">.</span><span class="n">toList</span> +<span class="k">val</span> <span class="n">alicePipe</span> <span class="k">=</span> <span class="nc">TypedPipe</span><span class="o">.</span><span class="n">from</span><span class="o">(</span><span class="n">aliceLineNum</span><span class="o">)</span> + +<span class="c1">// Now get a list of words for the book:</span> +<span class="k">val</span> <span class="n">aliceWords</span> <span class="k">=</span> <span class="n">alicePipe</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">case</span> <span class="o">(</span><span class="n">text</span><span class="o">,</span> <span class="k">_</span><span class="o">)</span> <span class="k">=></span> <span class="n">text</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">"\\s+"</span><span class="o">).</span><span class="n">toList</span> <span class="o">}</span> + +<span class="c1">// Now lets add a count for each word:</span> +<span class="k">val</span> <span class="n">aliceWithCount</span> <span class="k">=</span> <span class="n">aliceWords</span><span class="o">.</span><span class="n">filterNot</span><span class="o">(</span><span class="k">_</span><span class="o">.</span><span class="n">equals</span><span class="o">(</span><span class="s">""</span><span class="o">)).</span><span class="n">map</span> <span class="o">{</span> <span class="n">word</span> <span class="k">=></span> <span class="o">(</span><span class="n">word</span><span class="o">,</span> <span class="mi">1L</span><span class="o">)</span> <span class="o">}</span> + +<span class="c1">// let's sum them for each word:</span> +<span class="k">val</span> <span class="n">wordCount</span> <span class="k">=</span> <span class="n">aliceWithCount</span><span class="o">.</span><span class="n">group</span><span class="o">.</span><span class="n">sum</span> + +<span class="n">print</span> <span class="o">(</span><span class="s">"Here are the top 10 words\n"</span><span class="o">)</span> +<span class="k">val</span> <span class="n">top10</span> <span class="k">=</span> <span class="n">wordCount</span> + <span class="o">.</span><span class="n">groupAll</span> + <span class="o">.</span><span class="n">sortBy</span> <span class="o">{</span> <span class="k">case</span> <span class="o">(</span><span class="n">word</span><span class="o">,</span> <span class="n">count</span><span class="o">)</span> <span class="k">=></span> <span class="o">-</span><span class="n">count</span> <span class="o">}</span> + <span class="o">.</span><span class="n">take</span><span class="o">(</span><span class="mi">10</span><span class="o">)</span> +<span class="n">top10</span><span class="o">.</span><span class="n">dump</span> +</code></pre></div><div class="highlight"><pre><code class="language-text" data-lang="text"><span></span>%scalding + +val table = "words\t count\n" + top10.toIterator.map{case (k, (word, count)) => s"$word\t$count"}.mkString("\n") +print("%table " + table) +</code></pre></div> +<p>If you click on the icon for the pie chart, you should be able to see a chart like this: +<img src="/docs/0.8.0/assets/themes/zeppelin/img/docs-img/scalding-pie.png" alt="Scalding - Pie - Chart"></p> + +<h3>HDFS mode</h3> + +<p><strong>Test mode</strong></p> +<div class="highlight"><pre><code class="language-text" data-lang="text"><span></span>%scalding +mode +</code></pre></div> +<p>This command should print:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text"><span></span>res4: com.twitter.scalding.Mode = Hdfs(true,Configuration: core-default.xml, core-site.xml, mapred-default.xml, mapred-site.xml, yarn-default.xml, yarn-site.xml, hdfs-default.xml, hdfs-site.xml) +</code></pre></div> +<p><strong>Test HDFS read</strong></p> +<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span></span><span class="k">val</span> <span class="n">testfile</span> <span class="k">=</span> <span class="nc">TypedPipe</span><span class="o">.</span><span class="n">from</span><span class="o">(</span><span class="nc">TextLine</span><span class="o">(</span><span class="s">"/user/x/testfile"</span><span class="o">))</span> +<span class="n">testfile</span><span class="o">.</span><span class="n">dump</span> +</code></pre></div> +<p>This command should print the contents of the hdfs file /user/x/testfile.</p> + +<p><strong>Test map-reduce job</strong></p> +<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span></span><span class="k">val</span> <span class="n">testfile</span> <span class="k">=</span> <span class="nc">TypedPipe</span><span class="o">.</span><span class="n">from</span><span class="o">(</span><span class="nc">TextLine</span><span class="o">(</span><span class="s">"/user/x/testfile"</span><span class="o">))</span> +<span class="k">val</span> <span class="n">a</span> <span class="k">=</span> <span class="n">testfile</span><span class="o">.</span><span class="n">groupAll</span><span class="o">.</span><span class="n">size</span><span class="o">.</span><span class="n">values</span> +<span class="n">a</span><span class="o">.</span><span class="n">toList</span> +</code></pre></div> +<p>This command should create a map reduce job.</p> + +<h2>Future Work</h2> + +<ul> +<li>Better user feedback (hadoop url, progress updates)</li> +<li>Ability to cancel jobs</li> +<li>Ability to dynamically load jars without restarting the interpreter</li> +<li>Multiuser scalability (run scalding interpreters on different servers)</li> +</ul> + + </div> +</div> + + + <hr> + <footer> + <!-- <p>© 2019 The Apache Software Foundation</p>--> + </footer> + </div> + + + + + <script type="text/javascript"> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-45176241-5', 'zeppelin.apache.org'); + ga('require', 'linkid', 'linkid.js'); + ga('send', 'pageview'); + +</script> + + + + </body> +</html> + Propchange: zeppelin/site/docs/0.8.2/interpreter/scalding.html ------------------------------------------------------------------------------ svn:executable = *