You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by an...@apache.org on 2015/07/20 12:53:11 UTC

[01/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Repository: flink-web
Updated Branches:
  refs/heads/master a16dddebe -> a4e6e2084


http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/index.html
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/index.html b/content/docs/master/libs/index.html
deleted file mode 100644
index 9e32573..0000000
--- a/content/docs/master/libs/index.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Libraries</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Libraries</h1>
-
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[15/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/java8.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/java8.html b/content/docs/master/apis/java8.html
deleted file mode 100644
index 7abfc26..0000000
--- a/content/docs/master/apis/java8.html
+++ /dev/null
@@ -1,360 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Java 8 Programming Guide</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Java 8 Programming Guide</h1>
-
-
-
-<p>Java 8 introduces several new language features designed for faster and clearer coding. With the most important feature, 
-the so-called “Lambda Expressions”, Java 8 opens the door to functional programming. Lambda Expressions allow for implementing and 
-passing functions in a straightforward way without having to declare additional (anonymous) classes.</p>
-
-<p>The newest version of Flink supports the usage of Lambda Expressions for all operators of the Java API.
-This document shows how to use Lambda Expressions and describes current limitations. For a general introduction to the
-Flink API, please refer to the <a href="programming_guide.html">Programming Guide</a></p>
-
-<ul id="markdown-toc">
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-  <li><a href="#compiler-limitations" id="markdown-toc-compiler-limitations">Compiler Limitations</a></li>
-</ul>
-
-<h3 id="examples">Examples</h3>
-
-<p>The following example illustrates how to implement a simple, inline <code>map()</code> function that squares its input using a Lambda Expression. 
-The types of input <code>i</code> and output parameters of the <code>map()</code> function need not to be declared as they are inferred by the Java 8 compiler.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="mi">3</span><span class="o">)</span>
-<span class="c1">// returns the squared i</span>
-<span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">i</span> <span class="o">-&gt;</span> <span class="n">i</span><span class="o">*</span><span class="n">i</span><span class="o">)</span>
-<span class="o">.</span><span class="na">print</span><span class="o">();</span></code></pre></div>
-
-<p>The next two examples show different implementations of a function that uses a <code>Collector</code> for output. 
-Functions, such as <code>flatMap()</code>, require a output type (in this case <code>String</code>) to be defined for the <code>Collector</code> in order to be type-safe. 
-If the <code>Collector</code> type can not be inferred from the surrounding context, it need to be declared in the Lambda Expression’s parameter list manually. 
-Otherwise the output will be treated as type <code>Object</code> which can lead to undesired behaviour.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="mi">3</span><span class="o">);</span>
-
-<span class="c1">// collector type must be declared</span>
-<span class="n">input</span><span class="o">.</span><span class="na">flatMap</span><span class="o">((</span><span class="n">Integer</span> <span class="n">number</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>
-    <span class="k">for</span><span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">number</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="s">&quot;a&quot;</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">})</span>
-<span class="c1">// returns &quot;a&quot;, &quot;a&quot;, &quot;aa&quot;, &quot;a&quot;, &quot;aa&quot; , &quot;aaa&quot;</span>
-<span class="o">.</span><span class="na">print</span><span class="o">();</span></code></pre></div>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="mi">3</span><span class="o">);</span>
-
-<span class="c1">// collector type must not be declared, it is inferred from the type of the dataset</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">manyALetters</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">flatMap</span><span class="o">((</span><span class="n">number</span><span class="o">,</span> <span class="n">out</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>	
-    <span class="k">for</span><span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">number</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="s">&quot;a&quot;</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">});</span>
-
-<span class="c1">// returns &quot;a&quot;, &quot;a&quot;, &quot;aa&quot;, &quot;a&quot;, &quot;aa&quot; , &quot;aaa&quot;</span>
-<span class="n">manyALetters</span><span class="o">.</span><span class="na">print</span><span class="o">();</span></code></pre></div>
-
-<p>The following code demonstrates a word count which makes extensive use of Lambda Expressions.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="s">&quot;Please count&quot;</span><span class="o">,</span> <span class="s">&quot;the words&quot;</span><span class="o">,</span> <span class="s">&quot;but not this&quot;</span><span class="o">);</span>
-		
-<span class="c1">// filter out strings that contain &quot;not&quot;</span>
-<span class="n">input</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">line</span> <span class="o">-&gt;</span> <span class="o">!</span><span class="n">line</span><span class="o">.</span><span class="na">contains</span><span class="o">(</span><span class="s">&quot;not&quot;</span><span class="o">))</span>
-<span class="c1">// split each line by space</span>
-<span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">line</span> <span class="o">-&gt;</span> <span class="n">line</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">))</span>
-<span class="c1">// emit a pair &lt;word,1&gt; for each array element</span>
-<span class="o">.</span><span class="na">flatMap</span><span class="o">((</span><span class="n">String</span><span class="o">[]</span> <span class="n">wordArray</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> 
-    <span class="o">-&gt;</span> <span class="n">Arrays</span><span class="o">.</span><span class="na">stream</span><span class="o">(</span><span class="n">wordArray</span><span class="o">).</span><span class="na">forEach</span><span class="o">(</span><span class="n">t</span> <span class="o">-&gt;</span> <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;&gt;(</span><span class="n">t</span><span class="o">,</span> <span class="mi">1</span><span class="o">)))</span>
-    <span class="o">)</span>
-<span class="c1">// group and sum up</span>
-<span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-<span class="c1">// print</span>
-<span class="o">.</span><span class="na">print</span><span class="o">();</span></code></pre></div>
-
-<h3 id="compiler-limitations">Compiler Limitations</h3>
-<p>Currently, Flink only supports jobs containing Lambda Expressions completely if they are <strong>compiled with the Eclipse JDT compiler contained in Eclipse Luna 4.4.2 (and above)</strong>.</p>
-
-<p>Only the Eclipse JDT compiler preserves the generic type information necessary to use the entire Lambda Expressions feature type-safely. 
-Other compilers such as the OpenJDK’s and Oracle JDK’s <code>javac</code> throw away all generic parameters related to Lambda Expressions. This means that types such as <code>Tuple2&lt;String,Integer</code> or <code>Collector&lt;String&gt;</code> declared as a Lambda function input or output parameter will be pruned to <code>Tuple2</code> or <code>Collector</code> in the compiled <code>.class</code> files, which is too little information for the Flink Compiler.</p>
-
-<p>How to compile a Flink job that contains Lambda Expressions with the JDT compiler will be covered in the next section.</p>
-
-<p>However, it is possible to implement functions such as <code>map()</code> or <code>filter()</code> with Lambda Expressions in Java 8 compilers other than the Eclipse JDT compiler as long as the function has no <code>Collector</code>s or <code>Iterable</code>s <em>and</em> only if the function handles unparameterized types such as <code>Integer</code>, <code>Long</code>, <code>String</code>, <code>MyOwnClass</code> (types without Generics!).</p>
-
-<h4 id="compile-flink-jobs-with-the-eclipse-jdt-compiler-and-maven">Compile Flink jobs with the Eclipse JDT compiler and Maven</h4>
-
-<p>If you are using the Eclipse IDE, you can run and debug your Flink code within the IDE without any problems after some configuration steps. The Eclipse IDE by default compiles its Java sources with the Eclipse JDT compiler. The next section describes how to configure the Eclipse IDE.</p>
-
-<p>If you are using a different IDE such as IntelliJ IDEA or you want to package your Jar-File with Maven to run your job on a cluster, you need to modify your project’s <code>pom.xml</code> file and build your program with Maven. The <a href="http://flink.apache.org/docs/master/quickstart/setup_quickstart.html">quickstart</a> contains preconfigured Maven projects which can be used for new projects or as a reference. Uncomment the mentioned lines in your generated quickstart <code>pom.xml</code> file if you want to use Java 8 with Lambda Expressions.</p>
-
-<p>Alternatively, you can manually insert the following lines to your Maven <code>pom.xml</code> file. Maven will then use the Eclipse JDT compiler for compilation.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="c">&lt;!-- put these lines under &quot;project/build/pluginManagement/plugins&quot; of your pom.xml --&gt;</span>
-
-<span class="nt">&lt;plugin&gt;</span>
-    <span class="c">&lt;!-- Use compiler plugin with tycho as the adapter to the JDT compiler. --&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>maven-compiler-plugin<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;configuration&gt;</span>
-        <span class="nt">&lt;source&gt;</span>1.8<span class="nt">&lt;/source&gt;</span>
-        <span class="nt">&lt;target&gt;</span>1.8<span class="nt">&lt;/target&gt;</span>
-        <span class="nt">&lt;compilerId&gt;</span>jdt<span class="nt">&lt;/compilerId&gt;</span>
-    <span class="nt">&lt;/configuration&gt;</span>
-    <span class="nt">&lt;dependencies&gt;</span>
-        <span class="c">&lt;!-- This dependency provides the implementation of compiler &quot;jdt&quot;: --&gt;</span>
-        <span class="nt">&lt;dependency&gt;</span>
-            <span class="nt">&lt;groupId&gt;</span>org.eclipse.tycho<span class="nt">&lt;/groupId&gt;</span>
-            <span class="nt">&lt;artifactId&gt;</span>tycho-compiler-jdt<span class="nt">&lt;/artifactId&gt;</span>
-            <span class="nt">&lt;version&gt;</span>0.21.0<span class="nt">&lt;/version&gt;</span>
-        <span class="nt">&lt;/dependency&gt;</span>
-    <span class="nt">&lt;/dependencies&gt;</span>
-<span class="nt">&lt;/plugin&gt;</span></code></pre></div>
-
-<p>If you are using Eclipse for development, the m2e plugin might complain about the inserted lines above and marks your <code>pom.xml</code> as invalid. If so, insert the following lines to your <code>pom.xml</code>.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="c">&lt;!-- put these lines under &quot;project/build/pluginManagement/plugins/plugin[groupId=&quot;org.eclipse.m2e&quot;, artifactId=&quot;lifecycle-mapping&quot;]/configuration/lifecycleMappingMetadata/pluginExecutions&quot; of your pom.xml --&gt;</span>
-
-<span class="nt">&lt;pluginExecution&gt;</span>
-    <span class="nt">&lt;pluginExecutionFilter&gt;</span>
-        <span class="nt">&lt;groupId&gt;</span>org.apache.maven.plugins<span class="nt">&lt;/groupId&gt;</span>
-        <span class="nt">&lt;artifactId&gt;</span>maven-compiler-plugin<span class="nt">&lt;/artifactId&gt;</span>
-        <span class="nt">&lt;versionRange&gt;</span>[3.1,)<span class="nt">&lt;/versionRange&gt;</span>
-        <span class="nt">&lt;goals&gt;</span>
-            <span class="nt">&lt;goal&gt;</span>testCompile<span class="nt">&lt;/goal&gt;</span>
-            <span class="nt">&lt;goal&gt;</span>compile<span class="nt">&lt;/goal&gt;</span> 
-        <span class="nt">&lt;/goals&gt;</span>
-    <span class="nt">&lt;/pluginExecutionFilter&gt;</span>
-    <span class="nt">&lt;action&gt;</span>
-        <span class="nt">&lt;ignore&gt;&lt;/ignore&gt;</span>
-    <span class="nt">&lt;/action&gt;</span>
-<span class="nt">&lt;/pluginExecution&gt;</span></code></pre></div>
-
-<h4 id="run-and-debug-flink-jobs-within-the-eclipse-ide">Run and debug Flink jobs within the Eclipse IDE</h4>
-
-<p>First of all, make sure you are running a current version of Eclipse IDE (4.4.2 or later). Also make sure that you have a Java 8 Runtime Environment (JRE) installed in Eclipse IDE (<code>Window</code> -&gt; <code>Preferences</code> -&gt; <code>Java</code> -&gt; <code>Installed JREs</code>).</p>
-
-<p>Create/Import your Eclipse project.</p>
-
-<p>If you are using Maven, you also need to change the Java version in your <code>pom.xml</code> for the <code>maven-compiler-plugin</code>. Otherwise right click the <code>JRE System Library</code> section of your project and open the <code>Properties</code> window in order to switch to a Java 8 JRE (or above) that supports Lambda Expressions.</p>
-
-<p>The Eclipse JDT compiler needs a special compiler flag in order to store type information in <code>.class</code> files. Open the JDT configuration file at <code>{project directoy}/.settings/org.eclipse.jdt.core.prefs</code> with your favorite text editor and add the following line:</p>
-
-<div class="highlight"><pre><code>org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature=generate
-</code></pre></div>
-
-<p>If not already done, also modify the Java versions of the following properties to <code>1.8</code> (or above):</p>
-
-<div class="highlight"><pre><code>org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.source=1.8
-</code></pre></div>
-
-<p>After you have saved the file, perform a complete project refresh in Eclipse IDE.</p>
-
-<p>If you are using Maven, right click your Eclipse project and select <code>Maven</code> -&gt; <code>Update Project...</code>.</p>
-
-<p>You have configured everything correctly, if the following Flink program runs without exceptions:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="mi">3</span><span class="o">).</span><span class="na">map</span><span class="o">((</span><span class="n">in</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="k">new</span> <span class="n">Tuple1</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;(</span><span class="s">&quot; &quot;</span> <span class="o">+</span> <span class="n">in</span><span class="o">)).</span><span class="na">print</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">();</span></code></pre></div>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/local_execution.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/local_execution.html b/content/docs/master/apis/local_execution.html
deleted file mode 100644
index f791e87..0000000
--- a/content/docs/master/apis/local_execution.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Local Execution</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Local Execution</h1>
-
-
-
-<p>Flink can run on a single machine, even in a single Java Virtual Machine. This allows users to test and debug Flink programs locally. This section gives an overview of the local execution mechanisms.</p>
-
-<p>The local environments and executors allow you to run Flink programs in a local Java Virtual Machine, or with within any JVM as part of existing programs. Most examples can be launched locally by simply hitting the “Run” button of your IDE.</p>
-
-<p>There are two different kinds of local execution supported in Flink. The <code>LocalExecutionEnvironment</code> is starting the full Flink runtime, including a JobManager and a TaskManager. These include memory management and all the internal algorithms that are executed in the cluster mode.</p>
-
-<p>The <code>CollectionEnvironment</code> is executing the Flink program on Java collections. This mode will not start the full Flink runtime, so the execution is very low-overhead and lightweight. For example a <code>DataSet.map()</code>-transformation will be executed by applying the <code>map()</code> function to all elements in a Java list.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#debugging" id="markdown-toc-debugging">Debugging</a></li>
-  <li><a href="#maven-dependency" id="markdown-toc-maven-dependency">Maven Dependency</a></li>
-  <li><a href="#local-environment" id="markdown-toc-local-environment">Local Environment</a></li>
-  <li><a href="#collection-environment" id="markdown-toc-collection-environment">Collection Environment</a></li>
-</ul>
-
-<h2 id="debugging">Debugging</h2>
-
-<p>If you are running Flink programs locally, you can also debug your program like any other Java program. You can either use <code>System.out.println()</code> to write out some internal variables or you can use the debugger. It is possible to set breakpoints within <code>map()</code>, <code>reduce()</code> and all the other methods.
-Please also refer to the <a href="programming_guide.html#debugging">debugging section</a> in the Java API documentation for a guide to testing and local debugging utilities in the Java API.</p>
-
-<h2 id="maven-dependency">Maven Dependency</h2>
-
-<p>If you are developing your program in a Maven project, you have to add the <code>flink-clients</code> module using this dependency:</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<h2 id="local-environment">Local Environment</h2>
-
-<p>The <code>LocalEnvironment</code> is a handle to local execution for Flink programs. Use it to run a program within a local JVM - standalone or embedded in other programs.</p>
-
-<p>The local environment is instantiated via the method <code>ExecutionEnvironment.createLocalEnvironment()</code>. By default, it will use as many local threads for execution as your machine has CPU cores (hardware contexts). You can alternatively specify the desired parallelism. The local environment can be configured to log to the console using <code>enableLogging()</code>/<code>disableLogging()</code>.</p>
-
-<p>In most cases, calling <code>ExecutionEnvironment.getExecutionEnvironment()</code> is the even better way to go. That method returns a <code>LocalEnvironment</code> when the program is started locally (outside the command line interface), and it returns a pre-configured environment for cluster execution, when the program is invoked by the <a href="cli.html">command line interface</a>.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">createLocalEnvironment</span><span class="o">();</span>
-
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">data</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readTextFile</span><span class="o">(</span><span class="s">&quot;file:///path/to/file&quot;</span><span class="o">);</span>
-
-    <span class="n">data</span>
-        <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="s">&quot;http://&quot;</span><span class="o">);</span>
-            <span class="o">}</span>
-        <span class="o">})</span>
-        <span class="o">.</span><span class="na">writeAsText</span><span class="o">(</span><span class="s">&quot;file:///path/to/result&quot;</span><span class="o">);</span>
-
-    <span class="n">JobExecutionResult</span> <span class="n">res</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">();</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The <code>JobExecutionResult</code> object, which is returned after the execution finished, contains the program runtime and the accumulator results.</p>
-
-<p>The <code>LocalEnvironment</code> allows also to pass custom configuration values to Flink.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">Configuration</span> <span class="n">conf</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">Configuration</span><span class="o">();</span>
-<span class="n">conf</span><span class="o">.</span><span class="na">setFloat</span><span class="o">(</span><span class="n">ConfigConstants</span><span class="o">.</span><span class="na">TASK_MANAGER_MEMORY_FRACTION_KEY</span><span class="o">,</span> <span class="mf">0.5f</span><span class="o">);</span>
-<span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">createLocalEnvironment</span><span class="o">(</span><span class="n">conf</span><span class="o">);</span></code></pre></div>
-
-<p><em>Note:</em> The local execution environments do not start any web frontend to monitor the execution.</p>
-
-<h2 id="collection-environment">Collection Environment</h2>
-
-<p>The execution on Java Collections using the <code>CollectionEnvironment</code> is a low-overhead approach for executing Flink programs. Typical use-cases for this mode are automated tests, debugging and code re-use.</p>
-
-<p>Users can use algorithms implemented for batch processing also for cases that are more interactive. A slightly changed variant of a Flink program could be used in a Java Application Server for processing incoming requests.</p>
-
-<p><strong>Skeleton for Collection-based execution</strong></p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    <span class="c1">// initialize a new Collection-based execution environment</span>
-    <span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">CollectionEnvironment</span><span class="o">();</span>
-    
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">User</span><span class="o">&gt;</span> <span class="n">users</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromCollection</span><span class="o">(</span> <span class="cm">/* get elements from a Java Collection */</span><span class="o">);</span>
-
-    <span class="cm">/* Data Set transformations ... */</span>
-
-    <span class="c1">// retrieve the resulting Tuple2 elements into a ArrayList.</span>
-    <span class="n">Collection</span><span class="o">&lt;...&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ArrayList</span><span class="o">&lt;...&gt;();</span>
-    <span class="n">resultDataSet</span><span class="o">.</span><span class="na">output</span><span class="o">(</span><span class="k">new</span> <span class="n">LocalCollectionOutputFormat</span><span class="o">&lt;...&gt;(</span><span class="n">result</span><span class="o">));</span>
-    
-    <span class="c1">// kick off execution.</span>
-    <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">();</span>
-    
-    <span class="c1">// Do some work with the resulting ArrayList (=Collection).</span>
-    <span class="k">for</span><span class="o">(...</span> <span class="n">t</span> <span class="o">:</span> <span class="n">result</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">err</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;Result = &quot;</span><span class="o">+</span><span class="n">t</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The <code>flink-java-examples</code> module contains a full example, called <code>CollectionExecutionExample</code>.</p>
-
-<p>Please note that the execution of the collection-based Flink programs is only possible on small data, which fits into the JVM heap. The execution on collections is not multi-threaded, only one thread is used.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[31/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/index.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/index.html b/content/docs/0.9/libs/index.html
deleted file mode 100644
index 18b2c88..0000000
--- a/content/docs/0.9/libs/index.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Libraries</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Libraries</h1>
-
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/als.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/als.html b/content/docs/0.9/libs/ml/als.html
deleted file mode 100644
index 04a0c1b..0000000
--- a/content/docs/0.9/libs/ml/als.html
+++ /dev/null
@@ -1,401 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - Alternating Least Squares</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - Alternating Least Squares</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#description" id="markdown-toc-description">Description</a></li>
-  <li><a href="#operations" id="markdown-toc-operations">Operations</a>    <ul>
-      <li><a href="#fit" id="markdown-toc-fit">Fit</a></li>
-      <li><a href="#predict" id="markdown-toc-predict">Predict</a></li>
-    </ul>
-  </li>
-  <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-</ul>
-
-<h2 id="description">Description</h2>
-
-<p>The alternating least squares (ALS) algorithm factorizes a given matrix $R$ into two factors $U$ and $V$ such that $R \approx U^TV$.
-The unknown row dimension is given as a parameter to the algorithm and is called latent factors.
-Since matrix factorization can be used in the context of recommendation, the matrices $U$ and $V$ can be called user and item matrix, respectively.
-The $i$th column of the user matrix is denoted by $u_i$ and the $i$th column of the item matrix is $v_i$.
-The matrix $R$ can be called the ratings matrix with <script type="math/tex">(R)_{i,j} = r_{i,j}</script>.</p>
-
-<p>In order to find the user and item matrix, the following problem is solved:</p>
-
-<script type="math/tex; mode=display">\arg\min_{U,V} \sum_{\{i,j\mid r_{i,j} \not= 0\}} \left(r_{i,j} - u_{i}^Tv_{j}\right)^2 + 
-\lambda \left(\sum_{i} n_{u_i} \left\lVert u_i \right\rVert^2 + \sum_{j} n_{v_j} \left\lVert v_j \right\rVert^2 \right)</script>
-
-<p>with $\lambda$ being the regularization factor, <script type="math/tex">n_{u_i}</script> being the number of items the user $i$ has rated and <script type="math/tex">n_{v_j}</script> being the number of times the item $j$ has been rated.
-This regularization scheme to avoid overfitting is called weighted-$\lambda$-regularization.
-Details can be found in the work of <a href="http://dx.doi.org/10.1007/978-3-540-68880-8_32">Zhou et al.</a>.</p>
-
-<p>By fixing one of the matrices $U$ or $V$, we obtain a quadratic form which can be solved directly.
-The solution of the modified problem is guaranteed to monotonically decrease the overall cost function.
-By applying this step alternately to the matrices $U$ and $V$, we can iteratively improve the matrix factorization.</p>
-
-<p>The matrix $R$ is given in its sparse representation as a tuple of $(i, j, r)$ where $i$ denotes the row index, $j$ the column index and $r$ is the matrix value at position $(i,j)$.</p>
-
-<h2 id="operations">Operations</h2>
-
-<p><code>ALS</code> is a <code>Predictor</code>.
-As such, it supports the <code>fit</code> and <code>predict</code> operation.</p>
-
-<h3 id="fit">Fit</h3>
-
-<p>ALS is trained on the sparse representation of the rating matrix:</p>
-
-<ul>
-  <li><code>fit: DataSet[(Int, Int, Double)] =&gt; Unit</code></li>
-</ul>
-
-<h3 id="predict">Predict</h3>
-
-<p>ALS predicts for each tuple of row and column index the rating:</p>
-
-<ul>
-  <li><code>predict: DataSet[(Int, Int)] =&gt; DataSet[(Int, Int, Double)]</code></li>
-</ul>
-
-<h2 id="parameters">Parameters</h2>
-
-<p>The alternating least squares implementation can be controlled by the following parameters:</p>
-
-<table class="table table-bordered">
-    <thead>
-      <tr>
-        <th class="text-left" style="width: 20%">Parameters</th>
-        <th class="text-center">Description</th>
-      </tr>
-    </thead>
-
-    <tbody>
-      <tr>
-        <td><strong>NumFactors</strong></td>
-        <td>
-          <p>
-            The number of latent factors to use for the underlying model.
-            It is equivalent to the dimension of the calculated user and item vectors.
-            (Default value: <strong>10</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Lambda</strong></td>
-        <td>
-          <p>
-            Regularization factor. Tune this value in order to avoid overfitting or poor performance due to strong generalization.
-            (Default value: <strong>1</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Iterations</strong></td>
-        <td>
-          <p>
-            The maximum number of iterations.
-            (Default value: <strong>10</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Blocks</strong></td>
-        <td>
-          <p>
-            The number of blocks into which the user and item matrix are grouped.
-            The fewer blocks one uses, the less data is sent redundantly. 
-            However, bigger blocks entail bigger update messages which have to be stored on the heap. 
-            If the algorithm fails because of an OutOfMemoryException, then try to increase the number of blocks. 
-            (Default value: <strong>None</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Seed</strong></td>
-        <td>
-          <p>
-            Random seed used to generate the initial item matrix for the algorithm.
-            (Default value: <strong>0</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>TemporaryPath</strong></td>
-        <td>
-          <p>
-            Path to a temporary directory into which intermediate results are stored.
-            If this value is set, then the algorithm is split into two preprocessing steps, the ALS iteration and a post-processing step which calculates a last ALS half-step.
-            The preprocessing steps calculate the <code>OutBlockInformation</code> and <code>InBlockInformation</code> for the given rating matrix.
-            The results of the individual steps are stored in the specified directory.
-            By splitting the algorithm into multiple smaller steps, Flink does not have to split the available memory amongst too many operators. 
-            This allows the system to process bigger individual messages and improves the overall performance.
-            (Default value: <strong>None</strong>)
-          </p>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
-<h2 id="examples">Examples</h2>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// Read input data set from a csv file</span>
-<span class="k">val</span> <span class="n">inputDS</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readCsvFile</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)](</span>
-  <span class="n">pathToTrainingFile</span><span class="o">)</span>
-
-<span class="c1">// Setup the ALS learner</span>
-<span class="k">val</span> <span class="n">als</span> <span class="k">=</span> <span class="nc">ALS</span><span class="o">()</span>
-<span class="o">.</span><span class="n">setIterations</span><span class="o">(</span><span class="mi">10</span><span class="o">)</span>
-<span class="o">.</span><span class="n">setNumFactors</span><span class="o">(</span><span class="mi">10</span><span class="o">)</span>
-<span class="o">.</span><span class="n">setBlocks</span><span class="o">(</span><span class="mi">100</span><span class="o">)</span>
-<span class="o">.</span><span class="n">setTemporaryPath</span><span class="o">(</span><span class="s">&quot;hdfs://tempPath&quot;</span><span class="o">)</span>
-
-<span class="c1">// Set the other parameters via a parameter map</span>
-<span class="k">val</span> <span class="n">parameters</span> <span class="k">=</span> <span class="nc">ParameterMap</span><span class="o">()</span>
-<span class="o">.</span><span class="n">add</span><span class="o">(</span><span class="nc">ALS</span><span class="o">.</span><span class="nc">Lambda</span><span class="o">,</span> <span class="mf">0.9</span><span class="o">)</span>
-<span class="o">.</span><span class="n">add</span><span class="o">(</span><span class="nc">ALS</span><span class="o">.</span><span class="nc">Seed</span><span class="o">,</span> <span class="mi">42L</span><span class="o">)</span>
-
-<span class="c1">// Calculate the factorization</span>
-<span class="n">als</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">inputDS</span><span class="o">,</span> <span class="n">parameters</span><span class="o">)</span>
-
-<span class="c1">// Read the testing data set from a csv file</span>
-<span class="k">val</span> <span class="n">testingDS</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">Int</span><span class="o">)]</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readCsvFile</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">Int</span><span class="o">)](</span><span class="n">pathToData</span><span class="o">)</span>
-
-<span class="c1">// Calculate the ratings according to the matrix factorization</span>
-<span class="k">val</span> <span class="n">predictedRatings</span> <span class="k">=</span> <span class="n">als</span><span class="o">.</span><span class="n">predict</span><span class="o">(</span><span class="n">testingDS</span><span class="o">)</span></code></pre></div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/contribution_guide.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/contribution_guide.html b/content/docs/0.9/libs/ml/contribution_guide.html
deleted file mode 100644
index 2f99941..0000000
--- a/content/docs/0.9/libs/ml/contribution_guide.html
+++ /dev/null
@@ -1,325 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - How to Contribute</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - How to Contribute</h1>
-
-
-
-<p>The Flink community highly appreciates all sorts of contributions to FlinkML.
-FlinkML offers people interested in machine learning to work on a highly active open source project which makes scalable ML reality.
-The following document describes how to contribute to FlinkML.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#getting-started" id="markdown-toc-getting-started">Getting Started</a></li>
-  <li><a href="#pick-a-topic" id="markdown-toc-pick-a-topic">Pick a Topic</a></li>
-  <li><a href="#testing" id="markdown-toc-testing">Testing</a></li>
-  <li><a href="#documentation" id="markdown-toc-documentation">Documentation</a></li>
-  <li><a href="#contributing" id="markdown-toc-contributing">Contributing</a></li>
-</ul>
-
-<h2 id="getting-started">Getting Started</h2>
-
-<p>In order to get started first read Flink’s <a href="http://flink.apache.org/how-to-contribute.html">contribution guide</a>.
-Everything from this guide also applies to FlinkML.</p>
-
-<h2 id="pick-a-topic">Pick a Topic</h2>
-
-<p>If you are looking for some new ideas you should first look into our <a href="vision_roadmap.html#Roadmap">roadmap</a>, then you should check out the list of <a href="https://issues.apache.org/jira/issues/?jql=component%20%3D%20%22Machine%20Learning%20Library%22%20AND%20project%20%3D%20FLINK%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC">unresolved issues on JIRA</a>.
-Once you decide to contribute to one of these issues, you should take ownership of it and track your progress with this issue.
-That way, the other contributors know the state of the different issues and redundant work is avoided.</p>
-
-<p>If you already know what you want to contribute to FlinkML all the better.
-It is still advisable to create a JIRA issue for your idea to tell the Flink community what you want to do, though.</p>
-
-<h2 id="testing">Testing</h2>
-
-<p>New contributions should come with tests to verify the correct behavior of the algorithm.
-The tests help to maintain the algorithm’s correctness throughout code changes, e.g. refactorings.</p>
-
-<p>We distinguish between unit tests, which are executed during Maven’s test phase, and integration tests, which are executed during maven’s verify phase.
-Maven automatically makes this distinction by using the following naming rules:
-All test cases whose class name ends with a suffix fulfilling the regular expression <code>(IT|Integration)(Test|Suite|Case)</code>, are considered integration tests.
-The rest are considered unit tests and should only test behavior which is local to the component under test.</p>
-
-<p>An integration test is a test which requires the full Flink system to be started.
-In order to do that properly, all integration test cases have to mix in the trait <code>FlinkTestBase</code>.
-This trait will set the right <code>ExecutionEnvironment</code> so that the test will be executed on a special <code>FlinkMiniCluster</code> designated for testing purposes.
-Thus, an integration test could look the following:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">class</span> <span class="nc">ExampleITSuite</span> <span class="k">extends</span> <span class="nc">FlatSpec</span> <span class="k">with</span> <span class="nc">FlinkTestBase</span> <span class="o">{</span>
-  <span class="n">behavior</span> <span class="n">of</span> <span class="s">&quot;An example algorithm&quot;</span>
-
-  <span class="n">it</span> <span class="n">should</span> <span class="s">&quot;do something&quot;</span> <span class="n">in</span> <span class="o">{</span>
-    <span class="o">...</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The test style does not have to be <code>FlatSpec</code> but can be any other scalatest <code>Suite</code> subclass.
-See <a href="http://scalatest.org/user_guide/selecting_a_style">ScalaTest testing styles</a> for more information.</p>
-
-<h2 id="documentation">Documentation</h2>
-
-<p>When contributing new algorithms, it is required to add code comments describing the way the algorithm works and its parameters with which the user can control its behavior.
-Additionally, we would like to encourage contributors to add this information to the online documentation.
-The online documentation for FlinkML’s components can be found in the directory <code>docs/libs/ml</code>.</p>
-
-<p>Every new algorithm is described by a single markdown file.
-This file should contain at least the following points:</p>
-
-<ol>
-  <li>What does the algorithm do</li>
-  <li>How does the algorithm work (or reference to description)</li>
-  <li>Parameter description with default values</li>
-  <li>Code snippet showing how the algorithm is used</li>
-</ol>
-
-<p>In order to use latex syntax in the markdown file, you have to include <code>mathjax: include</code> in the YAML front matter.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="o">---</span>
-<span class="nl">mathjax:</span> <span class="n">include</span>
-<span class="nl">htmlTitle:</span> <span class="n">FlinkML</span> <span class="o">-</span> <span class="n">Example</span> <span class="n">title</span>
-<span class="nl">title:</span> <span class="o">&lt;</span><span class="n">a</span> <span class="n">href</span><span class="o">=</span><span class="s">&quot;../ml&quot;</span><span class="o">&gt;</span><span class="n">FlinkML</span><span class="o">&lt;/</span><span class="n">a</span><span class="o">&gt;</span> <span class="o">-</span> <span class="n">Example</span> <span class="n">title</span>
-<span class="o">---</span></code></pre></div>
-
-<p>In order to use displayed mathematics, you have to put your latex code in <code>$$ ... $$</code>.
-For in-line mathematics, use <code>$ ... $</code>.
-Additionally some predefined latex commands are included into the scope of your markdown file.
-See <code>docs/_include/latex_commands.html</code> for the complete list of predefined latex commands.</p>
-
-<h2 id="contributing">Contributing</h2>
-
-<p>Once you have implemented the algorithm with adequate test coverage and added documentation, you are ready to open a pull request.
-Details of how to open a pull request can be found <a href="http://flink.apache.org/how-to-contribute.html#contributing-code--documentation">here</a>.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/distance_metrics.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/distance_metrics.html b/content/docs/0.9/libs/ml/distance_metrics.html
deleted file mode 100644
index 9272077..0000000
--- a/content/docs/0.9/libs/ml/distance_metrics.html
+++ /dev/null
@@ -1,325 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - Distance Metrics</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - Distance Metrics</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#description" id="markdown-toc-description">Description</a></li>
-  <li><a href="#built-in-implementations" id="markdown-toc-built-in-implementations">Built-in Implementations</a></li>
-  <li><a href="#custom-implementation" id="markdown-toc-custom-implementation">Custom Implementation</a></li>
-</ul>
-
-<h2 id="description">Description</h2>
-
-<p>Different metrics of distance are convenient for different types of analysis. Flink ML provides
-built-in implementations for many standard distance metrics. You can create custom
-distance metrics by implementing the <code>DistanceMetric</code> trait.</p>
-
-<h2 id="built-in-implementations">Built-in Implementations</h2>
-
-<p>Currently, FlinkML supports the following metrics:</p>
-
-<table class="table table-bordered">
-    <thead>
-      <tr>
-        <th class="text-left" style="width: 20%">Metric</th>
-        <th class="text-center">Description</th>
-      </tr>
-    </thead>
-
-    <tbody>
-      <tr>
-        <td><strong>Euclidean Distance</strong></td>
-        <td>
-          $$d(\x, \y) = \sqrt{\sum_{i=1}^n \left(x_i - y_i \right)^2}$$
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Squared Euclidean Distance</strong></td>
-        <td>
-          $$d(\x, \y) = \sum_{i=1}^n \left(x_i - y_i \right)^2$$
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Cosine Similarity</strong></td>
-        <td>
-          $$d(\x, \y) = 1 - \frac{\x^T \y}{\Vert \x \Vert \Vert \y \Vert}$$
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Chebyshev Distance</strong></td>
-        <td>
-          $$d(\x, \y) = \max_{i}\left(\left \vert x_i - y_i \right\vert \right)$$
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Manhattan Distance</strong></td>
-        <td>
-          $$d(\x, \y) = \sum_{i=1}^n \left\vert x_i - y_i \right\vert$$
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Minkowski Distance</strong></td>
-        <td>
-          $$d(\x, \y) = \left( \sum_{i=1}^{n} \left( x_i - y_i \right)^p \right)^{\rfrac{1}{p}}$$
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Tanimoto Distance</strong></td>
-        <td>
-          $$d(\x, \y) = 1 - \frac{\x^T\y}{\Vert \x \Vert^2 + \Vert \y \Vert^2 - \x^T\y}$$ 
-          with $\x$ and $\y$ being bit-vectors
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
-<h2 id="custom-implementation">Custom Implementation</h2>
-
-<p>You can create your own distance metric by implementing the <code>DistanceMetric</code> trait.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">class</span> <span class="nc">MyDistance</span> <span class="k">extends</span> <span class="nc">DistanceMetric</span> <span class="o">{</span>
-  <span class="k">override</span> <span class="k">def</span> <span class="n">distance</span><span class="o">(</span><span class="n">a</span><span class="k">:</span> <span class="kt">Vector</span><span class="o">,</span> <span class="n">b</span><span class="k">:</span> <span class="kt">Vector</span><span class="o">)</span> <span class="k">=</span> <span class="o">...</span> <span class="c1">// your implementation for distance metric</span>
-<span class="o">}</span>
-
-<span class="k">object</span> <span class="nc">MyDistance</span> <span class="o">{</span>
-  <span class="k">def</span> <span class="n">apply</span><span class="o">()</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">MyDistance</span><span class="o">()</span>
-<span class="o">}</span>
-
-<span class="k">val</span> <span class="n">myMetric</span> <span class="k">=</span> <span class="nc">MyDistance</span><span class="o">()</span></code></pre></div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[05/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/fig/state_machine.svg
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/fig/state_machine.svg b/content/docs/master/internals/fig/state_machine.svg
deleted file mode 100644
index 8d0f570..0000000
--- a/content/docs/master/internals/fig/state_machine.svg
+++ /dev/null
@@ -1,318 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="664.92505"
-   height="445.67966"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.5 r10040">
-  <defs
-     id="defs4" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.35"
-     inkscape:cx="332.46252"
-     inkscape:cy="222.83984"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:window-width="1600"
-     inkscape:window-height="838"
-     inkscape:window-x="1912"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(-42.537478,-309.52235)">
-    <g
-       id="g2989"
-       transform="translate(-103.51453,206.80922)">
-      <path
-         id="path2991"
-         d="m 146.68029,340.95994 c 0,-20.55512 16.69166,-37.20927 37.28429,-37.20927 20.59263,0 37.26553,16.65415 37.26553,37.20927 0,20.53637 -16.6729,37.19052 -37.26553,37.19052 -20.59263,0 -37.28429,-16.65415 -37.28429,-37.19052"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2993"
-         d="m 146.68029,340.95994 c 0,-20.55512 16.69166,-37.20927 37.28429,-37.20927 20.59263,0 37.26553,16.65415 37.26553,37.20927 0,20.53637 -16.6729,37.19052 -37.26553,37.19052 -20.59263,0 -37.28429,-16.65415 -37.28429,-37.19052"
-         style="fill:none;stroke:#41719c;stroke-width:1.25656307px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text2995"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="346.5697"
-         x="148.55054"
-         xml:space="preserve">CREATED</text>
-      <path
-         id="path2997"
-         d="m 321.56761,238.20309 c 0,-20.59263 16.69166,-37.28429 37.28429,-37.28429 20.59263,0 37.26553,16.69166 37.26553,37.28429 0,20.57388 -16.6729,37.26554 -37.26553,37.26554 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.26554"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2999"
-         d="m 321.56761,238.20309 c 0,-20.59263 16.69166,-37.28429 37.28429,-37.28429 20.59263,0 37.26553,16.69166 37.26553,37.28429 0,20.57388 -16.6729,37.26554 -37.26553,37.26554 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.26554"
-         style="fill:none;stroke:#41719c;stroke-width:1.25656307px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3001"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="234.7578"
-         x="335.63348"
-         xml:space="preserve">SCHE</text>
-      <text
-         id="text3003"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="234.7578"
-         x="377.34387"
-         xml:space="preserve">-</text>
-      <text
-         id="text3005"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="252.76228"
-         x="333.53293"
-         xml:space="preserve">DULED</text>
-      <path
-         id="path3007"
-         d="m 295.94873,509.20811 c 0,-20.59263 16.69166,-37.28429 37.26553,-37.28429 20.59263,0 37.28429,16.69166 37.28429,37.28429 0,20.57387 -16.69166,37.26553 -37.28429,37.26553 -20.57387,0 -37.26553,-16.69166 -37.26553,-37.26553"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3009"
-         d="m 294.11077,511.15859 -0.0375,-1.95048 0.0563,-2.02551 0.15003,-1.98799 0.24381,-1.95049 0.33759,-1.91298 0.4126,-1.78169 3.65716,0.82521 -0.39385,1.74418 0.0188,-0.0938 -0.33759,1.83795 0.0188,-0.11252 -0.22506,1.87546 0,-0.0938 -0.15004,1.89422 0,-0.0938 -0.0375,1.91298 0,-0.075 0.0375,1.91297 -3.75093,0.075 z m 2.36309,-15.45385 0.67517,-1.74418 0.78769,-1.74419 0.86272,-1.66916 0.93773,-1.63166 1.01275,-1.59415 1.10653,-1.53788 0.28132,-0.37509 2.96324,2.30682 -0.26257,0.33759 0.0375,-0.075 -1.0315,1.46286 0.0563,-0.075 -0.97524,1.51913 0.0563,-0.0563 -0.90022,1.55664 0.0375,-0.0938 -0.82521,1.6129 0.0375,-0.0938 -0.75019,1.65041 0.0375,-0.0938 -0.65641,1.70667 -3.48837,-1.36909 z m 8.21455,-13.29706 0.84396,-0.88147 1.36909,-1.31283 1.42535,-1.21905 1.48162,-1.16279 1.51913,-1.08777 1.59415,-1.01275 1.01275,-0.5814 1.85671,3.24456 -0.95649,0.56264 0.075,-0.0563 -1.50037,0.97524 0.0563,-0.0375 -1.46286,1.03151 0.075,-0.0563 -1.4066,1.10653 0.075,-0.0563 -1.36909,1.16
 279 0.075,-0.0563 -1.29407,1.23781 0.0563,-0.075 -0.80645,0.86271 -2.71942,-2.58814 z m 12.73442,-9.021 0.56264,-0.26256 1.78169,-0.69393 1.81921,-0.6189 1.85671,-0.52513 1.89422,-0.43136 1.91298,-0.33758 1.53788,-0.2063 0.48762,3.71342 -1.50037,0.2063 0.0938,-0.0188 -1.8192,0.31883 0.075,-0.0188 -1.80045,0.41261 0.0938,-0.0188 -1.76294,0.50638 0.075,-0.0188 -1.72543,0.5814 0.0938,-0.0375 -1.68792,0.65641 0.075,-0.0375 -0.50637,0.24381 -1.55664,-3.41335 z m 15.30381,-3.31957 0.48762,-0.0188 2.02551,0.0563 1.98799,0.15004 1.95049,0.26257 1.93173,0.33758 1.89422,0.43136 1.38785,0.39385 -1.03151,3.60089 -1.35034,-0.37509 0.11253,0.0188 -1.80045,-0.41261 0.075,0.0188 -1.83796,-0.31883 0.0938,0.0188 -1.85672,-0.24381 0.0938,0.0188 -1.89422,-0.15004 0.11252,0 -1.93173,-0.0563 0.0938,0 -0.45012,0.0188 -0.0938,-3.75093 z m 15.37883,2.92572 0.35634,0.13129 1.72543,0.78769 1.70668,0.88147 1.63165,0.93774 1.57539,1.01275 1.53789,1.08777 1.48162,1.16279 0.11252,0.0938 -2.4381,2.85071 -0.0938,-0
 .075 0.075,0.0563 -1.4066,-1.10653 0.075,0.0563 -1.46286,-1.03151 0.0563,0.0375 -1.50037,-0.97524 0.075,0.0563 -1.55664,-0.90022 0.075,0.0375 -1.61291,-0.82521 0.0938,0.0375 -1.65041,-0.75019 0.075,0.0375 -0.31883,-0.11253 1.38784,-3.48837 z m 13.0345,8.75844 1.06902,1.12528 1.21905,1.42535 1.16279,1.48162 1.08777,1.53788 1.01275,1.59415 0.95649,1.63166 0.37509,0.71268 -3.33833,1.72543 -0.35634,-0.69393 0.0375,0.0938 -0.90022,-1.55664 0.0563,0.0563 -0.97524,-1.51913 0.0563,0.075 -1.05026,-1.46286 0.0563,0.075 -1.10653,-1.4066 0.0563,0.075 -1.16279,-1.35033 0.0563,0.0563 -1.03151,-1.08777 2.71943,-2.58814 z m 8.49587,13.09076 0.35633,0.90022 0.61891,1.81921 0.52513,1.85671 0.43136,1.91297 0.35634,1.91298 0.24381,1.95049 0.0938,1.12528 -3.75093,0.30007 -0.075,-1.08777 0,0.0938 -0.22506,-1.87546 0.0188,0.11252 -0.33759,-1.83795 0.0188,0.0938 -0.41261,-1.8192 0.0188,0.11253 -0.50638,-1.76294 0.0375,0.075 -0.58139,-1.74418 0.0375,0.0938 -0.33759,-0.84396 3.46962,-1.38784 z m 2.71942,15.4
 1634 -0.0375,0.97524 -0.15003,1.96924 -0.24381,1.95049 -0.35634,1.93173 -0.43136,1.89422 -0.52513,1.87547 -0.33759,0.994 -3.54463,-1.2003 0.31883,-0.95649 -0.0375,0.075 0.50638,-1.76294 -0.0188,0.0938 0.41261,-1.80045 -0.0188,0.0938 0.33759,-1.83796 -0.0188,0.0938 0.22506,-1.87547 0,0.0938 0.15003,-1.87547 -0.0188,0.0938 0.0375,-0.91898 3.75093,0.0938 z m -3.54463,15.24755 -0.30007,0.67516 -0.86272,1.68793 -0.95649,1.63165 -1.01275,1.59415 -1.08777,1.53788 -1.16279,1.48162 -1.05026,1.21905 -2.83196,-2.45686 1.01275,-1.18154 -0.0563,0.0563 1.10653,-1.4066 -0.0563,0.075 1.05026,-1.46286 -0.0563,0.075 0.97524,-1.50038 -0.0563,0.0563 0.90022,-1.55664 -0.0375,0.0938 0.82521,-1.6129 -0.0375,0.075 0.28132,-0.63766 3.41335,1.55664 z m -9.18979,12.62189 -0.075,0.0563 -1.42535,1.2378 -1.48162,1.16279 -1.53789,1.08777 -1.57539,1.01276 -1.65041,0.93773 -1.68792,0.88147 -0.43136,0.18755 -1.53788,-3.41335 0.39385,-0.18755 -0.0938,0.0563 1.61291,-0.8252 -0.075,0.0375 1.55664,-0.90023 -0.075,0.0375
  1.51913,-0.95649 -0.0938,0.0375 1.46287,-1.0315 -0.0563,0.0563 1.4066,-1.10653 -0.075,0.0563 1.3691,-1.18155 -0.075,0.0563 0.0375,-0.0188 2.58814,2.71943 z m -13.50336,8.04576 -1.25657,0.4126 -1.85671,0.54388 -1.89422,0.43136 -1.93173,0.33759 -1.95049,0.24381 -1.98799,0.16879 -0.69393,0.0187 -0.0938,-3.75093 0.63766,-0.0188 -0.0938,0 1.89422,-0.15003 -0.0938,0.0188 1.85672,-0.24381 -0.0938,0.0188 1.83796,-0.31882 -0.075,0 1.80045,-0.41261 -0.11253,0.0375 1.7817,-0.50637 -0.075,0.0188 1.2003,-0.4126 1.2003,3.56339 z m -15.51012,2.08176 -1.38784,-0.11252 -1.95049,-0.24381 -1.93173,-0.33759 -1.89422,-0.43136 -1.85671,-0.54388 -1.81921,-0.60015 -0.65641,-0.26257 1.38784,-3.48837 0.60015,0.24382 -0.0938,-0.0375 1.72543,0.58139 -0.075,-0.0188 1.76294,0.50637 -0.0938,-0.0375 1.80045,0.41261 -0.075,0 1.83796,0.31882 -0.11253,-0.0188 1.87546,0.24381 -0.0938,-0.0188 1.35034,0.11252 -0.30008,3.73218 z m -15.07875,-4.12602 -0.97525,-0.50638 -1.63165,-0.93773 -1.59415,-1.01276 -1.51913,-1.08777
  -1.48162,-1.16279 -1.42535,-1.2378 -0.93774,-0.88147 2.58815,-2.71943 0.90022,0.84396 -0.075,-0.0563 1.36909,1.18155 -0.075,-0.0563 1.4066,1.10653 -0.075,-0.0563 1.46286,1.0315 -0.075,-0.0375 1.51913,0.95649 -0.075,-0.0375 1.55664,0.90023 -0.075,-0.0563 0.91898,0.48762 -1.70667,3.33834 z m -12.2468,-9.71492 -0.26257,-0.30008 -1.16279,-1.48162 -1.08777,-1.53788 -1.03151,-1.59415 -0.93773,-1.63165 -0.86272,-1.68793 -0.78769,-1.74418 -0.0563,-0.11253 3.50713,-1.36909 0.0188,0.075 -0.0375,-0.0938 0.75019,1.65041 -0.0375,-0.075 0.82521,1.59415 -0.0375,-0.0563 0.88147,1.55664 -0.0563,-0.0938 0.97524,1.51913 -0.0375,-0.075 1.0315,1.46286 -0.0375,-0.075 1.10653,1.4066 -0.0563,-0.0563 0.24382,0.28132 -2.85071,2.43811 z m -7.50187,-13.78469 -0.46887,-1.65041 -0.45011,-1.89422 -0.33759,-1.91298 -0.26256,-1.96924 -0.13128,-1.95048 3.73217,-0.26257 0.15004,1.89422 -0.0187,-0.11253 0.24381,1.87547 -0.0188,-0.0938 0.33759,1.83796 -0.0188,-0.0938 0.41261,1.80045 -0.0188,-0.0938 0.45011,1.59414 -3.
 60089,1.03151 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3011"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="505.84799"
-         x="300.4566"
-         xml:space="preserve">CANCEL</text>
-      <text
-         id="text3013"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="505.84799"
-         x="361.37177"
-         xml:space="preserve">-</text>
-      <text
-         id="text3015"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="523.85248"
-         x="322.81216"
-         xml:space="preserve">ED</text>
-      <path
-         id="path3017"
-         d="m 681.84486,143.17317 c 0,-20.59263 16.65415,-37.28429 37.17177,-37.28429 20.55512,0 37.20926,16.69166 37.20926,37.28429 0,20.59263 -16.65414,37.28429 -37.20926,37.28429 -20.51762,0 -37.17177,-16.69166 -37.17177,-37.28429"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3019"
-         d="m 680.00691,145.16116 -0.0375,-1.98799 0.0375,-2.02551 0.15003,-1.95048 0.26257,-1.988 0.33758,-1.91297 0.41261,-1.76294 3.6384,0.8252 -0.37509,1.72543 0,-0.075 -0.33758,1.83796 0.0375,-0.11253 -0.26256,1.87547 0.0375,-0.11253 -0.15004,1.91298 0,-0.11253 -0.0375,1.91298 0,-0.075 0.0375,1.91298 -3.75093,0.11252 z m 2.32558,-15.41634 0,-0.0375 0.71267,-1.76294 0.75019,-1.72543 0.86272,-1.68792 0.93773,-1.65041 1.05026,-1.57539 1.08777,-1.53788 0.30008,-0.3751 2.92573,2.32558 -0.26257,0.33759 0.0375,-0.075 -1.01275,1.46286 0.0375,-0.075 -0.97525,1.50038 0.075,-0.075 -0.90022,1.53788 0.0375,-0.075 -0.82521,1.61291 0.0375,-0.075 -0.75019,1.65041 0.0375,-0.075 -0.67516,1.68792 0.0375,-0.075 0,0 -3.52587,-1.23781 z m 8.21454,-13.35332 0.86272,-0.90023 1.35033,-1.27532 1.42536,-1.2378 1.46286,-1.16279 1.53789,-1.08777 1.57539,-1.05027 1.01275,-0.56264 1.87547,3.26332 -0.97524,0.56264 0.075,-0.075 -1.50037,0.97524 0.075,-0.0375 -1.46287,1.05026 0.075,-0.075 -1.38784,1.12528 0.037
 5,-0.075 -1.35034,1.16279 0.075,-0.0375 -1.27532,1.2378 0.0375,-0.075 -0.7877,0.86271 -2.73818,-2.58814 z m 12.75318,-9.03976 0.52513,-0.26256 1.76294,-0.67517 1.83796,-0.63766 1.83796,-0.52513 1.87546,-0.4126 1.95049,-0.33759 1.53788,-0.22505 0.48762,3.71342 -1.50037,0.22506 0.075,-0.0375 -1.83796,0.33758 0.11253,-0.0375 -1.80045,0.41261 0.075,0 -1.76294,0.48762 0.075,0 -1.72543,0.56264 0.11253,-0.0375 -1.68792,0.67517 0.075,-0.0375 -0.48762,0.22505 -1.53788,-3.41335 z m 15.2663,-3.30082 0.45012,-0.0375 2.0255,0.075 1.98799,0.15004 1.95049,0.26256 1.91298,0.33759 1.91297,0.4126 1.42536,0.4126 -1.01275,3.6009 -1.42536,-0.37509 0.11253,0 -1.80045,-0.41261 0.075,0.0375 -1.80045,-0.33758 0.075,0.0375 -1.83796,-0.26257 0.075,0.0375 -1.87547,-0.15003 0.075,0 -1.91297,-0.075 0.11252,0 -0.4126,0.0375 -0.11253,-3.75094 z m 15.37883,2.92573 0.30008,0.11253 1.72543,0.78769 1.68792,0.90023 1.65041,0.93773 1.57539,1.01276 1.53789,1.08777 1.46286,1.16279 0.18755,0.15003 -2.47562,2.85071 -0.15004
 ,-0.15003 0.075,0.075 -1.38784,-1.12528 0.075,0.075 -1.46286,-1.05026 0.075,0.0375 -1.50037,-0.93773 0.075,0.0375 -1.57539,-0.90023 0.075,0.0375 -1.57539,-0.8252 0.075,0.0375 -1.65041,-0.75019 0.075,0.0375 -0.26256,-0.11253 1.38784,-3.48837 z m 13.01575,8.8147 1.01275,1.05026 1.2003,1.42535 1.16279,1.50038 1.08777,1.53788 1.01275,1.57539 0.93773,1.65041 0.45012,0.82521 -3.37584,1.68792 -0.3751,-0.7877 0.0375,0.075 -0.90022,-1.53788 0.0375,0.075 -0.93774,-1.50038 0.0375,0.075 -1.05026,-1.46286 0.075,0.075 -1.12528,-1.42536 0.0375,0.075 -1.16279,-1.38785 0.075,0.075 -0.97525,-1.01275 2.73819,-2.58814 z m 8.4396,13.12827 0.33758,0.78769 0.60015,1.83796 0.52513,1.83796 0.45012,1.91298 0.33758,1.91297 0.22506,1.95049 0.11252,1.23781 -3.75093,0.30007 -0.075,-1.2003 0,0.11253 -0.22506,-1.87547 0,0.11253 -0.33758,-1.83796 0.0375,0.075 -0.4126,-1.80045 0.0375,0.075 -0.52513,-1.76294 0.0375,0.11253 -0.60015,-1.72543 0.0375,0.075 -0.30007,-0.75019 3.48837,-1.38784 z m 2.66316,15.41634 0,0.8627
 1 -0.15003,1.988 -0.26257,1.95048 -0.33758,1.91298 -0.45012,1.91298 -0.52513,1.87546 -0.37509,1.08778 -3.56339,-1.2003 0.3751,-1.05027 -0.0375,0.075 0.52513,-1.76294 -0.0375,0.11253 0.4126,-1.83796 -0.0375,0.11253 0.33758,-1.83796 0,0.075 0.22506,-1.87546 0,0.11252 0.15004,-1.87546 0,0.075 0,-0.7877 3.75093,0.075 z m -3.56339,15.22879 -0.26256,0.60015 -0.86272,1.68792 -0.93773,1.6129 -1.01275,1.61291 -1.08777,1.53788 -1.16279,1.46286 -1.12528,1.31283 -2.85071,-2.43811 1.12528,-1.27532 -0.075,0.075 1.12528,-1.42535 -0.075,0.075 1.05026,-1.46287 -0.0375,0.075 0.93774,-1.50037 -0.0375,0.075 0.90022,-1.5754 -0.0375,0.075 0.82521,-1.6129 -0.0375,0.11253 0.22505,-0.56264 3.41335,1.53788 z m -9.30231,12.67816 -1.31283,1.16279 -1.46286,1.16279 -1.53789,1.08777 -1.57539,1.01275 -1.65041,0.93774 -1.68792,0.86271 -0.56264,0.26257 -1.53788,-3.41335 0.52513,-0.26257 -0.075,0.075 1.57539,-0.82521 -0.075,0.0375 1.57539,-0.90022 -0.075,0.0375 1.50037,-0.97524 -0.075,0.075 1.46286,-1.05026 -0.075,0.
 0375 1.38784,-1.08777 -0.075,0.0375 1.31283,-1.08777 2.43811,2.8132 z m -13.42835,7.95198 -1.12528,0.37509 -1.83796,0.52514 -1.91297,0.45011 -1.91298,0.33758 -1.95049,0.22506 -1.98799,0.18754 -0.86272,0 -0.075,-3.75093 0.78769,0 -0.11253,0 1.91298,-0.15004 -0.11253,0 1.87547,-0.22505 -0.075,0 1.80045,-0.30008 -0.075,0 1.80045,-0.4126 -0.11253,0.0375 1.76294,-0.52513 -0.075,0.0375 1.08777,-0.3751 1.2003,3.56339 z m -15.52887,2.02551 -1.2003,-0.11253 -1.95048,-0.22506 -1.95049,-0.33758 -1.87546,-0.45011 -1.83796,-0.52514 -1.83796,-0.60015 -0.82521,-0.33758 1.38785,-3.48837 0.7877,0.30008 -0.11253,-0.0375 1.72543,0.60015 -0.075,-0.0375 1.76294,0.52513 -0.075,-0.0375 1.80045,0.4126 -0.11253,-0.0375 1.83796,0.33759 -0.075,0 1.83796,0.22505 -0.075,0 1.16279,0.075 -0.30008,3.75094 z m -15.04124,-4.20105 -0.7877,-0.4126 -1.65041,-0.93774 -1.57539,-1.01275 -1.53789,-1.08777 -1.46286,-1.16279 -1.42536,-1.23781 -1.08777,-1.05026 2.58815,-2.70067 1.05026,1.01275 -0.075,-0.075 1.35034,1.16279 -0
 .0375,-0.0375 1.38784,1.08777 -0.075,-0.0375 1.46287,1.01275 -0.075,-0.0375 1.50037,0.97524 -0.075,-0.0375 1.57539,0.90022 -0.075,-0.0375 0.71268,0.3751 -1.68792,3.33833 z m -12.19054,-9.78994 -0.11253,-0.15004 -1.16279,-1.46286 -1.12528,-1.53788 -1.01275,-1.61291 -0.90023,-1.6129 -0.90022,-1.68792 -0.75019,-1.72543 -0.15003,-0.33758 3.48837,-1.38785 0.11252,0.30008 -0.0375,-0.075 0.75019,1.65041 -0.0375,-0.11253 0.82521,1.6129 -0.0375,-0.075 0.90022,1.5754 -0.075,-0.075 0.97525,1.50037 -0.0375,-0.075 1.01275,1.46287 -0.0375,-0.075 1.12528,1.42535 -0.075,-0.075 0.11253,0.11253 -2.85071,2.43811 z m -7.42685,-13.84095 -0.37509,-1.42535 -0.45012,-1.87547 -0.33758,-1.95049 -0.26257,-1.95048 -0.15003,-1.95049 3.75093,-0.26256 0.15004,1.87546 -0.0375,-0.075 0.26256,1.83795 -0.0375,-0.075 0.33758,1.83796 -0.0375,-0.11253 0.45011,1.80045 -0.0375,-0.075 0.3751,1.35034 -3.6009,1.05026 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3021"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="148.84201"
-         x="693.09564"
-         xml:space="preserve">FAILED</text>
-      <path
-         id="path3023"
-         d="m 214.00957,303.30056 3.76968,-6.8267 3.86347,-6.75168 1.96924,-3.31958 2.04426,-3.26331 2.10052,-3.22581 2.17554,-3.11327 2.25056,-3.03826 2.34434,-2.94448 2.4381,-2.83196 2.56939,-2.70067 2.68192,-2.58815 2.83196,-2.41935 2.96324,-2.28807 3.11327,-2.10052 3.26331,-1.91298 3.41335,-1.76294 3.56339,-1.59414 3.67592,-1.42536 3.8072,-1.31283 3.88221,-1.16279 3.99475,-1.06901 4.08852,-0.93774 4.16353,-0.88147 4.21981,-0.76894 4.27606,-0.71268 4.33233,-0.67516 8.73968,-1.2003 6.97674,-0.86272 0.22505,1.85672 -6.95798,0.88146 0,-0.0188 -8.72092,1.2003 0,0 -4.31358,0.65641 0.0188,0 -4.25731,0.71268 0.0188,0 -4.20105,0.7877 0.0188,-0.0188 -4.14478,0.86272 0.0188,0 -4.05101,0.95649 0.0188,-0.0188 -3.95724,1.05026 0.0187,0 -3.86346,1.16279 0.0375,-0.0187 -3.75093,1.29407 0.0375,0 -3.63841,1.4066 0.0375,-0.0187 -3.52588,1.57539 0.0563,-0.0188 -3.37585,1.72543 0.0563,-0.0188 -3.22581,1.89422 0.0375,-0.0375 -3.05701,2.06301 0.0375,-0.0188 -2.90697,2.23181 0.0375,-0.0375 -2.77569,2.4
 0059 0.0375,-0.0375 -2.66316,2.55063 0.0375,-0.0375 -2.53188,2.68192 0.0188,-0.0375 -2.41935,2.8132 0.0375,-0.0375 -2.32558,2.92573 0.0188,-0.0375 -2.23181,3.0195 0.0188,-0.0375 -2.15679,3.11328 0,-0.0188 -2.08177,3.18829 0,-0.0188 -2.02551,3.24456 0.0188,0 -1.96924,3.30083 0,-0.0188 -3.84471,6.73293 0.0188,0 -3.76969,6.8267 z m 92.01042,-67.0292 9.47111,4.03226 -8.1958,6.2453 c -0.4126,0.31883 -0.99399,0.24381 -1.31282,-0.16879 -0.30008,-0.4126 -0.22506,-0.994 0.18754,-1.31283 l 6.90172,-5.27006 0.20631,1.6129 -7.98949,-3.41335 c -0.48763,-0.2063 -0.69393,-0.76894 -0.50638,-1.23781 0.2063,-0.48762 0.76894,-0.69392 1.23781,-0.48762 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3025"
-         d="m 217.92929,373.68684 8.32708,6.92048 8.27081,6.88296 4.06976,3.43211 4.0135,3.41335 3.95724,3.41335 3.90097,3.35709 3.8072,3.35708 3.71342,3.31958 3.61965,3.30082 3.50713,3.24456 3.39459,3.2258 3.26332,3.16954 3.11327,3.13203 2.96324,3.09452 2.8132,3.03826 2.66316,3.00075 2.51313,2.94448 2.38184,2.90698 2.26932,2.86946 2.15679,2.83196 2.04426,2.8132 1.95048,2.75693 1.87547,2.75694 1.80045,2.71943 1.74418,2.70067 1.68792,2.68192 3.26331,5.34508 2.21306,3.69467 -1.59415,0.95649 -2.23181,-3.69467 0,0.0188 -3.24456,-5.32632 0,0 -1.68792,-2.66317 0,0 -1.72543,-2.68191 0,0 -1.78169,-2.70068 0,0 -1.85671,-2.73818 0,0.0188 -1.95049,-2.75694 0.0188,0 -2.04426,-2.79445 0.0188,0.0188 -2.13803,-2.8132 0,0.0188 -2.25056,-2.86946 0,0.0187 -2.36309,-2.88822 0,0.0188 -2.49437,-2.94449 0.0188,0.0188 -2.64441,-2.982 0,0.0188 -2.79444,-3.03826 0.0188,0.0188 -2.96324,-3.07577 0.0188,0.0187 -3.11328,-3.13203 0.0188,0.0188 -3.24456,-3.16954 0,0 -3.37584,-3.20705 0,0 -3.50712,-3.24456 0.0187,
 0 -3.61965,-3.28207 0,0 -3.71343,-3.30082 0,0 -3.78844,-3.35708 0,0.0187 -3.88222,-3.37584 0,0 -3.95723,-3.3946 0,0.0188 -4.0135,-3.41335 0,0 -4.06977,-3.43211 0,0 -8.2333,-6.88296 -8.32707,-6.92048 z m 91.3165,88.10946 0.15004,10.29631 -9.03975,-4.95123 c -0.45012,-0.24381 -0.61891,-0.82521 -0.35634,-1.27532 0.24381,-0.45011 0.80645,-0.61891 1.25656,-0.37509 l 7.63315,4.18229 -1.4066,0.8252 -0.11253,-8.68341 c 0,-0.50638 0.41261,-0.93773 0.93774,-0.93773 0.50637,-0.0188 0.93773,0.39384 0.93773,0.91898 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3027"
-         d="m 451.44372,238.20309 c 0,-20.59263 16.69165,-37.28429 37.28428,-37.28429 20.59263,0 37.26554,16.69166 37.26554,37.28429 0,20.57388 -16.67291,37.26554 -37.26554,37.26554 -20.59263,0 -37.28428,-16.69166 -37.28428,-37.26554"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3029"
-         d="m 451.44372,238.20309 c 0,-20.59263 16.69165,-37.28429 37.28428,-37.28429 20.59263,0 37.26554,16.69166 37.26554,37.28429 0,20.57388 -16.67291,37.26554 -37.26554,37.26554 -20.59263,0 -37.28428,-16.69166 -37.28428,-37.26554"
-         style="fill:none;stroke:#41719c;stroke-width:1.25656307px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3031"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="234.7578"
-         x="456.54681"
-         xml:space="preserve">DEPLOY</text>
-      <text
-         id="text3033"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="234.7578"
-         x="516.11163"
-         xml:space="preserve">-</text>
-      <text
-         id="text3035"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="252.76228"
-         x="475.45154"
-         xml:space="preserve">ING</text>
-      <path
-         id="path3037"
-         d="m 734.65802,356.82639 c 0,-20.59263 16.65415,-37.28428 37.20927,-37.28428 20.51761,0 37.17176,16.69165 37.17176,37.28428 0,20.59263 -16.65415,37.28429 -37.17176,37.28429 -20.55512,0 -37.20927,-16.69166 -37.20927,-37.28429"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3039"
-         d="m 732.82006,358.77688 -0.0375,-1.95049 0.0375,-1.98799 0.15004,-2.02551 0.26257,-1.95048 0.33758,-1.91298 0.4126,-1.76294 3.63841,0.82521 -0.37509,1.72543 0,-0.075 -0.30008,1.83796 0,-0.11253 -0.22505,1.87547 0,-0.11253 -0.15004,1.91298 0,-0.11253 -0.0375,1.91297 0,-0.075 0.0375,1.91297 -3.75094,0.075 z m 2.36309,-15.45385 0.67517,-1.72543 0.7877,-1.72543 0.86271,-1.68792 0.93774,-1.65041 1.01275,-1.57539 1.08777,-1.5754 0.30007,-0.37509 2.92573,2.32558 -0.26256,0.33758 0.075,-0.075 -1.05027,1.46286 0.0375,-0.075 -0.93773,1.53788 0.0375,-0.075 -0.90023,1.53788 0.0375,-0.075 -0.8252,1.6129 0.0375,-0.075 -0.71268,1.65041 0.0375,-0.11252 -0.67517,1.72543 -3.48837,-1.38785 z m 8.21455,-13.27831 0.8252,-0.90022 1.35034,-1.31283 1.42536,-1.2003 1.46286,-1.16279 1.53788,-1.08777 1.5754,-1.05026 1.05026,-0.56264 1.83796,3.26331 -0.97525,0.56264 0.11253,-0.075 -1.53788,0.97525 0.075,-0.0375 -1.46287,1.05026 0.075,-0.075 -1.38785,1.08777 0.075,-0.0375 -1.35033,1.16279 0.075,-0.037
 5 -1.31283,1.23781 0.075,-0.075 -0.82521,0.86272 -2.70067,-2.58815 z m 12.71567,-9.03975 0.52513,-0.26257 1.80045,-0.67516 1.80044,-0.63766 1.83796,-0.52513 1.91298,-0.41261 1.91298,-0.33758 1.57539,-0.22506 0.48762,3.71343 -1.53788,0.22506 0.075,-0.0375 -1.83796,0.33758 0.11253,-0.0375 -1.80045,0.4126 0.11252,0 -1.76293,0.48762 0.075,0 -1.72543,0.56265 0.075,-0.0375 -1.68792,0.67516 0.075,-0.0375 -0.45011,0.22506 -1.57539,-3.41335 z m 15.30381,-3.30082 0.45011,-0.0375 1.988,0.075 1.98799,0.15003 1.95049,0.26257 1.95048,0.33758 1.87547,0.41261 1.46287,0.4126 -1.05027,3.63841 -1.38784,-0.41261 0.075,0 -1.80045,-0.4126 0.11253,0.0375 -1.83796,-0.33758 0.075,0.0375 -1.83796,-0.26257 0.075,0.0375 -1.87547,-0.15004 0.075,0 -1.91298,-0.075 0.11253,0 -0.4126,0.0375 -0.075,-3.75093 z m 15.37883,2.92573 0.26257,0.11252 1.76294,0.7877 1.65041,0.90023 1.65041,0.90022 1.57539,1.05026 1.53788,1.08777 1.46287,1.16279 0.22505,0.15004 -2.47561,2.85071 -0.15004,-0.15004 0.0375,0.0375 -1.38785,-1.087
 77 0.075,0.075 -1.46286,-1.05026 0.075,0.0375 -1.50038,-0.97525 0.075,0.075 -1.53788,-0.90022 0.075,0.0375 -1.61291,-0.82521 0.075,0.0375 -1.65041,-0.75019 0.075,0.0375 -0.22506,-0.11252 1.38785,-3.48837 z m 12.97823,8.81469 1.01276,1.05026 1.2378,1.42536 1.16279,1.50037 1.05027,1.53789 1.05026,1.57539 0.93773,1.65041 0.4126,0.82521 -3.33833,1.68792 -0.4126,-0.7877 0.0375,0.075 -0.86272,-1.53788 0.0375,0.075 -0.97524,-1.53788 0.0375,0.075 -1.01275,-1.46286 0.0375,0.075 -1.08777,-1.38784 0.0375,0.075 -1.16278,-1.35034 0.0375,0.0375 -0.93773,-1.01275 2.70067,-2.58815 z m 8.47712,13.12827 0.30007,0.7877 0.60015,1.83796 0.56264,1.83796 0.4126,1.91297 0.33759,1.91298 0.26256,1.95048 0.11253,1.23781 -3.75093,0.30008 -0.11253,-1.2003 0.0375,0.11253 -0.26257,-1.87547 0.0375,0.11253 -0.33758,-1.83796 0,0.075 -0.41261,-1.80045 0.0375,0.11253 -0.48762,-1.76294 0,0.075 -0.56264,-1.76294 0.0375,0.11253 -0.30007,-0.75019 3.48837,-1.38785 z m 2.66316,15.41634 -0.0375,0.86272 -0.15004,1.98799 -0.26
 256,1.95049 -0.33759,1.91298 -0.4126,1.91297 -0.52513,1.87547 -0.37509,1.08777 -3.56339,-1.2003 0.37509,-1.05026 -0.0375,0.075 0.48762,-1.76294 -0.0375,0.075 0.41261,-1.80045 0,0.11253 0.33758,-1.83796 -0.0375,0.075 0.26257,-1.87547 0,0.11253 0.11253,-1.87547 0,0.075 0.0375,-0.78769 3.75094,0.075 z m -3.56339,15.2288 -0.26256,0.60015 -0.86272,1.68792 -0.93773,1.6129 -1.05026,1.6129 -1.05027,1.53788 -1.16279,1.46287 -1.16279,1.31283 -2.8132,-2.43811 1.08777,-1.27532 -0.0375,0.0375 1.08777,-1.38785 -0.0375,0.075 1.01275,-1.46286 -0.0375,0.075 0.97524,-1.53789 -0.0375,0.11253 0.86272,-1.57539 -0.0375,0.075 0.8252,-1.6129 -0.0375,0.075 0.22505,-0.52514 3.45086,1.53789 z m -9.30232,12.67816 -1.35033,1.16279 -1.46287,1.12528 -1.53788,1.12528 -1.57539,1.01275 -1.65041,0.93773 -1.68792,0.86272 -0.56264,0.26256 -1.53789,-3.41335 0.52513,-0.26256 -0.075,0.075 1.61291,-0.82521 -0.11253,0.0375 1.57539,-0.90022 -0.075,0.0375 1.50038,-0.97524 -0.075,0.075 1.46286,-1.05026 -0.075,0.0375 1.42536,-1
 .08777 -0.075,0.0375 1.27532,-1.12528 2.47561,2.85071 z m -13.46585,7.95198 -1.08777,0.37509 -1.87547,0.52513 -1.91298,0.45011 -1.91297,0.33759 -1.95049,0.22505 -1.98799,0.18755 -0.86272,0 -0.075,-3.75093 0.7877,0 -0.075,0 1.87547,-0.15004 -0.075,0 1.83796,-0.22506 -0.075,0 1.83796,-0.33758 -0.11253,0.0375 1.80045,-0.4126 -0.075,0.0375 1.76294,-0.52513 -0.075,0.0375 1.05026,-0.37509 1.2003,3.56339 z m -15.52887,2.0255 -1.2003,-0.11253 -1.95048,-0.22505 -1.91298,-0.33759 -1.91298,-0.45011 -1.83796,-0.52513 -1.80044,-0.60015 -0.86272,-0.33758 1.38785,-3.48837 0.78769,0.30007 -0.075,-0.0375 1.72543,0.60015 -0.11252,-0.0375 1.80044,0.52513 -0.11252,-0.0375 1.80045,0.4126 -0.11253,-0.0375 1.83796,0.33758 -0.075,0 1.83795,0.22506 -0.075,0 1.16279,0.075 -0.30008,3.75093 z m -15.04125,-4.20104 -0.78769,-0.41261 -1.65041,-0.93773 -1.5754,-1.01275 -1.53788,-1.12528 -1.46286,-1.16279 -1.42536,-1.2003 -1.08777,-1.05026 2.58814,-2.70068 1.05027,0.97525 -0.0375,-0.0375 1.35033,1.16279 -0.075,-0.0
 375 1.38785,1.08777 -0.075,-0.0375 1.46287,1.01275 -0.075,-0.0375 1.50037,0.97524 -0.075,-0.0375 1.5754,0.90022 -0.075,-0.0375 0.75018,0.37509 -1.72543,3.33834 z m -12.19053,-9.78994 -0.11253,-0.15004 -1.16279,-1.46287 -1.08777,-1.53788 -1.01275,-1.6129 -0.93774,-1.6129 -0.86271,-1.68792 -0.7877,-1.76294 -0.15004,-0.30008 3.48837,-1.38784 0.15004,0.30007 -0.0375,-0.11253 0.71268,1.65042 -0.0375,-0.075 0.8252,1.6129 -0.0375,-0.075 0.90023,1.57539 -0.0375,-0.075 0.93773,1.50038 -0.0375,-0.075 1.05027,1.46286 -0.075,-0.075 1.12528,1.38785 -0.075,-0.0375 0.11253,0.11253 -2.85071,2.43811 z m -7.42685,-13.84095 -0.3751,-1.42536 -0.45011,-1.87546 -0.33758,-1.95049 -0.26257,-1.95049 -0.15004,-1.95048 3.75094,-0.26257 0.15004,1.87547 0,-0.11253 0.22505,1.87547 -0.0375,-0.075 0.33759,1.83796 0,-0.11253 0.4126,1.80045 -0.0375,-0.075 0.4126,1.38785 -3.6384,1.01275 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3041"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="362.3895"
-         x="736.9231"
-         xml:space="preserve">FINISHED</text>
-      <path
-         id="path3043"
-         d="m 586.49611,238.22185 c 0,-20.59263 16.69166,-37.28429 37.28429,-37.28429 20.59263,0 37.24678,16.69166 37.24678,37.28429 0,20.55512 -16.65415,37.24678 -37.24678,37.24678 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.24678"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3045"
-         d="m 586.49611,238.22185 c 0,-20.59263 16.69166,-37.28429 37.28429,-37.28429 20.59263,0 37.24678,16.69166 37.24678,37.28429 0,20.55512 -16.65415,37.24678 -37.24678,37.24678 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.24678"
-         style="fill:none;stroke:#41719c;stroke-width:1.23780835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3047"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="243.76004"
-         x="588.8797"
-         xml:space="preserve">RUNNING</text>
-      <path
-         id="path3049"
-         d="m 400.97489,237.17159 38.40957,0 0,1.87546 -38.40957,0 z m 31.37657,-4.23856 8.88971,5.17629 -8.88971,5.19504 c -0.45011,0.26257 -1.03151,0.11253 -1.29407,-0.33758 -0.26257,-0.45011 -0.11253,-1.01275 0.33758,-1.27532 l 7.50187,-4.38859 0,1.63165 -7.50187,-4.38859 c -0.43136,-0.26256 -0.60015,-0.8252 -0.33758,-1.27532 0.26256,-0.45011 0.84396,-0.60015 1.29407,-0.33758 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3051"
-         d="m 535.53967,237.17159 38.40957,0 0,1.87546 -38.40957,0 z m 31.37656,-4.23856 8.88972,5.17629 -8.88972,5.19504 c -0.45011,0.26257 -1.0315,0.11253 -1.29407,-0.33758 -0.26256,-0.45011 -0.0938,-1.01275 0.33758,-1.27532 l 7.50187,-4.38859 0,1.63165 -7.50187,-4.38859 c -0.43135,-0.26256 -0.60014,-0.8252 -0.33758,-1.27532 0.26257,-0.45011 0.84396,-0.60015 1.29407,-0.33758 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3053"
-         d="m 672.58006,252.85049 6.60164,5.2138 6.52663,5.17629 6.4141,5.10127 3.15078,2.55064 3.07577,2.51312 3.03825,2.47562 2.96324,2.47562 2.88822,2.4381 2.8132,2.4006 2.70067,2.36309 2.58815,2.28807 2.51313,2.28807 2.40059,2.21305 2.25056,2.17554 2.17555,2.13804 2.0255,2.10052 1.95049,2.0255 1.87546,2.02551 1.76294,1.95048 1.68792,1.95049 1.61291,1.91298 1.57539,1.87546 1.50037,1.87547 2.85071,3.63841 2.77569,3.6384 1.5754,2.06302 -1.50038,1.12528 -1.57539,-2.06302 0,0 -2.73818,-3.60089 0,0 -2.85071,-3.63841 0,0 -1.50038,-1.83796 0,0 -1.53788,-1.87546 0,0 -1.6129,-1.87547 0,0 -1.68792,-1.95049 0.0375,0.0375 -1.76294,-1.98799 0,0.0375 -1.83796,-2.02551 0,0.0375 -1.95049,-2.06301 0.0375,0.0375 -2.06301,-2.10053 0.0375,0.0375 -2.17554,-2.13803 0.0375,0 -2.28807,-2.13803 0.0375,0 -2.4006,-2.21305 0,0 -2.47562,-2.28807 0,0.0375 -2.58814,-2.32557 0,0 -2.70068,-2.32558 0,0 -2.8132,-2.4006 0.0375,0 -2.88822,-2.43811 0,0 -2.96324,-2.43811 0,0 -3.00074,-2.47561 0,0 -3.11328,-2.51313 -3.
 15078,-2.55063 0.0375,0 -6.4141,-5.10128 0,0 -6.52663,-5.17629 -6.60164,-5.17628 z m 72.46805,60.69012 1.2003,10.24005 -9.48986,-3.97599 c -0.48763,-0.22505 -0.71268,-0.78769 -0.52514,-1.23781 0.22506,-0.48762 0.75019,-0.71267 1.23781,-0.52513 l 7.98949,3.37584 -1.27531,0.97525 -1.01276,-8.62715 c -0.0375,-0.48762 0.30008,-0.97525 0.82521,-1.01276 0.52513,-0.075 0.97524,0.30008 1.05026,0.7877 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3055"
-         d="m 350.97494,285.22106 -1.35034,12.71566 -1.33158,12.67816 -1.29407,12.56563 -1.27532,12.43435 -0.61891,6.15153 -0.58139,6.09527 -0.60015,6.03901 -0.56264,5.98274 -0.54389,5.88896 -0.52513,5.85146 -0.48762,5.73893 -0.48762,5.66391 -0.45011,5.57014 -0.43136,5.47636 -0.39385,5.40135 -0.39385,5.32633 -0.35633,5.2513 -0.33759,5.17629 -0.33758,5.13878 -0.31883,5.06377 -0.5814,10.03375 -0.56264,9.86495 -0.52513,9.78994 -0.4126,7.87696 1.87547,0.0938 0.4126,-7.87696 0.52513,-9.77119 0.54389,-9.88371 0.60015,-10.015 0,0.0188 0.31882,-5.08252 0.31883,-5.12002 0.35634,-5.19505 0.35634,-5.23255 0,0 0.3751,-5.32633 0.4126,-5.38259 0,0 0.43136,-5.47636 0.45011,-5.57014 0,0 0.46886,-5.64516 0.50638,-5.75768 0,0 0.52513,-5.81395 0.54389,-5.90772 0.56264,-5.96399 0,0 0.58139,-6.039 0.60015,-6.09527 0,0 0.61891,-6.15153 1.25656,-12.43435 1.31283,-12.56563 1.33158,-12.65941 1.33158,-12.71566 z m -18.64215,170.53623 4.70743,9.15228 5.66391,-8.60839 c 0.28132,-0.43136 0.15003,-1.01276 -0.281
 32,-1.29408 -0.43136,-0.28132 -1.01276,-0.16879 -1.29408,0.26257 l -4.76368,7.25806 1.6129,0.0938 -3.97599,-7.72692 c -0.22506,-0.46887 -0.7877,-0.63766 -1.25656,-0.41261 -0.46887,0.24381 -0.63766,0.80645 -0.41261,1.27532 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3057"
-         d="m 452.38145,422.93661 c 0,-20.59263 16.69166,-37.28428 37.28429,-37.28428 20.59263,0 37.26553,16.69165 37.26553,37.28428 0,20.57388 -16.6729,37.26554 -37.26553,37.26554 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.26554"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3059"
-         d="m 452.38145,422.93661 c 0,-20.59263 16.69166,-37.28428 37.28429,-37.28428 20.59263,0 37.26553,16.69165 37.26553,37.28428 0,20.57388 -16.6729,37.26554 -37.26553,37.26554 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.26554"
-         style="fill:none;stroke:#41719c;stroke-width:1.25656307px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3061"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="419.47919"
-         x="456.86319"
-         xml:space="preserve">CANCEL</text>
-      <text
-         id="text3063"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="419.47919"
-         x="517.77838"
-         xml:space="preserve">-</text>
-      <text
-         id="text3065"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="437.48367"
-         x="476.36804"
-         xml:space="preserve">ING</text>
-      <path
-         id="path3067"
-         d="m 440.69729,443.60426 -69.86116,41.52285 0.95649,1.6129 69.86116,-41.52285 z m -65.99769,34.26479 -4.98875,9.00224 10.29632,-0.075 c 0.50638,0 0.93773,-0.43135 0.91898,-0.95649 0,-0.50637 -0.4126,-0.91897 -0.93774,-0.91897 l -8.68341,0.075 0.82521,1.38785 4.2198,-7.59564 c 0.24381,-0.45011 0.075,-1.03151 -0.3751,-1.27532 -0.45011,-0.24381 -1.01275,-0.0938 -1.27531,0.35634 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3069"
-         d="m 491.63498,285.23981 -1.01275,12.60314 -0.50638,6.22655 -0.46887,6.18904 -0.46886,6.05776 -0.43136,5.96399 -0.39385,5.8327 -0.37509,5.66391 -0.33759,5.47637 -0.30007,5.32632 -0.26257,5.17629 -0.24381,5.06376 -0.22505,4.96999 -0.2063,4.89497 -0.31883,7.83946 1.85671,0.075 0.31883,-7.82069 0.2063,-4.91373 0,0 0.22506,-4.95123 0.24381,-5.06376 0,0 0.28132,-5.17629 0,0 0.30007,-5.30758 0,0 0.31883,-5.47636 0,0 0.37509,-5.64516 0.41261,-5.81394 0.43135,-5.96399 0,0 0.45012,-6.07651 0.48762,-6.17029 0.48762,-6.22655 1.01275,-12.60314 z m -9.52737,80.08245 4.81995,9.09602 5.55138,-8.68342 c 0.28132,-0.43135 0.15004,-1.01275 -0.28132,-1.29407 -0.43136,-0.28132 -1.01275,-0.15004 -1.29407,0.28132 l -4.68867,7.33308 1.63165,0.0563 -4.06976,-7.67066 c -0.24381,-0.45011 -0.80645,-0.63766 -1.27532,-0.39385 -0.45011,0.24381 -0.6189,0.80645 -0.39384,1.27532 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3071"
-         d="m 610.01447,278.05677 -4.05101,8.73968 -4.05101,8.70217 -4.12603,8.55213 -2.10052,4.23855 -2.13803,4.16354 -2.13803,4.12603 -2.21306,4.05101 -2.21305,4.0135 -2.28807,3.90097 -2.32558,3.78844 -2.36309,3.75094 -2.40059,3.60089 -2.51313,3.52588 -2.51313,3.41335 -2.62565,3.30083 -2.62565,3.18829 -2.70068,3.07577 -2.73818,3.00074 -2.77569,2.92573 -2.8132,2.85071 -2.85071,2.77569 -2.88822,2.70068 -2.92573,2.66316 -5.85146,5.2138 -5.92647,5.06376 -4.53863,3.82595 -1.2003,-1.42535 4.50112,-3.82595 0,0 5.92647,-5.06377 0,0 5.85146,-5.17629 0,0 2.88822,-2.62565 0,0 2.85071,-2.70067 0,0 2.85071,-2.77569 -0.0375,0 2.8132,-2.81321 0,0 2.73819,-2.88821 0,0 2.73818,-3.00075 -0.0375,0.0375 2.70067,-3.07577 -0.0375,0 2.66316,-3.15078 -0.0375,0 2.58814,-3.26332 0,0.0375 2.51313,-3.37584 0,0 2.47561,-3.48837 -0.0375,0 2.4006,-3.60089 0,0.0375 2.36309,-3.71342 0,0 2.28807,-3.78844 0,0 2.25056,-3.86347 0,0 2.21305,-3.97599 0,0 2.17554,-4.0135 0,0 2.17555,-4.12603 -0.0375,0.0375 2.13803,-4.16
 353 0,0 2.10052,-4.23856 0,0.0375 4.12603,-8.58964 0,0.0375 4.05101,-8.70217 0,0 4.05101,-8.73968 z m -70.59259,107.87688 -10.12752,1.76293 3.45086,-9.67741 c 0.15004,-0.48762 0.71268,-0.75018 1.2003,-0.60015 0.48762,0.18755 0.75019,0.71268 0.56264,1.2003 l -2.92573,8.17704 -1.05026,-1.23781 8.58964,-1.46286 c 0.48762,-0.11253 0.97524,0.22505 1.08777,0.75018 0.075,0.52514 -0.26257,0.97525 -0.7877,1.08778 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3073"
-         d="m 637.47131,198.34941 2.70067,-3.56338 2.66317,-3.52588 2.70067,-3.41335 2.70067,-3.33833 2.70067,-3.1883 1.35034,-1.50037 1.38785,-1.46287 1.35033,-1.42535 1.38785,-1.35034 1.38784,-1.27532 1.38785,-1.2378 1.35034,-1.12528 1.42535,-1.05027 1.38785,-0.97524 1.38784,-0.93773 1.38785,-0.86272 1.42535,-0.8252 2.7757,-1.46287 2.8132,-1.31282 2.77569,-1.2003 2.8132,-1.12528 1.05026,-0.3751 0.63766,1.72543 -1.01275,0.4126 0,0 -2.77569,1.08778 0.0375,0 -2.7757,1.20029 0.0375,-0.0375 -2.77569,1.31282 0.0375,-0.0375 -2.73818,1.46287 0,0 -1.35034,0.78769 0,-0.0375 -1.35033,0.86272 0,0 -1.35034,0.90022 0,0 -1.35034,0.93774 0.0375,0 -1.38784,1.05026 0.0375,-0.0375 -1.35034,1.12528 0,-0.0375 -1.35034,1.2003 0,0 -1.35033,1.23781 0.0375,0 -1.38785,1.31283 0.0375,0 -1.35034,1.38784 0,0 -1.35033,1.42536 0.0375,0 -1.35034,1.50037 0,0 -2.70067,3.15078 0.0375,-0.0375 -2.70068,3.33833 0,0 -2.66316,3.41335 0,0 -2.70067,3.48837 0,0 -2.66317,3.56338 z m 34.20852,-37.99696 10.16503,1.65041 -6.45
 16,8.027 c -0.33759,0.4126 -0.93774,0.48762 -1.31283,0.15004 -0.4126,-0.33759 -0.48762,-0.90023 -0.15004,-1.31283 l 5.43886,-6.78919 0.56264,1.53788 -8.55213,-1.42535 c -0.52513,-0.075 -0.86272,-0.56264 -0.7877,-1.08778 0.11253,-0.48762 0.56264,-0.8252 1.08777,-0.75018 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3075"
-         d="m 499.737,198.08685 12.60314,-7.53938 6.30157,-3.75093 6.26406,-3.71343 6.26406,-3.63841 6.18904,-3.56338 6.18904,-3.48837 6.15153,-3.37584 6.07652,-3.30083 6.039,-3.11327 6.0015,-3.00075 5.88896,-2.8132 5.85146,-2.66316 5.77644,-2.47562 5.66391,-2.25056 2.8132,-1.08777 2.77569,-0.97524 2.7757,-0.93774 2.73818,-0.86271 5.40134,-1.61291 5.28882,-1.38784 5.25131,-1.2003 5.13878,-1.01275 5.10127,-0.86272 5.02625,-0.71267 4.95124,-0.56264 4.91372,-0.45012 4.87622,-0.37509 4.8387,-0.26257 4.8012,-0.22505 4.76368,-0.11253 4.76369,-0.11253 7.57689,-0.075 0.0375,1.87547 -7.57689,0.075 0,0 -4.76369,0.11253 0,0 -4.76368,0.11253 0.0375,0 -4.8012,0.22505 0.0375,0 -4.83871,0.26257 0.0375,0 -4.87621,0.33758 0.0375,0 -4.91373,0.48762 0.0375,0 -4.95123,0.56264 0,0 -4.98874,0.71268 0.0375,0 -5.06377,0.82521 0.0375,0 -5.13878,1.01275 0.0375,0 -5.2138,1.2003 0.0375,0 -5.28881,1.38784 0,-0.0375 -5.36384,1.61291 0.0375,0 -2.73818,0.86271 0,0 -2.73819,0.90022 0.0375,0 -2.77569,1.01276 0,-0.03
 75 -2.77569,1.05026 0,0 -5.66391,2.25056 0.0375,0 -5.73893,2.43811 0,0 -5.81395,2.66316 0.0375,0 -5.88897,2.8132 0,0 -5.96398,2.96324 0,0 -6.03901,3.15078 0.0375,-0.0375 -6.07651,3.26331 0,0 -6.11402,3.37584 0,0 -6.18905,3.48837 0,0 -6.18904,3.56339 0,0 -6.26406,3.6384 0,0 -6.26406,3.71343 0.0375,0 -6.30157,3.75093 -12.60314,7.53938 z m 168.00435,-65.67886 8.92723,5.06376 -8.8147,5.28882 c -0.45011,0.26256 -1.01275,0.15003 -1.27532,-0.30008 -0.26256,-0.45011 -0.15004,-1.01275 0.30008,-1.31283 l 0,0 7.46436,-4.46361 0,1.65041 -7.53938,-4.31357 c -0.45011,-0.26257 -0.60015,-0.82521 -0.33759,-1.27532 0.22506,-0.45011 0.82521,-0.60015 1.27532,-0.33758 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3077"
-         d="m 360.65235,197.14911 23.18077,-13.54087 23.06825,-13.31582 11.44035,-6.48911 11.40284,-6.30157 11.32782,-6.11403 11.25281,-5.88896 11.14027,-5.6264 11.02775,-5.36384 10.91522,-4.98874 10.76518,-4.65116 10.61514,-4.27607 10.4276,-3.86346 10.27756,-3.37584 10.09002,-2.88822 4.98874,-1.27532 4.91372,-1.12528 4.87622,-1.01275 4.8387,-0.90023 4.76369,-0.78769 4.72618,-0.63766 4.72617,-0.56264 4.65116,-0.45011 4.61365,-0.3751 4.57614,-0.26256 4.53863,-0.18755 4.53863,-0.075 4.46362,-0.0375 4.46361,0.075 4.4261,0.15004 4.38859,0.22506 4.35109,0.26256 4.35108,0.33759 4.31358,0.4126 4.31357,0.4126 8.51462,1.05026 8.4396,1.2003 8.43961,1.35034 8.36458,1.42535 8.32708,1.46287 6.48911,1.2003 -0.33758,1.83795 -6.48912,-1.16278 0,0 -8.32707,-1.50038 0,0 -8.32708,-1.42535 0,0 -8.40209,-1.31283 0,0 -8.4396,-1.2003 0,0 -8.47712,-1.05026 0,0 -4.27606,-0.45011 0,0 -4.31357,-0.3751 0.0375,0 -4.35108,-0.33758 0.0375,0 -4.35108,-0.26257 0,0 -4.3886,-0.22505 0.0375,0 -4.4261,-0.15004 0.0375,0
  -4.4261,-0.075 0,0 -4.46362,0.0375 0,0 -4.46361,0.075 0,0 -4.53863,0.18755 0.0375,0 -4.57614,0.26256 0.0375,0 -4.61365,0.33759 0.0375,0 -4.65116,0.45011 0,0 -4.65116,0.56264 0,0 -4.72618,0.67517 0.0375,0 -4.76368,0.75018 0.0375,0 -4.83871,0.90023 0.0375,0 -4.8387,1.01275 0,0 -4.91373,1.12528 0.0375,-0.0375 -4.95123,1.27532 0.0375,0 -10.05251,2.88822 0.0375,-0.0375 -10.27756,3.41335 0.0375,-0.0375 -10.4276,3.86346 0.0375,-0.0375 -10.57763,4.27607 0,0 -10.72768,4.61365 0,0 -10.87771,5.02625 0.0375,-0.0375 -11.02774,5.36384 0,0 -11.10277,5.6264 0,-0.0375 -11.21529,5.88897 0,0 -11.32783,6.11402 0,0 -11.36533,6.30157 0,0 -11.47786,6.45161 0,0 -23.03073,13.31581 0,0 -23.18078,13.54088 z m 311.17752,-90.24748 7.83945,6.71417 -9.71492,3.48837 c -0.48762,0.18755 -1.01275,-0.075 -1.2003,-0.56264 -0.15003,-0.48762 0.11253,-1.01275 0.60015,-1.2003 l 8.13953,-2.96323 -0.30007,1.6129 -6.56414,-5.66391 c -0.4126,-0.33759 -0.45011,-0.93774 -0.11253,-1.31283 0.33759,-0.4126 0.93774,-0.45011 1.31283
 ,-0.11253 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-</svg>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/general_arch.html
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/general_arch.html b/content/docs/master/internals/general_arch.html
deleted file mode 100644
index 4da6416..0000000
--- a/content/docs/master/internals/general_arch.html
+++ /dev/null
@@ -1,285 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: General Architecture and Process Model</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>General Architecture and Process Model</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#the-processes" id="markdown-toc-the-processes">The Processes</a></li>
-  <li><a href="#component-stack" id="markdown-toc-component-stack">Component Stack</a></li>
-  <li><a href="#projects-and-dependencies" id="markdown-toc-projects-and-dependencies">Projects and Dependencies</a></li>
-</ul>
-
-<h2 id="the-processes">The Processes</h2>
-
-<p>When the Flink system is started, it bring up the <em>JobManager</em> and one or more <em>TaskManagers</em>. The JobManager
-is the coordinator of the Flink system, while the TaskManagers are the workers that execute parts of the
-parallel programs. When starting the system in <em>local</em> mode, a single JobManager and TaskManager are brought
-up within the same JVM.</p>
-
-<p>When a program is submitted, a client is created that performs the pre-processing and turns the program
-into the parallel data flow form that is executed by the JobManager and TaskManagers. The figure below
-illustrates the different actors in the system very coarsely.</p>
-
-<div style="text-align: center;">
-<img src="fig/ClientJmTm.svg" alt="The Interactions between Client, JobManager and TaskManager" height="400px" style="text-align: center;" />
-</div>
-
-<h2 id="component-stack">Component Stack</h2>
-
-<p>An alternative view on the system is given by the stack below. The different layers of the stack build on
-top of each other and raise the abstraction level of the program representations they accept:</p>
-
-<ul>
-  <li>
-    <p>The <strong>runtime</strong> layer receives a program in the form of a <em>JobGraph</em>. A JobGraph is a generic parallel
-data flow with arbitrary tasks that consume and produce data streams.</p>
-  </li>
-  <li>
-    <p>The <strong>optimizer</strong> and <strong>common api</strong> layer takes programs in the form of operator DAGs. The operators are
-specific (e.g., Map, Join, Filter, Reduce, …), but are data type agnostic. The concrete types and their
-interaction with the runtime is specified by the higher layers.</p>
-  </li>
-  <li>
-    <p>The <strong>API layer</strong> implements multiple APIs that create operator DAGs for their programs. Each API needs
-to provide utilities (serializers, comparators) that describe the interaction between its data types and
-the runtime.</p>
-  </li>
-</ul>
-
-<div style="text-align: center;">
-<img src="fig/stack.svg" alt="The Flink component stack" width="800px" />
-</div>
-
-<h2 id="projects-and-dependencies">Projects and Dependencies</h2>
-
-<p>The Flink system code is divided into multiple sub-projects. The goal is to reduce the number of
-dependencies that a project implementing a Flink progam needs, as well as to faciltate easier testing
-of smaller sub-modules.</p>
-
-<p>The individual projects and their dependencies are shown in the figure below.</p>
-
-<div style="text-align: center;">
-<img src="fig/projects_dependencies.svg" alt="The Flink sub-projects and their dependencies" height="600px" style="text-align: center;" />
-</div>
-
-<p>In addition to the projects listed in the figure above, Flink currently contains the following sub-projects:</p>
-
-<ul>
-  <li>
-    <p><code>flink-dist</code>: The <em>distribution</em> project. It defines how to assemble the compiled code, scripts, and other resources
-into the final folder structure that is ready to use.</p>
-  </li>
-  <li>
-    <p><code>flink-staging</code>: A series of projects that are in an early version. Currently contains
-among other things projects for YARN support, JDBC data sources and sinks, hadoop compatibility,
-graph specific operators, and HBase connectors.</p>
-  </li>
-  <li>
-    <p><code>flink-quickstart</code>: Scripts, maven archetypes, and example programs for the quickstarts and tutorials.</p>
-  </li>
-  <li>
-    <p><code>flink-contrib</code>: Useful tools contributed by users. The code is maintained mainly by external contributors. The requirements for code being accepted into <code>flink-contrib</code> are lower compared to the rest of the code.</p>
-  </li>
-</ul>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/how_to_contribute.html
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/how_to_contribute.html b/content/docs/master/internals/how_to_contribute.html
deleted file mode 100644
index c8c250b..0000000
--- a/content/docs/master/internals/how_to_contribute.html
+++ /dev/null
@@ -1,207 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: How to Contribute</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>How to Contribute</h1>
-
-
-
-<p>The <em>How to Contribute</em> guide is located <a href="http://flink.apache.org/how-to-contribute.html">on the project website</a>.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[28/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/quickstart.html b/content/docs/0.9/libs/ml/quickstart.html
deleted file mode 100644
index 188864b..0000000
--- a/content/docs/0.9/libs/ml/quickstart.html
+++ /dev/null
@@ -1,438 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - Quickstart Guide</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - Quickstart Guide</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#introduction" id="markdown-toc-introduction">Introduction</a></li>
-  <li><a href="#linking-with-flinkml" id="markdown-toc-linking-with-flinkml">Linking with FlinkML</a></li>
-  <li><a href="#loading-data" id="markdown-toc-loading-data">Loading data</a></li>
-  <li><a href="#classification" id="markdown-toc-classification">Classification</a></li>
-  <li><a href="#data-pre-processing-and-pipelines" id="markdown-toc-data-pre-processing-and-pipelines">Data pre-processing and pipelines</a></li>
-  <li><a href="#where-to-go-from-here" id="markdown-toc-where-to-go-from-here">Where to go from here</a></li>
-</ul>
-
-<h2 id="introduction">Introduction</h2>
-
-<p>FlinkML is designed to make learning from your data a straight-forward process, abstracting away
-the complexities that usually come with big data learning tasks. In this
-quick-start guide we will show just how easy it is to solve a simple supervised learning problem
-using FlinkML. But first some basics, feel free to skip the next few lines if you’re already
-familiar with Machine Learning (ML).</p>
-
-<p>As defined by Murphy <a href="#murphy">[1]</a> ML deals with detecting patterns in data, and using those
-learned patterns to make predictions about the future. We can categorize most ML algorithms into
-two major categories: Supervised and Unsupervised Learning.</p>
-
-<ul>
-  <li>
-    <p><strong>Supervised Learning</strong> deals with learning a function (mapping) from a set of inputs
-(features) to a set of outputs. The learning is done using a <em>training set</em> of (input,
-output) pairs that we use to approximate the mapping function. Supervised learning problems are
-further divided into classification and regression problems. In classification problems we try to
-predict the <em>class</em> that an example belongs to, for example whether a user is going to click on
-an ad or not. Regression problems one the other hand, are about predicting (real) numerical
-values, often called the dependent variable, for example what the temperature will be tomorrow.</p>
-  </li>
-  <li>
-    <p><strong>Unsupervised Learning</strong> deals with discovering patterns and regularities in the data. An example
-of this would be <em>clustering</em>, where we try to discover groupings of the data from the
-descriptive features. Unsupervised learning can also be used for feature selection, for example
-through <a href="https://en.wikipedia.org/wiki/Principal_component_analysis">principal components analysis</a>.</p>
-  </li>
-</ul>
-
-<h2 id="linking-with-flinkml">Linking with FlinkML</h2>
-
-<p>In order to use FlinkML in your project, first you have to
-<a href="http://ci.apache.org/projects/flink/flink-docs-master/apis/programming_guide.html#linking-with-flink">set up a Flink program</a>.
-Next, you have to add the FlinkML dependency to the <code>pom.xml</code> of your project:</p>
-
-<div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-ml<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<h2 id="loading-data">Loading data</h2>
-
-<p>To load data to be used with FlinkML we can use the ETL capabilities of Flink, or specialized
-functions for formatted data, such as the LibSVM format. For supervised learning problems it is
-common to use the <code>LabeledVector</code> class to represent the <code>(label, features)</code> examples. A <code>LabeledVector</code>
-object will have a FlinkML <code>Vector</code> member representing the features of the example and a <code>Double</code>
-member which represents the label, which could be the class in a classification problem, or the dependent
-variable for a regression problem.</p>
-
-<p>As an example, we can use Haberman’s Survival Data Set , which you can
-<a href="http://archive.ics.uci.edu/ml/machine-learning-databases/haberman/haberman.data">download from the UCI ML repository</a>.
-This dataset <em>“contains cases from a study conducted on the survival of patients who had undergone
-surgery for breast cancer”</em>. The data comes in a comma-separated file, where the first 3 columns
-are the features and last column is the class, and the 4th column indicates whether the patient
-survived 5 years or longer (label 1), or died within 5 years (label 2). You can check the <a href="https://archive.ics.uci.edu/ml/datasets/Haberman%27s+Survival">UCI
-page</a> for more information on the data.</p>
-
-<p>We can load the data as a <code>DataSet[String]</code> first:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala.ExecutionEnvironment</span>
-
-<span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-
-<span class="k">val</span> <span class="n">survival</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readCsvFile</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">String</span>, <span class="kt">String</span>, <span class="kt">String</span><span class="o">)](</span><span class="s">&quot;/path/to/haberman.data&quot;</span><span class="o">)</span></code></pre></div>
-
-<p>We can now transform the data into a <code>DataSet[LabeledVector]</code>. This will allow us to use the
-dataset with the FlinkML classification algorithms. We know that the 4th element of the dataset
-is the class label, and the rest are features, so we can build <code>LabeledVector</code> elements like this:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.ml.common.LabeledVector</span>
-<span class="k">import</span> <span class="nn">org.apache.flink.ml.math.DenseVector</span>
-
-<span class="k">val</span> <span class="n">survivalLV</span> <span class="k">=</span> <span class="n">survival</span>
-  <span class="o">.</span><span class="n">map</span><span class="o">{</span><span class="n">tuple</span> <span class="k">=&gt;</span>
-    <span class="k">val</span> <span class="n">list</span> <span class="k">=</span> <span class="n">tuple</span><span class="o">.</span><span class="n">productIterator</span><span class="o">.</span><span class="n">toList</span>
-    <span class="k">val</span> <span class="n">numList</span> <span class="k">=</span> <span class="n">list</span><span class="o">.</span><span class="n">map</span><span class="o">(</span><span class="k">_</span><span class="o">.</span><span class="n">asInstanceOf</span><span class="o">[</span><span class="kt">String</span><span class="o">].</span><span class="n">toDouble</span><span class="o">)</span>
-    <span class="nc">LabeledVector</span><span class="o">(</span><span class="n">numList</span><span class="o">(</span><span class="mi">3</span><span class="o">),</span> <span class="nc">DenseVector</span><span class="o">(</span><span class="n">numList</span><span class="o">.</span><span class="n">take</span><span class="o">(</span><span class="mi">3</span><span class="o">).</span><span class="n">toArray</span><span class="o">))</span>
-  <span class="o">}</span></code></pre></div>
-
-<p>We can then use this data to train a learner. We will however use another dataset to exemplify
-building a learner; that will allow us to show how we can import other dataset formats.</p>
-
-<p><strong>LibSVM files</strong></p>
-
-<p>A common format for ML datasets is the LibSVM format and a number of datasets using that format can be
-found <a href="http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/">in the LibSVM datasets website</a>. FlinkML provides utilities for loading
-datasets using the LibSVM format through the <code>readLibSVM</code> function available through the <code>MLUtils</code>
-object.
-You can also save datasets in the LibSVM format using the <code>writeLibSVM</code> function.
-Let’s import the svmguide1 dataset. You can download the
-<a href="http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary/svmguide1">training set here</a>
-and the <a href="http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary/svmguide1.t">test set here</a>.
-This is an astroparticle binary classification dataset, used by Hsu et al. <a href="#hsu">[3]</a> in their 
-practical Support Vector Machine (SVM) guide. It contains 4 numerical features, and the class label.</p>
-
-<p>We can simply import the dataset then using:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.ml.MLUtils</span>
-
-<span class="k">val</span> <span class="n">astroTrain</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="nc">MLUtils</span><span class="o">.</span><span class="n">readLibSVM</span><span class="o">(</span><span class="s">&quot;/path/to/svmguide1&quot;</span><span class="o">)</span>
-<span class="k">val</span> <span class="n">astroTest</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="nc">MLUtils</span><span class="o">.</span><span class="n">readLibSVM</span><span class="o">(</span><span class="s">&quot;/path/to/svmguide1.t&quot;</span><span class="o">)</span></code></pre></div>
-
-<p>This gives us two <code>DataSet[LabeledVector]</code> objects that we will use in the following section to
-create a classifier.</p>
-
-<h2 id="classification">Classification</h2>
-
-<p>Once we have imported the dataset we can train a <code>Predictor</code> such as a linear SVM classifier.
-We can set a number of parameters for the classifier. Here we set the <code>Blocks</code> parameter,
-which is used to split the input by the underlying CoCoA algorithm <a href="#jaggi">[2]</a> uses. The 
-regularization parameter determines the amount of $l_2$ regularization applied, which is used
-to avoid overfitting. The step size determines the contribution of the weight vector updates to
-the next weight vector value. This parameter sets the initial step size.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.ml.classification.SVM</span>
-
-<span class="k">val</span> <span class="n">svm</span> <span class="k">=</span> <span class="nc">SVM</span><span class="o">()</span>
-  <span class="o">.</span><span class="n">setBlocks</span><span class="o">(</span><span class="n">env</span><span class="o">.</span><span class="n">getParallelism</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">setIterations</span><span class="o">(</span><span class="mi">100</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">setRegularization</span><span class="o">(</span><span class="mf">0.001</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">setStepsize</span><span class="o">(</span><span class="mf">0.1</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">setSeed</span><span class="o">(</span><span class="mi">42</span><span class="o">)</span>
-
-<span class="n">svm</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">astroTrain</span><span class="o">)</span></code></pre></div>
-
-<p>We can now make predictions on the test set.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">predictionPairs</span> <span class="k">=</span> <span class="n">svm</span><span class="o">.</span><span class="n">predict</span><span class="o">(</span><span class="n">astroTest</span><span class="o">)</span></code></pre></div>
-
-<p>Next we will see how we can pre-process our data, and use the ML pipelines capabilities of FlinkML.</p>
-
-<h2 id="data-pre-processing-and-pipelines">Data pre-processing and pipelines</h2>
-
-<p>A pre-processing step that is often encouraged <a href="#hsu">[3]</a> when using SVM classification is scaling
-the input features to the [0, 1] range, in order to avoid features with extreme values
-dominating the rest.
-FlinkML has a number of <code>Transformers</code> such as <code>MinMaxScaler</code> that are used to pre-process data,
-and a key feature is the ability to chain <code>Transformers</code> and <code>Predictors</code> together. This allows
-us to run the same pipeline of transformations and make predictions on the train and test data in
-a straight-forward and type-safe manner. You can read more on the pipeline system of FlinkML
-<a href="pipelines.html">in the pipelines documentation</a>.</p>
-
-<p>Let us first create a normalizing transformer for the features in our dataset, and chain it to a
-new SVM classifier.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.ml.preprocessing.MinMaxScaler</span>
-
-<span class="k">val</span> <span class="n">scaler</span> <span class="k">=</span> <span class="nc">MinMaxScaler</span><span class="o">()</span>
-
-<span class="k">val</span> <span class="n">scaledSVM</span> <span class="k">=</span> <span class="n">scaler</span><span class="o">.</span><span class="n">chainPredictor</span><span class="o">(</span><span class="n">svm</span><span class="o">)</span></code></pre></div>
-
-<p>We can now use our newly created pipeline to make predictions on the test set.
-First we call fit again, to train the scaler and the SVM classifier.
-The data of the test set will then be automatically scaled before being passed on to the SVM to
-make predictions.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">scaledSVM</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">astroTrain</span><span class="o">)</span>
-
-<span class="k">val</span> <span class="n">predictionPairsScaled</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Double</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="k">=</span> <span class="n">scaledSVM</span><span class="o">.</span><span class="n">predict</span><span class="o">(</span><span class="n">astroTest</span><span class="o">)</span></code></pre></div>
-
-<p>The scaled inputs should give us better prediction performance.
-The result of the prediction on <code>LabeledVector</code>s is a data set of tuples where the first entry denotes the true label value and the second entry is the predicted label value.</p>
-
-<h2 id="where-to-go-from-here">Where to go from here</h2>
-
-<p>This quickstart guide can act as an introduction to the basic concepts of FlinkML, but there’s a lot
-more you can do.
-We recommend going through the <a href="index.html">FlinkML documentation</a>, and trying out the different
-algorithms.
-A very good way to get started is to play around with interesting datasets from the UCI ML
-repository and the LibSVM datasets.
-Tackling an interesting problem from a website like <a href="https://www.kaggle.com">Kaggle</a> or
-<a href="http://www.drivendata.org/">DrivenData</a> is also a great way to learn by competing with other
-data scientists.
-If you would like to contribute some new algorithms take a look at our
-<a href="contribution_guide.html">contribution guide</a>.</p>
-
-<p><strong>References</strong></p>
-
-<p><a name="murphy"></a>[1] Murphy, Kevin P. <em>Machine learning: a probabilistic perspective.</em> MIT 
-press, 2012.</p>
-
-<p><a name="jaggi"></a>[2] Jaggi, Martin, et al. <em>Communication-efficient distributed dual 
-coordinate ascent.</em> Advances in Neural Information Processing Systems. 2014.</p>
-
-<p><a name="hsu"></a>[3] Hsu, Chih-Wei, Chih-Chung Chang, and Chih-Jen Lin.
- <em>A practical guide to support vector classification.</em> 2003.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/standard_scaler.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/standard_scaler.html b/content/docs/0.9/libs/ml/standard_scaler.html
deleted file mode 100644
index 9f84bfa..0000000
--- a/content/docs/0.9/libs/ml/standard_scaler.html
+++ /dev/null
@@ -1,340 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - Standard Scaler</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - Standard Scaler</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#description" id="markdown-toc-description">Description</a></li>
-  <li><a href="#operations" id="markdown-toc-operations">Operations</a>    <ul>
-      <li><a href="#fit" id="markdown-toc-fit">Fit</a></li>
-      <li><a href="#transform" id="markdown-toc-transform">Transform</a></li>
-    </ul>
-  </li>
-  <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-</ul>
-
-<h2 id="description">Description</h2>
-
-<p>The standard scaler scales the given data set, so that all features will have a user specified mean and variance. 
- In case the user does not provide a specific mean and standard deviation, the standard scaler transforms the features of the input data set to have mean equal to 0 and standard deviation equal to 1.
- Given a set of input data $x_1, x_2,… x_n$, with mean:</p>
-
-<script type="math/tex; mode=display">\bar{x} = \frac{1}{n}\sum_{i=1}^{n}x_{i}</script>
-
-<p>and standard deviation:</p>
-
-<script type="math/tex; mode=display">\sigma_{x}=\sqrt{ \frac{1}{n} \sum_{i=1}^{n}(x_{i}-\bar{x})^{2}}</script>
-
-<p>The scaled data set $z_1, z_2,…,z_n$ will be:</p>
-
-<script type="math/tex; mode=display">z_{i}= std \left (\frac{x_{i} - \bar{x}  }{\sigma_{x}}\right ) + mean</script>
-
-<p>where $\textit{std}$ and $\textit{mean}$ are the user specified values for the standard deviation and mean.</p>
-
-<h2 id="operations">Operations</h2>
-
-<p><code>StandardScaler</code> is a <code>Transformer</code>.
-As such, it supports the <code>fit</code> and <code>transform</code> operation.</p>
-
-<h3 id="fit">Fit</h3>
-
-<p>StandardScaler is trained on all subtypes of <code>Vector</code> or <code>LabeledVector</code>:</p>
-
-<ul>
-  <li><code>fit[T &lt;: Vector]: DataSet[T] =&gt; Unit</code></li>
-  <li><code>fit: DataSet[LabeledVector] =&gt; Unit</code></li>
-</ul>
-
-<h3 id="transform">Transform</h3>
-
-<p>StandardScaler transforms all subtypes of <code>Vector</code> or <code>LabeledVector</code> into the respective type:</p>
-
-<ul>
-  <li><code>transform[T &lt;: Vector]: DataSet[T] =&gt; DataSet[T]</code></li>
-  <li><code>transform: DataSet[LabeledVector] =&gt; DataSet[LabeledVector]</code></li>
-</ul>
-
-<h2 id="parameters">Parameters</h2>
-
-<p>The standard scaler implementation can be controlled by the following two parameters:</p>
-
-<table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Parameters</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-    <tr>
-      <td><strong>Mean</strong></td>
-      <td>
-        <p>
-          The mean of the scaled data set. (Default value: <strong>0.0</strong>)
-        </p>
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Std</strong></td>
-      <td>
-        <p>
-          The standard deviation of the scaled data set. (Default value: <strong>1.0</strong>)
-        </p>
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-<h2 id="examples">Examples</h2>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// Create standard scaler transformer</span>
-<span class="k">val</span> <span class="n">scaler</span> <span class="k">=</span> <span class="nc">StandardScaler</span><span class="o">()</span>
-<span class="o">.</span><span class="n">setMean</span><span class="o">(</span><span class="mf">10.0</span><span class="o">)</span>
-<span class="o">.</span><span class="n">setStd</span><span class="o">(</span><span class="mf">2.0</span><span class="o">)</span>
-
-<span class="c1">// Obtain data set to be scaled</span>
-<span class="k">val</span> <span class="n">dataSet</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Vector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="c1">// Learn the mean and standard deviation of the training data</span>
-<span class="n">scaler</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">dataSet</span><span class="o">)</span>
-
-<span class="c1">// Scale the provided data set to have mean=10.0 and std=2.0</span>
-<span class="k">val</span> <span class="n">scaledDS</span> <span class="k">=</span> <span class="n">scaler</span><span class="o">.</span><span class="n">transform</span><span class="o">(</span><span class="n">dataSet</span><span class="o">)</span></code></pre></div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/svm.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/svm.html b/content/docs/0.9/libs/ml/svm.html
deleted file mode 100644
index 00184c4..0000000
--- a/content/docs/0.9/libs/ml/svm.html
+++ /dev/null
@@ -1,419 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - SVM using CoCoA</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - SVM using CoCoA</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#description" id="markdown-toc-description">Description</a></li>
-  <li><a href="#operations" id="markdown-toc-operations">Operations</a>    <ul>
-      <li><a href="#fit" id="markdown-toc-fit">Fit</a></li>
-      <li><a href="#predict" id="markdown-toc-predict">Predict</a></li>
-    </ul>
-  </li>
-  <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-</ul>
-
-<h2 id="description">Description</h2>
-
-<p>Implements an SVM with soft-margin using the communication-efficient distributed dual coordinate 
-ascent algorithm with hinge-loss function. 
-The algorithm solves the following minimization problem:</p>
-
-<script type="math/tex; mode=display">\min_{\mathbf{w} \in \mathbb{R}^d} \frac{\lambda}{2} \left\lVert \mathbf{w} \right\rVert^2 + \frac{1}{n} \sum_{i=1}^n l_{i}\left(\mathbf{w}^T\mathbf{x}_i\right)</script>
-
-<p>with $\mathbf{w}$ being the weight vector, $\lambda$ being the regularization constant, 
-<script type="math/tex">\mathbf{x}_i \in \mathbb{R}^d</script> being the data points and <script type="math/tex">l_{i}</script> being the convex loss 
-functions, which can also depend on the labels <script type="math/tex">y_{i} \in \mathbb{R}</script>.
-In the current implementation the regularizer is the $\ell_2$-norm and the loss functions are the hinge-loss functions:</p>
-
-<script type="math/tex; mode=display">l_{i} = \max\left(0, 1 - y_{i} \mathbf{w}^T\mathbf{x}_i \right)</script>
-
-<p>With these choices, the problem definition is equivalent to a SVM with soft-margin.
-Thus, the algorithm allows us to train a SVM with soft-margin.</p>
-
-<p>The minimization problem is solved by applying stochastic dual coordinate ascent (SDCA).
-In order to make the algorithm efficient in a distributed setting, the CoCoA algorithm calculates 
-several iterations of SDCA locally on a data block before merging the local updates into a
-valid global state.
-This state is redistributed to the different data partitions where the next round of local SDCA 
-iterations is then executed.
-The number of outer iterations and local SDCA iterations control the overall network costs, because 
-there is only network communication required for each outer iteration.
-The local SDCA iterations are embarrassingly parallel once the individual data partitions have been 
-distributed across the cluster.</p>
-
-<p>The implementation of this algorithm is based on the work of 
-<a href="http://arxiv.org/abs/1409.1458">Jaggi et al.</a></p>
-
-<h2 id="operations">Operations</h2>
-
-<p><code>SVM</code> is a <code>Predictor</code>.
-As such, it supports the <code>fit</code> and <code>predict</code> operation.</p>
-
-<h3 id="fit">Fit</h3>
-
-<p>SVM is trained given a set of <code>LabeledVector</code>:</p>
-
-<ul>
-  <li><code>fit: DataSet[LabeledVector] =&gt; Unit</code></li>
-</ul>
-
-<h3 id="predict">Predict</h3>
-
-<p>SVM predicts for all subtypes of <code>Vector</code> the corresponding class label:</p>
-
-<ul>
-  <li><code>predict[T &lt;: Vector]: DataSet[T] =&gt; DataSet[LabeledVector]</code></li>
-</ul>
-
-<p>If we call predict with a <code>DataSet[LabeledVector]</code>, we make a prediction on the class label
-for each example, and return a <code>DataSet[(Double, Double)]</code>. In each tuple the first element
-is the true value, as was provided from the input <code>DataSet[LabeledVector]</code> and the second element
-is the predicted value. You can then use these <code>(truth, prediction)</code> tuples to evaluate
-the algorithm’s performance.</p>
-
-<ul>
-  <li><code>predict: DataSet[LabeledVector] =&gt; DataSet[(Double, Double)]</code></li>
-</ul>
-
-<h2 id="parameters">Parameters</h2>
-
-<p>The SVM implementation can be controlled by the following parameters:</p>
-
-<table class="table table-bordered">
-    <thead>
-      <tr>
-        <th class="text-left" style="width: 20%">Parameters</th>
-        <th class="text-center">Description</th>
-      </tr>
-    </thead>
-
-    <tbody>
-      <tr>
-        <td><strong>Blocks</strong></td>
-        <td>
-          <p>
-            Sets the number of blocks into which the input data will be split. 
-            On each block the local stochastic dual coordinate ascent method is executed. 
-            This number should be set at least to the degree of parallelism. 
-            If no value is specified, then the parallelism of the input DataSet is used as the number of blocks. 
-            (Default value: <strong>None</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Iterations</strong></td>
-        <td>
-          <p>
-            Defines the maximum number of iterations of the outer loop method. 
-            In other words, it defines how often the SDCA method is applied to the blocked data. 
-            After each iteration, the locally computed weight vector updates have to be reduced to update the global weight vector value.
-            The new weight vector is broadcast to all SDCA tasks at the beginning of each iteration.
-            (Default value: <strong>10</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>LocalIterations</strong></td>
-        <td>
-          <p>
-            Defines the maximum number of SDCA iterations. 
-            In other words, it defines how many data points are drawn from each local data block to calculate the stochastic dual coordinate ascent.
-            (Default value: <strong>10</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Regularization</strong></td>
-        <td>
-          <p>
-            Defines the regularization constant of the SVM algorithm. 
-            The higher the value, the smaller will the 2-norm of the weight vector be. 
-            In case of a SVM with hinge loss this means that the SVM margin will be wider even though it might contain some false classifications.
-            (Default value: <strong>1.0</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Stepsize</strong></td>
-        <td>
-          <p>
-            Defines the initial step size for the updates of the weight vector. 
-            The larger the step size is, the larger will be the contribution of the weight vector updates to the next weight vector value. 
-            The effective scaling of the updates is $\frac{stepsize}{blocks}$.
-            This value has to be tuned in case that the algorithm becomes unstable. 
-            (Default value: <strong>1.0</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Seed</strong></td>
-        <td>
-          <p>
-            Defines the seed to initialize the random number generator. 
-            The seed directly controls which data points are chosen for the SDCA method. 
-            (Default value: <strong>0</strong>)
-          </p>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
-<h2 id="examples">Examples</h2>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// Read the training data set, from a LibSVM formatted file</span>
-<span class="k">val</span> <span class="n">trainingDS</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readLibSVM</span><span class="o">(</span><span class="n">pathToTrainingFile</span><span class="o">)</span>
-
-<span class="c1">// Create the SVM learner</span>
-<span class="k">val</span> <span class="n">svm</span> <span class="k">=</span> <span class="nc">SVM</span><span class="o">()</span>
-<span class="o">.</span><span class="n">setBlocks</span><span class="o">(</span><span class="mi">10</span><span class="o">)</span>
-<span class="o">.</span><span class="n">setIterations</span><span class="o">(</span><span class="mi">10</span><span class="o">)</span>
-<span class="o">.</span><span class="n">setLocalIterations</span><span class="o">(</span><span class="mi">10</span><span class="o">)</span>
-<span class="o">.</span><span class="n">setRegularization</span><span class="o">(</span><span class="mf">0.5</span><span class="o">)</span>
-<span class="o">.</span><span class="n">setStepsize</span><span class="o">(</span><span class="mf">0.5</span><span class="o">)</span>
-
-<span class="c1">// Learn the SVM model</span>
-<span class="n">svm</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">trainingDS</span><span class="o">)</span>
-
-<span class="c1">// Read the testing data set</span>
-<span class="k">val</span> <span class="n">testingDS</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Vector</span><span class="o">]</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readVectorFile</span><span class="o">(</span><span class="n">pathToTestingFile</span><span class="o">)</span>
-
-<span class="c1">// Calculate the predictions for the testing data set</span>
-<span class="k">val</span> <span class="n">predictionDS</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="n">svm</span><span class="o">.</span><span class="n">predict</span><span class="o">(</span><span class="n">testingDS</span><span class="o">)</span></code></pre></div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/vision_roadmap.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/vision_roadmap.html b/content/docs/0.9/libs/ml/vision_roadmap.html
deleted file mode 100644
index 5793d68..0000000
--- a/content/docs/0.9/libs/ml/vision_roadmap.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - Vision and Roadmap</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - Vision and Roadmap</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#vision" id="markdown-toc-vision">Vision</a></li>
-  <li><a href="#roadmap" id="markdown-toc-roadmap">Roadmap</a></li>
-</ul>
-
-<h2 id="vision">Vision</h2>
-
-<p>The Machine Learning (ML) library for Flink is a new effort to bring scalable ML tools to the Flink
-community. Our goal is is to design and implement a system that is scalable and can deal with
-problems of various sizes, whether your data size is measured in megabytes or terabytes and beyond.
-We call this library FlinkML.</p>
-
-<p>An important concern for developers of ML systems is the amount of glue code that developers are
-forced to write [1] in the process of implementing an end-to-end ML system. Our goal with FlinkML
-is to help developers keep glue code to a minimum. The Flink ecosystem provides a great setting to
-tackle this problem, with its scalable ETL capabilities that can be easily combined inside the same
-program with FlinkML, allowing the development of robust pipelines without the need to use yet
-another technology for data ingestion and data munging.</p>
-
-<p>Another goal for FlinkML is to make the library easy to use. To that end we will be providing
-detailed documentation along with examples for every part of the system. Our aim is that developers
-will be able to get started with writing their ML pipelines quickly, using familiar programming
-concepts and terminology.</p>
-
-<p>Contrary to other data-processing systems, Flink exploits in-memory data streaming, and natively
-executes iterative processing algorithms which are common in ML. We plan to exploit the streaming
-nature of Flink, and provide functionality designed specifically for data streams.</p>
-
-<p>FlinkML will allow data scientists to test their models locally and using subsets of data, and then
-use the same code to run their algorithms at a much larger scale in a cluster setting.</p>
-
-<p>We are inspired by other open source efforts to provide ML systems, in particular
-<a href="http://scikit-learn.org/">scikit-learn</a> for cleanly specifying ML pipelines, and Spark’s
-<a href="https://spark.apache.org/mllib/">MLLib</a> for providing ML algorithms that scale with problem and
-cluster sizes.</p>
-
-<h2 id="roadmap">Roadmap</h2>
-
-<p>The roadmap below can provide an indication of the algorithms we aim to implement in the coming
-months. If you are interested in helping out, please check our <a href="contribution_guide.html">contribution guide</a>.
-Items in <strong>bold</strong> have already been implemented:</p>
-
-<ul>
-  <li>Pipelines of transformers and learners</li>
-  <li>Data pre-processing
-    <ul>
-      <li><strong>Feature scaling</strong></li>
-      <li><strong>Polynomial feature base mapper</strong></li>
-      <li>Feature hashing</li>
-      <li>Feature extraction for text</li>
-      <li>Dimensionality reduction</li>
-    </ul>
-  </li>
-  <li>Model selection and performance evaluation
-    <ul>
-      <li>Cross-validation for model selection and evaluation</li>
-    </ul>
-  </li>
-  <li>Supervised learning
-    <ul>
-      <li>Optimization framework
-        <ul>
-          <li><strong>Stochastic Gradient Descent</strong></li>
-          <li>L-BFGS</li>
-        </ul>
-      </li>
-      <li>Generalized Linear Models
-        <ul>
-          <li><strong>Multiple linear regression</strong></li>
-          <li>LASSO, Ridge regression</li>
-          <li>Multi-class Logistic regression</li>
-        </ul>
-      </li>
-      <li>Random forests</li>
-      <li><strong>Support Vector Machines</strong></li>
-    </ul>
-  </li>
-  <li>Unsupervised learning
-    <ul>
-      <li>Clustering
-        <ul>
-          <li>K-means clustering</li>
-        </ul>
-      </li>
-      <li>PCA</li>
-    </ul>
-  </li>
-  <li>Recommendation
-    <ul>
-      <li><strong>ALS</strong></li>
-    </ul>
-  </li>
-  <li>Text analytics
-    <ul>
-      <li>LDA</li>
-    </ul>
-  </li>
-  <li>Statistical estimation tools</li>
-  <li>Distributed linear algebra</li>
-  <li>Streaming ML</li>
-</ul>
-
-<p><strong>References:</strong></p>
-
-<p>[1] D. Sculley, G. Holt, D. Golovin, E. Davydov, T. Phillips, D. Ebner, V. Chaudhary,
-and M. Young. <em>Machine learning: The high interest credit card of technical debt.</em> In SE4ML:
-Software Engineering for Machine Learning (NIPS 2014 Workshop), 2014.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[10/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/index.html
----------------------------------------------------------------------
diff --git a/content/docs/master/index.html b/content/docs/master/index.html
deleted file mode 100644
index 701bd73..0000000
--- a/content/docs/master/index.html
+++ /dev/null
@@ -1,248 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Overview</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li class="active"><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Overview</h1>
-
-
-
-<p>Apache Flink is a platform for efficient, distributed, general-purpose data processing.
-It features powerful programming abstractions in Java and Scala, a high-performance runtime, and
-automatic program optimization. It has native support for iterations, incremental iterations, and
-programs consisting of large DAGs of operations.</p>
-
-<p>If you quickly want to try out the system, please look at one of the available quickstarts. For
-a thorough introduction of the Flink API please refer to the
-<a href="apis/programming_guide.html">Programming Guide</a>.</p>
-
-<h2 id="stack">Stack</h2>
-
-<p>This is an overview of Flink’s stack. Click on any component to go to the respective documentation.</p>
-
-<p><img src="fig/overview-stack-0.9.png" width="893" height="450" alt="Stack" usemap="#overview-stack" /></p>
-
-<map name="overview-stack">
-  <area shape="rect" coords="188,0,263,200" alt="Graph API: Gelly" href="libs/gelly_guide.html" />
-  <area shape="rect" coords="268,0,343,200" alt="Flink ML" href="libs/ml/" />
-  <area shape="rect" coords="348,0,423,200" alt="Table" href="libs/table.html" />
-
-  <area shape="rect" coords="188,205,538,260" alt="DataSet API (Java/Scala)" href="apis/programming_guide.html" />
-  <area shape="rect" coords="543,205,893,260" alt="DataStream API (Java/Scala)" href="apis/streaming_guide.html" />
-
-  <!-- <area shape="rect" coords="188,275,538,330" alt="Optimizer" href="optimizer.html"> -->
-  <!-- <area shape="rect" coords="543,275,893,330" alt="Stream Builder" href="streambuilder.html"> -->
-
-  <area shape="rect" coords="188,335,893,385" alt="Flink Runtime" href="internals/general_arch.html" />
-
-  <area shape="rect" coords="188,405,328,455" alt="Local" href="apis/local_execution.html" />
-  <area shape="rect" coords="333,405,473,455" alt="Remote" href="apis/cluster_execution.html" />
-  <area shape="rect" coords="478,405,638,455" alt="Embedded" href="apis/local_execution.html" />
-  <area shape="rect" coords="643,405,765,455" alt="YARN" href="setup/yarn_setup.html" />
-  <area shape="rect" coords="770,405,893,455" alt="Tez" href="setup/flink_on_tez.html" />
-</map>
-
-<h2 id="download">Download</h2>
-
-<p>This documentation is for Apache Flink version 0.10-SNAPSHOT, which is the current development version of the next upcoming major release of Apache Flink.</p>
-
-<p>You can download the latest pre-built snapshot version from the <a href="http://flink.apache.org/downloads.html#latest">downloads</a> page of the <a href="http://flink.apache.org">project website</a>.</p>
-
-<p>The Scala API uses Scala 2.10. Please make sure to use a compatible version.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/add_operator.html
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/add_operator.html b/content/docs/master/internals/add_operator.html
deleted file mode 100644
index 8faeccd..0000000
--- a/content/docs/master/internals/add_operator.html
+++ /dev/null
@@ -1,431 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: How to add a new Operator</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>How to add a new Operator</h1>
-
-
-
-<p>Operators in the Java API can be added in multiple different ways:</p>
-
-<ol>
-  <li>On the DataSet, as a specialization/combination of existing operators</li>
-  <li>As a custom extension operator</li>
-  <li>As a new runtime operator</li>
-</ol>
-
-<p>The first two approaches are typically more lightweight and easier to implement. Sometimes,
-new functionality does require a new runtime operator, or it is much more efficient to</p>
-
-<ul id="markdown-toc">
-  <li><a href="#implementing-a-new-operator-on-dataset" id="markdown-toc-implementing-a-new-operator-on-dataset">Implementing a new Operator on DataSet</a>    <ul>
-      <li><a href="#more-complex-operators" id="markdown-toc-more-complex-operators">More Complex Operators</a></li>
-    </ul>
-  </li>
-  <li><a href="#implementing-a-custom-extension-operator" id="markdown-toc-implementing-a-custom-extension-operator">Implementing a Custom Extension Operator</a></li>
-  <li><a href="#implementing-a-new-runtime-operator" id="markdown-toc-implementing-a-new-runtime-operator">Implementing a new Runtime Operator</a>    <ul>
-      <li><a href="#optimizercompiler" id="markdown-toc-optimizercompiler">Optimizer/Compiler</a></li>
-      <li><a href="#common-api" id="markdown-toc-common-api">Common API</a></li>
-      <li><a href="#java-api" id="markdown-toc-java-api">Java API</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="implementing-a-new-operator-on-dataset">Implementing a new Operator on DataSet</h2>
-
-<p>Many operators can be implemented as a specialization of another operator, or by means of a UDF.</p>
-
-<p>The simplest example are the <code>sum()</code>, <code>min()</code>, and <code>max()</code> functions on the
-<a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/DataSet.java">DataSet</a>.
-These functions simply call other operations with some pre-defined parameters:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="n">AggregateOperator</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="nf">sum</span> <span class="o">(</span><span class="kt">int</span> <span class="n">field</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="na">aggregate</span> <span class="o">(</span><span class="n">Aggregations</span><span class="o">.</span><span class="na">SUM</span><span class="o">,</span> <span class="n">field</span><span class="o">);</span>
-<span class="o">}</span></code></pre></div>
-
-<p>Some operations can be implemented as compositions of multiple other operators. An example is to implement a
-<em>count()</em> function through a combination of <em>map</em> and <em>aggregate</em>.</p>
-
-<p>A simple way to do this is to define a function on the <a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/DataSet.java">DataSet</a> that calls <em>map(…)</em> and <em>reduce(…)</em> in turn:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="nf">count</span><span class="o">()</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;()</span> <span class="o">{</span>
-                        <span class="kd">public</span> <span class="n">Long</span> <span class="nf">map</span><span class="o">(</span><span class="n">T</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-                            <span class="k">return</span> <span class="mi">1L</span><span class="o">;</span>
-                        <span class="o">}</span>
-                    <span class="o">})</span>
-               <span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="k">new</span> <span class="n">ReduceFunction</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;()</span> <span class="o">{</span>
-                        <span class="kd">public</span> <span class="n">Long</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Long</span> <span class="n">val1</span><span class="o">,</span> <span class="n">Long</span> <span class="n">val1</span><span class="o">)</span> <span class="o">{</span>
-                            <span class="k">return</span> <span class="n">val1</span> <span class="o">+</span> <span class="n">val2</span><span class="o">;</span>
-                        <span class="o">}</span>
-                    <span class="o">});</span>
-<span class="o">}</span></code></pre></div>
-
-<p>To define a new operator without altering the DataSet class is possible by putting the functions as static members
-into another class. The example of the <em>count()</em> operator would look the following way:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">static</span> <span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="nf">count</span><span class="o">(</span><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">data</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">data</span><span class="o">.</span><span class="na">map</span><span class="o">(...).</span><span class="na">reduce</span><span class="o">(...);</span>
-<span class="o">}</span></code></pre></div>
-
-<h3 id="more-complex-operators">More Complex Operators</h3>
-
-<p>A more complex example of an operation via specialization is the <a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/operators/AggregateOperator.java">Aggregation Operation</a> in the Java API. It is implemented by means of a <em>GroupReduce</em> UDF.</p>
-
-<p>The Aggregate Operation comes with its own operator in the <em>Java API</em>, but translates itself into a <a href="https://github.com/apache/flink/blob/master//flink-core/src/main/java/org/apache/flink/api/common/operators/base/GroupReduceOperatorBase.java">GroupReduceOperatorBase</a> in the <em>Common API</em>.
-The Java API aggregation operator is only a builder that takes the types of aggregations and the field positions, and used that information to
-parameterize the GroupReduce UDF that performs the aggregations.</p>
-
-<p>Because the operation is translated into a GroupReduce operation, it appears as a GroupReduceOperator in the optimizer and runtime.</p>
-
-<h2 id="implementing-a-custom-extension-operator">Implementing a Custom Extension Operator</h2>
-
-<p>The DataSet offers a method for custom operators: <code>DataSet&lt;X&gt; runOperation(CustomUnaryOperation&lt;T, X&gt; operation)</code>.
-The <em>CustomUnaryOperation</em> interface defines operators by means of the two functions:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kt">void</span> <span class="nf">setInput</span><span class="o">(</span><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">&gt;</span> <span class="n">inputData</span><span class="o">);</span>
-	
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">OUT</span><span class="o">&gt;</span> <span class="nf">createResult</span><span class="o">();</span></code></pre></div>
-
-<p>The <a href="https://github.com/apache/flink/blob/master//flink-staging/flink-spargel/src/main/java/org/apache/flink/spargel/java/VertexCentricIteration.java">VertexCentricIteration</a> operator is implemented that way. Below is an example how to implement the <em>count()</em> operator that way.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Counter</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="kd">implements</span> <span class="n">CustomUnaryOperation</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="o">{</span>
-
-    <span class="kd">private</span> <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">input</span><span class="o">;</span>
-
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setInput</span><span class="o">(</span><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">&gt;</span> <span class="n">inputData</span><span class="o">)</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="na">input</span> <span class="o">=</span> <span class="n">inputData</span><span class="o">;</span> <span class="o">}</span>
-
-    <span class="kd">public</span> <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="nf">createResult</span><span class="o">()</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="n">input</span><span class="o">.</span><span class="na">map</span><span class="o">(...).</span><span class="na">reduce</span><span class="o">(...);</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The CountOperator can be called in the following way:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">lines</span> <span class="o">=</span> <span class="o">...;</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">count</span> <span class="o">=</span> <span class="n">lines</span><span class="o">.</span><span class="na">runOperation</span><span class="o">(</span><span class="k">new</span> <span class="n">Counter</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;());</span></code></pre></div>
-
-<h2 id="implementing-a-new-runtime-operator">Implementing a new Runtime Operator</h2>
-
-<p>Adding an new runtime operator requires changes throughout the entire stack, from the API to the runtime:</p>
-
-<ul>
-  <li><em>Java API</em></li>
-  <li><em>Common API</em></li>
-  <li><em>Optimizer</em></li>
-  <li><em>Runtime</em></li>
-</ul>
-
-<p>We start the description bottom up, at the example of the <em>mapPartition()</em> function, which is like a <em>map</em>
-function, but invoked only once per parallel partition.</p>
-
-<p><strong>Runtime</strong></p>
-
-<p>Runtime Operators are implemented using the <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/operators/PactDriver.java">Driver</a> interface. The interface defines the methods that describe the operator towards the runtime. The <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/operators/MapDriver.java">MapDriver</a> serves as a simple example of how those operators work.</p>
-
-<p>The runtime works with the <code>MutableObjectIterator</code>, which describes data streams with the ability to reuse objects, to reduce pressure on the garbage collector.</p>
-
-<p>An implementation of the central <code>run()</code> method for the <em>mapPartition</em> operator could look the following way:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kt">void</span> <span class="nf">run</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    <span class="kd">final</span> <span class="n">MutableObjectIterator</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">taskContext</span><span class="o">.</span><span class="na">getInput</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
-    <span class="kd">final</span> <span class="n">MapPartitionFunction</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">,</span> <span class="n">OUT</span><span class="o">&gt;</span> <span class="n">function</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">taskContext</span><span class="o">.</span><span class="na">getStub</span><span class="o">();</span>
-    <span class="kd">final</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">OUT</span><span class="o">&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">taskContext</span><span class="o">.</span><span class="na">getOutputCollector</span><span class="o">();</span>
-    <span class="kd">final</span> <span class="n">TypeSerializer</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">&gt;</span> <span class="n">serializer</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">taskContext</span><span class="o">.</span><span class="na">getInputSerializer</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
-
-    <span class="c1">// we assume that the UDF takes a java.util.Iterator, so we wrap the MutableObjectIterator</span>
-    <span class="n">Iterator</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">&gt;</span> <span class="n">iterator</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">MutableToRegularIteratorWrapper</span><span class="o">(</span><span class="n">input</span><span class="o">,</span> <span class="n">serializer</span><span class="o">);</span>
-
-    <span class="n">function</span><span class="o">.</span><span class="na">mapPartition</span><span class="o">(</span><span class="n">iterator</span><span class="o">,</span> <span class="n">output</span><span class="o">);</span>
-<span class="o">}</span></code></pre></div>
-
-<p>To increase efficiency, it is often beneficial to implement a <em>chained</em> version of an operator. Chained
-operators run in the same thread as their preceding operator, and work with nested function calls.
-This is very efficient, because it saves serialization/deserialization overhead.</p>
-
-<p>To learn how to implement a chained operator, take a look at the <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/operators/MapDriver.java">MapDriver</a> (regular) and the
-<a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/operators/chaining/ChainedMapDriver.java">ChainedMapDriver</a> (chained variant).</p>
-
-<h3 id="optimizercompiler">Optimizer/Compiler</h3>
-
-<p>This section does a minimal discussion of the important steps to add an operator. Please see the <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/Optimizer.java">Optimizer</a> for more details on how the optimizer works.
-To allow the optimizer to include a new operator in its planning, it needs a bit of information about it; in particular, the following information:</p>
-
-<ul>
-  <li>
-    <p><em><a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/operators/DriverStrategy.java">DriverStrategy</a></em>: The operation needs to be added to the Enum, to make it available to the optimizer. The parameters to the Enum entry define which class implements the runtime operator, its chained version, whether the operator accumulates records (and needs memory for that), and whether it requires a comparator (works on keys). For our example, we can add the entry
-~~~ java
-MAP_PARTITION(MapPartitionDriver.class, null /* or chained variant */, PIPELINED, false)
-~~~</p>
-  </li>
-  <li>
-    <p><em>Cost function</em>: The class <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/costs/CostEstimator.java">CostEstimator</a> needs to know how expensive the operation is to the system. The costs here refer to the non-UDF part of the operator. Since the operator does essentially no work (it forwards the record stream to the UDF), the costs are zero. We change the <code>costOperator(...)</code> method by adding the <em>MAP_PARTITION</em> constant to the switch statement similar to the <em>MAP</em> constant such that no cost is accounted for it.</p>
-  </li>
-  <li>
-    <p><em>OperatorDescriptor</em>: The operator descriptors define how an operation needs to be treated by the optimizer. They describe how the operation requires the input data to be (e.g., sorted or partitioned) and that way allows the optimizer to optimize the data movement, sorting, grouping in a global fashion. They do that by describing which <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/dataproperties/RequestedGlobalProperties.java">RequestedGlobalProperties</a> (partitioning, replication, etc) and which <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/dataproperties/RequestedLocalProperties.java">RequestedLocalProperties</a> (sorting, grouping, uniqueness) the operator has, as well as how the operator affects the existing <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/dataproperties/Glo
 balProperties.java">GlobalProperties</a> and <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/dataproperties/LocalProperties.java">LocalProperties</a>. In addition, it defines a few utility methods, for example to instantiate an operator candidate.
-Since the <em>mapPartition()</em> function is very simple (no requirements on partitioning/grouping), the descriptor is very simple. Other operators have more complex requirements, for example the <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/operators/HashJoinBuildFirstProperties.java">Hash Join 1</a>, <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/operators/HashJoinBuildSecondProperties.java">Hash Join 2</a>, <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/operators/SortMergeJoinDescriptor.java">SortMerge Join</a>).
-The code sample below explains (with comments) how to create a descriptor for the <em>MapPartitionOperator</em></p>
-
-    <div class="highlight"><pre><code class="language-java">  <span class="kd">public</span> <span class="n">DriverStrategy</span> <span class="nf">getStrategy</span><span class="o">()</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">MAP_PARTITION</span><span class="o">;</span>
-  <span class="o">}</span>
-
-  <span class="c1">// Instantiate the operator with the strategy over the input given in the form of the Channel</span>
-  <span class="kd">public</span> <span class="n">SingleInputPlanNode</span> <span class="nf">instantiate</span><span class="o">(</span><span class="n">Channel</span> <span class="n">in</span><span class="o">,</span> <span class="n">SingleInputNode</span> <span class="n">node</span><span class="o">)</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="k">new</span> <span class="nf">SingleInputPlanNode</span><span class="o">(</span><span class="n">node</span><span class="o">,</span> <span class="s">&quot;MapPartition&quot;</span><span class="o">,</span> <span class="n">in</span><span class="o">,</span> <span class="n">MAP_PARTITION</span><span class="o">);</span>
-  <span class="o">}</span>
-
-  <span class="c1">// The operation accepts data with default global properties (arbitrary distribution)</span>
-  <span class="kd">protected</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">RequestedGlobalProperties</span><span class="o">&gt;</span> <span class="nf">createPossibleGlobalProperties</span><span class="o">()</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">Collections</span><span class="o">.</span><span class="na">singletonList</span><span class="o">(</span><span class="k">new</span> <span class="nf">RequestedGlobalProperties</span><span class="o">());</span>
-  <span class="o">}</span>
-
-  <span class="c1">// The operation can accept data with any local properties. No grouping/sorting is necessary</span>
-  <span class="kd">protected</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">RequestedLocalProperties</span><span class="o">&gt;</span> <span class="nf">createPossibleLocalProperties</span><span class="o">()</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">Collections</span><span class="o">.</span><span class="na">singletonList</span><span class="o">(</span><span class="k">new</span> <span class="nf">RequestedLocalProperties</span><span class="o">());</span>
-  <span class="o">}</span>
-
-  <span class="c1">// the operation itself does not affect the existing global properties.</span>
-  <span class="c1">// The effect of the UDF&#39;s semantics// are evaluated separately (by interpreting the</span>
-  <span class="c1">// semantic assertions)</span>
-  <span class="kd">public</span> <span class="n">GlobalProperties</span> <span class="nf">computeGlobalProperties</span><span class="o">(</span><span class="n">GlobalProperties</span> <span class="n">gProps</span><span class="o">)</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">gProps</span><span class="o">;</span>
-  <span class="o">}</span>
-
-  <span class="c1">// since the operation can mess up all order, grouping, uniqueness, we cannot make any statements</span>
-  <span class="c1">// about how local properties are preserved</span>
-  <span class="kd">public</span> <span class="n">LocalProperties</span> <span class="nf">computeLocalProperties</span><span class="o">(</span><span class="n">LocalProperties</span> <span class="n">lProps</span><span class="o">)</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">LocalProperties</span><span class="o">.</span><span class="na">EMPTY</span><span class="o">;</span>
-  <span class="o">}</span></code></pre></div>
-  </li>
-  <li>
-    <p><em>OptimizerNode</em>: The optimizer node is the place where all comes together. It creates the list of <em>OperatorDescriptors</em>, implements the result data set size estimation, and assigns a name to the operation. It is a relatively small class and can be more or less copied again from the <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/dag/MapNode.java">MapNode</a>.</p>
-  </li>
-</ul>
-
-<h3 id="common-api">Common API</h3>
-
-<p>To make the operation available to the higher-level APIs, it needs to be added to the Common API. The simplest way to do this is to add a
-base operator. Create a class <code>MapPartitionOperatorBase</code>, after the pattern of the <a href="https://github.com/apache/flink/blob/master//flink-core/src/main/java/org/apache/flink/api/common/operators/base/MapOperatorBase.java">MapOperatorBase</a>.</p>
-
-<p>In addition, the optimizer needs to know which OptimizerNode how to create an OptimizerNode from the OperatorBase. This happens in the class
-<code>GraphCreatingVisitor</code> in the <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/Optimizer.java">Optimizer</a>.</p>
-
-<p><em>Note:</em> A pending idea is to allow to skip this step by unifying the OptimizerNode and the Common API operator. They essentially fulfill the
-same function. The Common API operator exists only in order for the <code>flink-java</code> and <code>flink-scala</code> packages to not have a dependency on the
-optimizer.</p>
-
-<h3 id="java-api">Java API</h3>
-
-<p>Create a Java API operator that is constructed in the same way as the <a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/operators/MapOperator.java">MapOperator</a>. The core method is the <code>translateToDataFlow(...)</code> method, which creates the Common API operator for the Java API operator.</p>
-
-<p>The final step is to add a function to the <code>DataSet</code> class:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="o">&lt;</span><span class="n">R</span><span class="o">&gt;</span> <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">R</span><span class="o">&gt;</span> <span class="nf">mapPartition</span><span class="o">(</span><span class="n">MapPartitionFunction</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">R</span><span class="o">&gt;</span> <span class="n">function</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="k">new</span> <span class="n">MapPartitionOperator</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">R</span><span class="o">&gt;(</span><span class="k">this</span><span class="o">,</span> <span class="n">function</span><span class="o">);</span>
-<span class="o">}</span></code></pre></div>
-
-<hr />
-
-<p><em>This documentation is maintained by the contributors of the individual components.
-We kindly ask anyone that adds and changes components to eventually provide a patch
-or pull request that updates these documents as well.</em></p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/coding_guidelines.html
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/coding_guidelines.html b/content/docs/master/internals/coding_guidelines.html
deleted file mode 100644
index 17ec366..0000000
--- a/content/docs/master/internals/coding_guidelines.html
+++ /dev/null
@@ -1,207 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Coding Guidelines</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Coding Guidelines</h1>
-
-
-
-<p>The <em>Coding Guidelines</em> are located <a href="http://flink.apache.org/coding-guidelines.html">on the project website</a>.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[21/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/yarn_setup.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/yarn_setup.html b/content/docs/0.9/setup/yarn_setup.html
deleted file mode 100644
index e45d2c2..0000000
--- a/content/docs/0.9/setup/yarn_setup.html
+++ /dev/null
@@ -1,443 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: YARN Setup</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>YARN Setup</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#quickstart-start-a-long-running-flink-cluster-on-yarn" id="markdown-toc-quickstart-start-a-long-running-flink-cluster-on-yarn">Quickstart: Start a long-running Flink cluster on YARN</a></li>
-  <li><a href="#quickstart-run-a-flink-job-on-yarn" id="markdown-toc-quickstart-run-a-flink-job-on-yarn">Quickstart: Run a Flink job on YARN</a></li>
-  <li><a href="#apache-flink-on-hadoop-yarn-using-a-yarn-session" id="markdown-toc-apache-flink-on-hadoop-yarn-using-a-yarn-session">Apache Flink on Hadoop YARN using a YARN Session</a>    <ul>
-      <li><a href="#start-flink-session" id="markdown-toc-start-flink-session">Start Flink Session</a></li>
-      <li><a href="#submit-job-to-flink" id="markdown-toc-submit-job-to-flink">Submit Job to Flink</a></li>
-    </ul>
-  </li>
-  <li><a href="#run-a-single-flink-job-on-hadoop-yarn" id="markdown-toc-run-a-single-flink-job-on-hadoop-yarn">Run a single Flink job on Hadoop YARN</a></li>
-  <li><a href="#recovery-behavior-of-flink-on-yarn" id="markdown-toc-recovery-behavior-of-flink-on-yarn">Recovery behavior of Flink on YARN</a></li>
-  <li><a href="#debugging-a-failed-yarn-session" id="markdown-toc-debugging-a-failed-yarn-session">Debugging a failed YARN session</a>    <ul>
-      <li><a href="#log-files" id="markdown-toc-log-files">Log Files</a></li>
-      <li><a href="#yarn-client-console--webinterfaces" id="markdown-toc-yarn-client-console--webinterfaces">YARN Client console &amp; Webinterfaces</a></li>
-    </ul>
-  </li>
-  <li><a href="#build-yarn-client-for-a-specific-hadoop-version" id="markdown-toc-build-yarn-client-for-a-specific-hadoop-version">Build YARN client for a specific Hadoop version</a></li>
-  <li><a href="#background--internals" id="markdown-toc-background--internals">Background / Internals</a></li>
-</ul>
-
-<h2 id="quickstart-start-a-long-running-flink-cluster-on-yarn">Quickstart: Start a long-running Flink cluster on YARN</h2>
-
-<p>Start a YARN session with 4 Task Managers (each with 4 GB of Heapspace):</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="c"># get the hadoop2 package from the Flink download page at</span>
-<span class="c"># http://flink.apache.org/downloads.html</span>
-tar xvzf flink-0.9.0-bin-hadoop2.tgz
-<span class="nb">cd </span>flink-0.9.0/
-./bin/yarn-session.sh -n <span class="m">4</span> -jm <span class="m">1024</span> -tm 4096</code></pre></div>
-
-<p>Specify the <code>-s</code> flag for the number of processing slots per Task Manager. We recommend to set the number of slots to the number of processors per machine.</p>
-
-<p>Once the session has been started, you can submit jobs to the cluster using the <code>./bin/flink</code> tool.</p>
-
-<h2 id="quickstart-run-a-flink-job-on-yarn">Quickstart: Run a Flink job on YARN</h2>
-
-<div class="highlight"><pre><code class="language-bash"><span class="c"># get the hadoop2 package from the Flink download page at</span>
-<span class="c"># http://flink.apache.org/downloads.html</span>
-tar xvzf flink-0.9.0-bin-hadoop2.tgz
-<span class="nb">cd </span>flink-0.9.0/
-./bin/flink run -m yarn-cluster -yn <span class="m">4</span> -yjm <span class="m">1024</span> -ytm <span class="m">4096</span> ./examples/flink-java-examples-0.9.0-WordCount.jar</code></pre></div>
-
-<h2 id="apache-flink-on-hadoop-yarn-using-a-yarn-session">Apache Flink on Hadoop YARN using a YARN Session</h2>
-
-<p>Apache <a href="http://hadoop.apache.org/">Hadoop YARN</a> is a cluster resource management framework. It allows to run various distributed applications on top of a cluster. Flink runs on YARN next to other applications. Users do not have to setup or install anything if there is already a YARN setup.</p>
-
-<p><strong>Requirements</strong></p>
-
-<ul>
-  <li>Apache Hadoop 2.2</li>
-  <li>HDFS (Hadoop Distributed File System) (or another distributed file system supported by Hadoop)</li>
-</ul>
-
-<p>If you have troubles using the Flink YARN client, have a look in the <a href="http://flink.apache.org/docs/0.9/faq.html">FAQ section</a>.</p>
-
-<h3 id="start-flink-session">Start Flink Session</h3>
-
-<p>Follow these instructions to learn how to launch a Flink Session within your YARN cluster.</p>
-
-<p>A session will start all required Flink services (JobManager and TaskManagers) so that you can submit programs to the cluster. Note that you can run multiple programs per session.</p>
-
-<h4 id="download-flink-for-yarn">Download Flink for YARN</h4>
-
-<p>Download the YARN tgz package on the <a href="http://flink.apache.org/docs/0.9/downloads.html">download page</a>. It contains the required files.</p>
-
-<p>Extract the package using:</p>
-
-<div class="highlight"><pre><code class="language-bash">tar xvzf flink-0.9.0-bin-hadoop2.tgz
-<span class="nb">cd </span>flink-0.9.0/</code></pre></div>
-
-<p>If you want to build the YARN .tgz file from sources, follow the <a href="building.html">build instructions</a>. You can find the result of the build in <code>flink-dist/target/flink-0.9.0-bin/flink-0.9.0/</code> (<em>Note: The version might be different for you</em> ).</p>
-
-<h4 id="start-a-session">Start a Session</h4>
-
-<p>Use the following command to start a session</p>
-
-<div class="highlight"><pre><code class="language-bash">./bin/yarn-session.sh</code></pre></div>
-
-<p>This command will show you the following overview:</p>
-
-<div class="highlight"><pre><code class="language-bash">Usage:
-   Required
-     -n,--container &lt;arg&gt;   Number of YARN container to allocate <span class="o">(=</span>Number of Task Managers<span class="o">)</span>
-   Optional
-     -D &lt;arg&gt;                        Dynamic properties
-     -d,--detached                   Start detached
-     -jm,--jobManagerMemory &lt;arg&gt;    Memory <span class="k">for</span> JobManager Container <span class="o">[</span>in MB<span class="o">]</span>
-     -q,--query                      Display available YARN resources <span class="o">(</span>memory, cores<span class="o">)</span>
-     -qu,--queue &lt;arg&gt;               Specify YARN queue.
-     -s,--slots &lt;arg&gt;                Number of slots per TaskManager
-     -st,--streaming                 Start Flink in streaming mode
-     -tm,--taskManagerMemory &lt;arg&gt;   Memory per TaskManager Container <span class="o">[</span>in MB<span class="o">]</span></code></pre></div>
-
-<p>Please note that the Client requires the <code>YARN_CONF_DIR</code> or <code>HADOOP_CONF_DIR</code> environment variable to be set to read the YARN and HDFS configuration.</p>
-
-<p><strong>Example:</strong> Issue the following command to allocate 10 Task Managers, with 8 GB of memory and 32 processing slots each:</p>
-
-<div class="highlight"><pre><code class="language-bash">./bin/yarn-session.sh -n <span class="m">10</span> -tm <span class="m">8192</span> -s 32</code></pre></div>
-
-<p>The system will use the configuration in <code>conf/flink-config.yaml</code>. Please follow our <a href="config.html">configuration guide</a> if you want to change something.</p>
-
-<p>Flink on YARN will overwrite the following configuration parameters <code>jobmanager.rpc.address</code> (because the JobManager is always allocated at different machines), <code>taskmanager.tmp.dirs</code> (we are using the tmp directories given by YARN) and <code>parallelism.default</code> if the number of slots has been specified.</p>
-
-<p>If you don’t want to change the configuration file to set configuration parameters, there is the option to pass dynamic properties via the <code>-D</code> flag. So you can pass parameters this way: <code>-Dfs.overwrite-files=true -Dtaskmanager.network.numberOfBuffers=16368</code>.</p>
-
-<p>The example invocation starts 11 containers, since there is one additional container for the ApplicationMaster and Job Manager.</p>
-
-<p>Once Flink is deployed in your YARN cluster, it will show you the connection details of the Job Manager.</p>
-
-<p>Stop the YARN session by stopping the unix process (using CTRL+C) or by entering ‘stop’ into the client.</p>
-
-<h4 id="detached-yarn-session">Detached YARN session</h4>
-
-<p>If you do not want to keep the Flink YARN client running all the time, its also possible to start a <em>detached</em> YARN session. 
-The parameter for that is called <code>-d</code> or <code>--detached</code>.</p>
-
-<p>In that case, the Flink YARN client will only submit Flink to the cluster and then close itself.
-Note that in this case its not possible to stop the YARN session using Flink.</p>
-
-<p>Use the YARN utilities (<code>yarn application -kill &lt;appId</code>) to stop the YARN session.</p>
-
-<h3 id="submit-job-to-flink">Submit Job to Flink</h3>
-
-<p>Use the following command to submit a Flink program to the YARN cluster:</p>
-
-<div class="highlight"><pre><code class="language-bash">./bin/flink</code></pre></div>
-
-<p>Please refer to the documentation of the <a href="http://flink.apache.org/docs/0.9/apis/cli.html">commandline client</a>.</p>
-
-<p>The command will show you a help menu like this:</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="o">[</span>...<span class="o">]</span>
-Action <span class="s2">&quot;run&quot;</span> compiles and runs a program.
-
-  Syntax: run <span class="o">[</span>OPTIONS<span class="o">]</span> &lt;jar-file&gt; &lt;arguments&gt;
-  <span class="s2">&quot;run&quot;</span> action arguments:
-     -c,--class &lt;classname&gt;           Class with the program entry point <span class="o">(</span><span class="s2">&quot;main&quot;</span>
-                                      method or <span class="s2">&quot;getPlan()&quot;</span> method. Only needed
-                                      <span class="k">if</span> the JAR file does not specify the class
-                                      in its manifest.
-     -m,--jobmanager &lt;host:port&gt;      Address of the JobManager <span class="o">(</span>master<span class="o">)</span> to
-                                      which to connect. Use this flag to connect
-                                      to a different JobManager than the one
-                                      specified in the configuration.
-     -p,--parallelism &lt;parallelism&gt;   The parallelism with which to run the
-                                      program. Optional flag to override the
-                                      default value specified in the
-                                      configuration</code></pre></div>
-
-<p>Use the <em>run</em> action to submit a job to YARN. The client is able to determine the address of the JobManager. In the rare event of a problem, you can also pass the JobManager address using the <code>-m</code> argument. The JobManager address is visible in the YARN console.</p>
-
-<p><strong>Example</strong></p>
-
-<div class="highlight"><pre><code class="language-bash">wget -O apache-license-v2.txt http://www.apache.org/licenses/LICENSE-2.0.txt
-hadoop fs -copyFromLocal LICENSE-2.0.txt hdfs:/// ...
-./bin/flink run ./examples/flink-java-examples-0.9.0-WordCount.jar <span class="se">\</span>
-        hdfs:///..../apache-license-v2.txt hdfs:///.../wordcount-result.txt</code></pre></div>
-
-<p>If there is the following error, make sure that all TaskManagers started:</p>
-
-<div class="highlight"><pre><code class="language-bash">Exception in thread <span class="s2">&quot;main&quot;</span> org.apache.flink.compiler.CompilerException:
-    Available instances could not be determined from job manager: Connection timed out.</code></pre></div>
-
-<p>You can check the number of TaskManagers in the JobManager web interface. The address of this interface is printed in the YARN session console.</p>
-
-<p>If the TaskManagers do not show up after a minute, you should investigate the issue using the log files.</p>
-
-<h2 id="run-a-single-flink-job-on-hadoop-yarn">Run a single Flink job on Hadoop YARN</h2>
-
-<p>The documentation above describes how to start a Flink cluster within a Hadoop YARN environment.
-It is also possible to launch Flink within YARN only for executing a single job.</p>
-
-<p>Please note that the client then expects the <code>-yn</code> value to be set (number of TaskManagers).</p>
-
-<p><strong><em>Example:</em></strong></p>
-
-<div class="highlight"><pre><code class="language-bash">./bin/flink run -m yarn-cluster -yn <span class="m">2</span> ./examples/flink-java-examples-0.9.0-WordCount.jar</code></pre></div>
-
-<p>The command line options of the YARN session are also available with the <code>./bin/flink</code> tool. They are prefixed with a <code>y</code> or <code>yarn</code> (for the long argument options).</p>
-
-<h2 id="recovery-behavior-of-flink-on-yarn">Recovery behavior of Flink on YARN</h2>
-
-<p>Flink’s YARN client has the following configuration parameters to control how to behave in case of container failures. These parameters can be set either from the <code>conf/flink-conf.yaml</code> or when starting the YARN session, using <code>-D</code> parameters.</p>
-
-<ul>
-  <li><code>yarn.reallocate-failed</code>: This parameter controls whether Flink should reallocate failed TaskManager containers. Default: true</li>
-  <li><code>yarn.maximum-failed-containers</code>: The maximum number of failed containers the ApplicationMaster accepts until it fails the YARN session. Default: The number of initally requested TaskManagers (<code>-n</code>).</li>
-  <li><code>yarn.application-attempts</code>: The number of ApplicationMaster (+ its TaskManager containers) attempts. If this value is set to 1 (default), the entire YARN session will fail when the Application master fails. Higher values specify the number of restarts of the ApplicationMaster by YARN.</li>
-</ul>
-
-<h2 id="debugging-a-failed-yarn-session">Debugging a failed YARN session</h2>
-
-<p>There are many reasons why a Flink YARN session deployment can fail. A misconfigured Hadoop setup (HDFS permissions, YARN configuration), version incompatibilities (running Flink with vanilla Hadoop dependencies on Cloudera Hadoop) or other errors.</p>
-
-<h3 id="log-files">Log Files</h3>
-
-<p>In cases where the Flink YARN session fails during the deployment itself, users have to rely on the logging capabilities of Hadoop YARN. The most useful feature for that is the <a href="http://hortonworks.com/blog/simplifying-user-logs-management-and-access-in-yarn/">YARN log aggregation</a>. 
-To enable it, users have to set the <code>yarn.log-aggregation-enable</code> property to <code>true</code> in the <code>yarn-site.xml</code> file.
-Once that is enabled, users can use the following command to retrieve all log files of a (failed) YARN session.</p>
-
-<div class="highlight"><pre><code>yarn logs -applicationId &lt;application ID&gt;
-</code></pre></div>
-
-<p>Note that it takes a few seconds after the session has finished until the logs show up.</p>
-
-<h3 id="yarn-client-console--webinterfaces">YARN Client console &amp; Webinterfaces</h3>
-
-<p>The Flink YARN client also prints error messages in the terminal if errors occur during runtime (for example if a TaskManager stops working after some time).</p>
-
-<p>In addition to that, there is the YARN Resource Manager webinterface (by default on port 8088). The port of the Resource Manager web interface is determined by the <code>yarn.resourcemanager.webapp.address</code> configuration value.</p>
-
-<p>It allows to access log files for running YARN applications and shows diagnostics for failed apps.</p>
-
-<h2 id="build-yarn-client-for-a-specific-hadoop-version">Build YARN client for a specific Hadoop version</h2>
-
-<p>Users using Hadoop distributions from companies like Hortonworks, Cloudera or MapR might have to build Flink against their specific versions of Hadoop (HDFS) and YARN. Please read the <a href="building.html">build instructions</a> for more details.</p>
-
-<h2 id="background--internals">Background / Internals</h2>
-
-<p>This section briefly describes how Flink and YARN interact.</p>
-
-<p><img src="fig/FlinkOnYarn.svg" class="img-responsive" /></p>
-
-<p>The YARN client needs to access the Hadoop configuration to connect to the YARN resource manager and to HDFS. It determines the Hadoop configuration using the following strategy:</p>
-
-<ul>
-  <li>Test if <code>YARN_CONF_DIR</code>, <code>HADOOP_CONF_DIR</code> or <code>HADOOP_CONF_PATH</code> are set (in that order). If one of these variables are set, they are used to read the configuration.</li>
-  <li>If the above strategy fails (this should not be the case in a correct YARN setup), the client is using the <code>HADOOP_HOME</code> environment variable. If it is set, the client tries to access <code>$HADOOP_HOME/etc/hadoop</code> (Hadoop 2) and <code>$HADOOP_HOME/conf</code> (Hadoop 1).</li>
-</ul>
-
-<p>When starting a new Flink YARN session, the client first checks if the requested resources (containers and memory) are available. After that, it uploads a jar that contains Flink and the configuration to HDFS (step 1).</p>
-
-<p>The next step of the client is to request (step 2) a YARN container to start the <em>ApplicationMaster</em> (step 3). Since the client registered the configuration and jar-file as a resource for the container, the NodeManager of YARN running on that particular machine will take care of preparing the container (e.g. downloading the files). Once that has finished, the <em>ApplicationMaster</em> (AM) is started.</p>
-
-<p>The <em>JobManager</em> and AM are running in the same container. Once they successfully started, the AM knows the address of the JobManager (its own host). It is generating a new Flink configuration file for the TaskManagers (so that they can connect to the JobManager). The file is also uploaded to HDFS. Additionally, the <em>AM</em> container is also serving Flink’s web interface. The ports Flink is using for its services are the standard ports configured by the user + the application id as an offset. This allows users to execute multiple Flink YARN sessions in parallel.</p>
-
-<p>After that, the AM starts allocating the containers for Flink’s TaskManagers, which will download the jar file and the modified configuration from the HDFS. Once these steps are completed, Flink is set up and ready to accept Jobs.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/README.md
----------------------------------------------------------------------
diff --git a/content/docs/master/README.md b/content/docs/master/README.md
deleted file mode 100644
index 206b04c..0000000
--- a/content/docs/master/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-This README gives an overview of how to build and contribute to the documentation of Apache Flink.
-
-The documentation is included with the source of Apache Flink in order to ensure that you always
-have docs corresponding to your checked out version. The online documentation at
-http://flink.apache.org/ is also generated from the files found here.
-
-# Requirements
-
-We use Markdown to write and Jekyll to translate the documentation to static HTML. You can install
-all needed software via:
-
-    gem install jekyll
-    gem install kramdown
-    sudo easy_install Pygments
-
-Kramdown is needed for Markdown processing and the Python based Pygments is used for syntax
-highlighting.
-
-# Build
-
-The `docs/build_docs.sh` script calls Jekyll and generates the documentation in `docs/target`. You
-can then point your browser to `docs/target/index.html` and start reading.
-
-If you call the script with the preview flag `build_docs.sh -p`, Jekyll will start a web server at
-`localhost:4000` and watch the docs directory for updates. Use this mode to preview changes locally.
-
-# Contribute
-
-The documentation pages are written in
-[Markdown](http://daringfireball.net/projects/markdown/syntax). It is possible to use the
-[GitHub flavored syntax](http://github.github.com/github-flavored-markdown) and intermix plain html.
-
-In addition to Markdown, every page contains a Jekyll front matter, which specifies the title of the
-page and the layout to use. The title is used as the top-level heading for the page.
-
-    ---
-    title: "Title of the Page"
-    ---
-
-Furthermore, you can access variables found in `docs/_config.yml` as follows:
-
-    {{ site.NAME }}
-
-This will be replaced with the value of the variable called `NAME` when generating
-the docs.
-
-All documents are structed with headings. From these heading, a page outline is
-automatically generated for each page.
-
-```
-# Level-1 Heading  <- Used for the title of the page
-## Level-2 Heading <- Start with this one
-### Level-3 heading
-#### Level-4 heading
-##### Level-5 heading
-```
-
-Please stick to the "logical order" when using the headlines, e.g. start with level-2 headings and
-use level-3 headings for subsections, etc. Don't use a different ordering, because you don't like
-how a headline looks.

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/best_practices.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/best_practices.html b/content/docs/master/apis/best_practices.html
deleted file mode 100644
index 44b220b..0000000
--- a/content/docs/master/apis/best_practices.html
+++ /dev/null
@@ -1,411 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Best Practices</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Best Practices</h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>This page contains a collection of best practices for Flink programmers on how to solve frequently encountered problems.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#parsing-command-line-arguments-and-passing-them-around-in-your-flink-application" id="markdown-toc-parsing-command-line-arguments-and-passing-them-around-in-your-flink-application">Parsing command line arguments and passing them around in your Flink application</a>    <ul>
-      <li><a href="#getting-your-configuration-values-into-the-parametertool" id="markdown-toc-getting-your-configuration-values-into-the-parametertool">Getting your configuration values into the <code>ParameterTool</code></a></li>
-      <li><a href="#using-the-parameters-in-your-flink-program" id="markdown-toc-using-the-parameters-in-your-flink-program">Using the parameters in your Flink program</a></li>
-    </ul>
-  </li>
-  <li><a href="#naming-large-tuplex-types" id="markdown-toc-naming-large-tuplex-types">Naming large TupleX types</a></li>
-  <li><a href="#register-a-custom-serializer-for-your-flink-program" id="markdown-toc-register-a-custom-serializer-for-your-flink-program">Register a custom serializer for your Flink program</a></li>
-</ul>
-
-<h2 id="parsing-command-line-arguments-and-passing-them-around-in-your-flink-application">Parsing command line arguments and passing them around in your Flink application</h2>
-
-<p>Almost all Flink applications, both batch and streaming rely on external configuration parameters.
-For example for specifying input and output sources (like paths or addresses), also system parameters (parallelism, runtime configuration) and application specific parameters (often used within the user functions).</p>
-
-<p>Since version 0.9 we are providing a simple utility called <code>ParameterTool</code> to provide at least some basic tooling for solving these problems.</p>
-
-<p>Please note that you don’t have to use the <code>ParameterTool</code> explained here. Other frameworks such as <a href="https://commons.apache.org/proper/commons-cli/">Commons CLI</a>,
-<a href="http://argparse4j.sourceforge.net/">argparse4j</a> and others work well with Flink as well.</p>
-
-<h3 id="getting-your-configuration-values-into-the-parametertool">Getting your configuration values into the <code>ParameterTool</code></h3>
-
-<p>The <code>ParameterTool</code> provides a set of predefined static methods for reading the configuration. The tool is internally expecting a <code>Map&lt;String, String&gt;</code>, so its very easy to integrate it with your own configuration style.</p>
-
-<h4 id="from-properties-files">From <code>.properties</code> files</h4>
-
-<p>The following method will read a <a href="https://docs.oracle.com/javase/tutorial/essential/environment/properties.html">Properties</a> file and provide the key/value pairs:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">String</span> <span class="n">propertiesFile</span> <span class="o">=</span> <span class="s">&quot;/home/sam/flink/myjob.properties&quot;</span><span class="o">;</span>
-<span class="n">ParameterTool</span> <span class="n">parameter</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromPropertiesFile</span><span class="o">(</span><span class="n">propertiesFile</span><span class="o">);</span></code></pre></div>
-
-<h4 id="from-the-command-line-arguments">From the command line arguments</h4>
-
-<p>This allows getting arguments like <code>--input hdfs:///mydata --elements 42</code> from the command line.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-	<span class="n">ParameterTool</span> <span class="n">parameter</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromArgs</span><span class="o">(</span><span class="n">args</span><span class="o">);</span>
-	<span class="c1">// .. regular code ..</span></code></pre></div>
-
-<h4 id="from-system-properties">From system properties</h4>
-
-<p>When starting a JVM, you can pass system properties to it: <code>-Dinput=hdfs:///mydata</code>. You can also initialize the <code>ParameterTool</code> from these system properties:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameter</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromSystemProperties</span><span class="o">();</span></code></pre></div>
-
-<h3 id="using-the-parameters-in-your-flink-program">Using the parameters in your Flink program</h3>
-
-<p>Now that we’ve got the parameters from somewhere (see above) we can use them in various ways.</p>
-
-<p><strong>Directly from the <code>ParameterTool</code></strong></p>
-
-<p>The <code>ParameterTool</code> itself has methods for accessing the values.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="c1">// ...</span>
-<span class="n">parameter</span><span class="o">.</span><span class="na">getRequired</span><span class="o">(</span><span class="s">&quot;input&quot;</span><span class="o">);</span>
-<span class="n">parameter</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">&quot;output&quot;</span><span class="o">,</span> <span class="s">&quot;myDefaultValue&quot;</span><span class="o">);</span>
-<span class="n">parameter</span><span class="o">.</span><span class="na">getLong</span><span class="o">(</span><span class="s">&quot;expectedCount&quot;</span><span class="o">,</span> <span class="o">-</span><span class="mi">1L</span><span class="o">);</span>
-<span class="n">parameter</span><span class="o">.</span><span class="na">getNumberOfParameters</span><span class="o">()</span>
-<span class="c1">// .. there are more methods available.</span></code></pre></div>
-
-<p>You can use the return values of these methods directly in the main() method (=the client submitting the application).
-For example you could set the parallelism of a operator like this:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromArgs</span><span class="o">(</span><span class="n">args</span><span class="o">);</span>
-<span class="kt">int</span> <span class="n">parallelism</span> <span class="o">=</span> <span class="n">parameters</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">&quot;mapParallelism&quot;</span><span class="o">,</span> <span class="mi">2</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">counts</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">()).</span><span class="na">setParallelism</span><span class="o">(</span><span class="n">parallelism</span><span class="o">);</span></code></pre></div>
-
-<p>Since the <code>ParameterTool</code> is serializable, you can pass it to the functions itself:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromArgs</span><span class="o">(</span><span class="n">args</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">counts</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">(</span><span class="n">parameters</span><span class="o">));</span></code></pre></div>
-
-<p>and then use them inside the function for getting values from the command line.</p>
-
-<h4 id="passing-it-as-a-configuration-object-to-single-functions">Passing it as a <code>Configuration</code> object to single functions</h4>
-
-<p>The example below shows how to pass the parameters as a <code>Configuration</code> object to a user defined function.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromArgs</span><span class="o">(</span><span class="n">args</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">counts</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">()).</span><span class="na">withParameters</span><span class="o">(</span><span class="n">parameters</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">())</span></code></pre></div>
-
-<p>In the <code>Tokenizer</code>, the object is now accessible in the <code>open(Configuration conf)</code> method:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Tokenizer</span> <span class="kd">extends</span> <span class="n">RichFlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-	<span class="nd">@Override</span>
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">open</span><span class="o">(</span><span class="n">Configuration</span> <span class="n">parameters</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-		<span class="n">parameters</span><span class="o">.</span><span class="na">getInteger</span><span class="o">(</span><span class="s">&quot;myInt&quot;</span><span class="o">,</span> <span class="o">-</span><span class="mi">1</span><span class="o">);</span>
-		<span class="c1">// .. do</span></code></pre></div>
-
-<h4 id="register-the-parameters-globally">Register the parameters globally</h4>
-
-<p>Parameters registered as a <a href="programming_guide.html#passing-parameters-to-functions">global job parameter</a> at the <code>ExecutionConfig</code> allow you to access the configuration values from the JobManager web interface and all functions defined by the user.</p>
-
-<p><strong>Register the parameters globally</strong></p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromArgs</span><span class="o">(</span><span class="n">args</span><span class="o">);</span>
-
-<span class="c1">// set up the execution environment</span>
-<span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">setGlobalJobParameters</span><span class="o">(</span><span class="n">parameters</span><span class="o">);</span></code></pre></div>
-
-<p>Access them in any rich user function:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Tokenizer</span> <span class="kd">extends</span> <span class="n">RichFlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-	<span class="nd">@Override</span>
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-		<span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="o">(</span><span class="n">ParameterTool</span><span class="o">)</span> <span class="n">getRuntimeContext</span><span class="o">().</span><span class="na">getExecutionConfig</span><span class="o">().</span><span class="na">getGlobalJobParameters</span><span class="o">();</span>
-		<span class="n">parameters</span><span class="o">.</span><span class="na">getRequired</span><span class="o">(</span><span class="s">&quot;input&quot;</span><span class="o">);</span>
-		<span class="c1">// .. do more ..</span></code></pre></div>
-
-<h2 id="naming-large-tuplex-types">Naming large TupleX types</h2>
-
-<p>It is recommended to use POJOs (Plain old Java objects) instead of <code>TupleX</code> for data types with many fields.
-Also, POJOs can be used to give large <code>Tuple</code>-types a name.</p>
-
-<p><strong>Example</strong></p>
-
-<p>Instead of using:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">Tuple11</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="o">...,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">var</span> <span class="o">=</span> <span class="k">new</span> <span class="o">...;</span></code></pre></div>
-
-<p>It is much easier to create a custom type extending from the large Tuple type.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">CustomType</span> <span class="n">var</span> <span class="o">=</span> <span class="k">new</span> <span class="o">...;</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">CustomType</span> <span class="kd">extends</span> <span class="n">Tuple11</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="o">...,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="o">{</span>
-    <span class="c1">// constructor matching super</span>
-<span class="o">}</span></code></pre></div>
-
-<h2 id="register-a-custom-serializer-for-your-flink-program">Register a custom serializer for your Flink program</h2>
-
-<p>If you use a custom type in your Flink program which cannot be serialized by the
-Flink type serializer, Flink falls back to using the generic Kryo
-serializer. You may register your own serializer or a serialization system like
-Google Protobuf or Apache Thrift with Kryo. To do that, simply register the type
-class and the serializer in the <code>ExecutionConfig</code> of your Flink program.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="c1">// register the class of the serializer as serializer for a type</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">registerTypeWithKryoSerializer</span><span class="o">(</span><span class="n">MyCustomType</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">MyCustomSerializer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-
-<span class="c1">// register an instance as serializer for a type</span>
-<span class="n">MySerializer</span> <span class="n">mySerializer</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">MySerializer</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">registerTypeWithKryoSerializer</span><span class="o">(</span><span class="n">MyCustomType</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">mySerializer</span><span class="o">);</span></code></pre></div>
-
-<p>Note that your custom serializer has to extend Kryo’s Serializer class. In the
-case of Google Protobuf or Apache Thrift, this has already been done for
-you:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="c1">// register the Google Protobuf serializer with Kryo</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">registerTypeWithKryoSerializer</span><span class="o">(</span><span class="n">MyCustomType</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">ProtobufSerializer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-
-<span class="c1">// register the serializer included with Apache Thrift as the standard serializer</span>
-<span class="c1">// TBaseSerializer states it should be initalized as a default Kryo serializer</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">addDefaultKryoSerializer</span><span class="o">(</span><span class="n">MyCustomType</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">TBaseSerializer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span></code></pre></div>
-
-<p>For the above example to work, you need to include the necessary dependencies in
-your Maven project file (pom.xml). In the dependency section, add the following
-for Apache Thrift:</p>
-
-<div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>com.twitter<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>chill-thrift<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>0.5.2<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="c">&lt;!-- libthrift is required by chill-thrift --&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>org.apache.thrift<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>libthrift<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>0.6.1<span class="nt">&lt;/version&gt;</span>
-	<span class="nt">&lt;exclusions&gt;</span>
-		<span class="nt">&lt;exclusion&gt;</span>
-			<span class="nt">&lt;groupId&gt;</span>javax.servlet<span class="nt">&lt;/groupId&gt;</span>
-			<span class="nt">&lt;artifactId&gt;</span>servlet-api<span class="nt">&lt;/artifactId&gt;</span>
-		<span class="nt">&lt;/exclusion&gt;</span>
-		<span class="nt">&lt;exclusion&gt;</span>
-			<span class="nt">&lt;groupId&gt;</span>org.apache.httpcomponents<span class="nt">&lt;/groupId&gt;</span>
-			<span class="nt">&lt;artifactId&gt;</span>httpclient<span class="nt">&lt;/artifactId&gt;</span>
-		<span class="nt">&lt;/exclusion&gt;</span>
-	<span class="nt">&lt;/exclusions&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<p>For Google Protobuf you need the following Maven dependency:</p>
-
-<div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>com.twitter<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>chill-protobuf<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>0.5.2<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="c">&lt;!-- We need protobuf for chill-protobuf --&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>com.google.protobuf<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>protobuf-java<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>2.5.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<p>Please adjust the versions of both libraries as needed.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/cli.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/cli.html b/content/docs/master/apis/cli.html
deleted file mode 100644
index bfe695e..0000000
--- a/content/docs/master/apis/cli.html
+++ /dev/null
@@ -1,394 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Command-Line Interface</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Command-Line Interface</h1>
-
-
-
-<p>Flink provides a command-line interface to run programs that are packaged
-as JAR files, and control their execution.  The command line interface is part
-of any Flink setup, available in local single node setups and in
-distributed setups. It is located under <code>&lt;flink-home&gt;/bin/flink</code>
-and connects by default to the running Flink master (JobManager) that was
-started from the same installation directory.</p>
-
-<p>A prerequisite to using the command line interface is that the Flink
-master (JobManager) has been started (via <code>&lt;flink-home&gt;/bin/start-
-local.sh</code> or <code>&lt;flink-home&gt;/bin/start-cluster.sh</code>) or that a YARN
-environment is available.</p>
-
-<p>The command line can be used to</p>
-
-<ul id="markdown-toc">
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-  <li><a href="#usage" id="markdown-toc-usage">Usage</a></li>
-</ul>
-
-<h2 id="examples">Examples</h2>
-
-<ul>
-  <li>
-    <p>Run example program with no arguments.</p>
-
-    <div class="highlight"><pre><code>./bin/flink run ./examples/flink-java-examples-0.10-SNAPSHOT-WordCount.jar
-</code></pre></div>
-  </li>
-  <li>
-    <p>Run example program with arguments for input and result files</p>
-
-    <div class="highlight"><pre><code>./bin/flink run ./examples/flink-java-examples-0.10-SNAPSHOT-WordCount.jar \
-                       file:///home/user/hamlet.txt file:///home/user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>Run example program with parallelism 16 and arguments for input and result files</p>
-
-    <div class="highlight"><pre><code>./bin/flink run -p 16 ./examples/flink-java-examples-0.10-SNAPSHOT-WordCount.jar \
-                        file:///home/user/hamlet.txt file:///home/user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>Run example program on a specific JobManager:</p>
-
-    <div class="highlight"><pre><code>./bin/flink run -m myJMHost:6123 \
-                       ./examples/flink-java-examples-0.10-SNAPSHOT-WordCount.jar \
-                       file:///home/user/hamlet.txt file:///home/user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>Run example program with a specific class as an entry point:</p>
-
-    <div class="highlight"><pre><code>./bin/flink run -c org.apache.flink.examples.java.wordcount.WordCount \
-                       ./examples/flink-java-examples-0.10-SNAPSHOT-WordCount.jar \
-                       file:///home/user/hamlet.txt file:///home/user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>Run example program using a <a href="http://flink.apache.org/docs/master/setup/yarn_setup.html#run-a-single-flink-job-on-hadoop-yarn">per-job YARN cluster</a> with 2 TaskManagers:</p>
-
-    <div class="highlight"><pre><code>./bin/flink run -m yarn-cluster -yn 2 \
-                       ./examples/flink-java-examples-0.10-SNAPSHOT-WordCount.jar \
-                       hdfs:///user/hamlet.txt hdfs:///user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>Display the optimized execution plan for the WordCount example program as JSON:</p>
-
-    <div class="highlight"><pre><code>./bin/flink info ./examples/flink-java-examples-0.10-SNAPSHOT-WordCount.jar \
-                        file:///home/user/hamlet.txt file:///home/user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>List scheduled and running jobs (including their JobIDs):</p>
-
-    <div class="highlight"><pre><code>./bin/flink list
-</code></pre></div>
-  </li>
-  <li>
-    <p>List scheduled jobs (including their JobIDs):</p>
-
-    <div class="highlight"><pre><code>./bin/flink list -s
-</code></pre></div>
-  </li>
-  <li>
-    <p>List running jobs (including their JobIDs):</p>
-
-    <div class="highlight"><pre><code>./bin/flink list -r
-</code></pre></div>
-  </li>
-  <li>
-    <p>Cancel a job:</p>
-
-    <div class="highlight"><pre><code>./bin/flink cancel &lt;jobID&gt;
-</code></pre></div>
-  </li>
-</ul>
-
-<h2 id="usage">Usage</h2>
-
-<p>The command line syntax is as follows:</p>
-
-<div class="highlight"><pre><code>./flink &lt;ACTION&gt; [OPTIONS] [ARGUMENTS]
-
-The following actions are available:
-
-Action "run" compiles and runs a program.
-
-  Syntax: run [OPTIONS] &lt;jar-file&gt; &lt;arguments&gt;
-  "run" action options:
-     -c,--class &lt;classname&gt;           Class with the program entry point ("main"
-                                      method or "getPlan()" method. Only needed
-                                      if the JAR file does not specify the class
-                                      in its manifest.
-     -m,--jobmanager &lt;host:port&gt;      Address of the JobManager (master) to
-                                      which to connect. Specify 'yarn-cluster'
-                                      as the JobManager to deploy a YARN cluster
-                                      for the job. Use this flag to connect to a
-                                      different JobManager than the one
-                                      specified in the configuration.
-     -p,--parallelism &lt;parallelism&gt;   The parallelism with which to run the
-                                      program. Optional flag to override the
-                                      default value specified in the
-                                      configuration.
-  Additional arguments if -m yarn-cluster is set:
-     -yD &lt;arg&gt;                            Dynamic properties
-     -yd,--yarndetached                   Start detached
-     -yj,--yarnjar &lt;arg&gt;                  Path to Flink jar file
-     -yjm,--yarnjobManagerMemory &lt;arg&gt;    Memory for JobManager Container [in
-                                          MB]
-     -yn,--yarncontainer &lt;arg&gt;            Number of YARN container to allocate
-                                          (=Number of Task Managers)
-     -yq,--yarnquery                      Display available YARN resources
-                                          (memory, cores)
-     -yqu,--yarnqueue &lt;arg&gt;               Specify YARN queue.
-     -ys,--yarnslots &lt;arg&gt;                Number of slots per TaskManager
-     -yt,--yarnship &lt;arg&gt;                 Ship files in the specified directory
-                                          (t for transfer)
-     -ytm,--yarntaskManagerMemory &lt;arg&gt;   Memory per TaskManager Container [in
-                                          MB]
-
-
-Action "info" shows the optimized execution plan of the program (JSON).
-
-  Syntax: info [OPTIONS] &lt;jar-file&gt; &lt;arguments&gt;
-  "info" action options:
-     -c,--class &lt;classname&gt;           Class with the program entry point ("main"
-                                      method or "getPlan()" method. Only needed
-                                      if the JAR file does not specify the class
-                                      in its manifest.
-     -m,--jobmanager &lt;host:port&gt;      Address of the JobManager (master) to
-                                      which to connect. Specify 'yarn-cluster'
-                                      as the JobManager to deploy a YARN cluster
-                                      for the job. Use this flag to connect to a
-                                      different JobManager than the one
-                                      specified in the configuration.
-     -p,--parallelism &lt;parallelism&gt;   The parallelism with which to run the
-                                      program. Optional flag to override the
-                                      default value specified in the
-                                      configuration.
-
-
-Action "list" lists running and scheduled programs.
-
-  Syntax: list [OPTIONS]
-  "list" action options:
-     -m,--jobmanager &lt;host:port&gt;   Address of the JobManager (master) to which
-                                   to connect. Specify 'yarn-cluster' as the
-                                   JobManager to deploy a YARN cluster for the
-                                   job. Use this flag to connect to a different
-                                   JobManager than the one specified in the
-                                   configuration.
-     -r,--running                  Show only running programs and their JobIDs
-     -s,--scheduled                Show only scheduled programs and their JobIDs
-
-
-Action "cancel" cancels a running program.
-
-  Syntax: cancel [OPTIONS] &lt;Job ID&gt;
-  "cancel" action options:
-     -m,--jobmanager &lt;host:port&gt;   Address of the JobManager (master) to which
-                                   to connect. Specify 'yarn-cluster' as the
-                                   JobManager to deploy a YARN cluster for the
-                                   job. Use this flag to connect to a different
-                                   JobManager than the one specified in the
-                                   configuration.
-</code></pre></div>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[20/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/cluster_execution.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/cluster_execution.html b/content/docs/master/apis/cluster_execution.html
deleted file mode 100644
index e90fd2a..0000000
--- a/content/docs/master/apis/cluster_execution.html
+++ /dev/null
@@ -1,345 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Cluster Execution</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Cluster Execution</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#command-line-interface" id="markdown-toc-command-line-interface">Command Line Interface</a></li>
-  <li><a href="#remote-environment" id="markdown-toc-remote-environment">Remote Environment</a>    <ul>
-      <li><a href="#maven-dependency" id="markdown-toc-maven-dependency">Maven Dependency</a></li>
-      <li><a href="#example" id="markdown-toc-example">Example</a></li>
-    </ul>
-  </li>
-  <li><a href="#linking-with-modules-not-contained-in-the-binary-distribution" id="markdown-toc-linking-with-modules-not-contained-in-the-binary-distribution">Linking with modules not contained in the binary distribution</a>    <ul>
-      <li><a href="#packaging-dependencies-with-your-usercode-with-maven" id="markdown-toc-packaging-dependencies-with-your-usercode-with-maven">Packaging dependencies with your usercode with Maven</a></li>
-    </ul>
-  </li>
-</ul>
-
-<p>Flink programs can run distributed on clusters of many machines. There
-are two ways to send a program to a cluster for execution:</p>
-
-<h2 id="command-line-interface">Command Line Interface</h2>
-
-<p>The command line interface lets you submit packaged programs (JARs) to a cluster
-(or single machine setup).</p>
-
-<p>Please refer to the <a href="cli.html">Command Line Interface</a> documentation for
-details.</p>
-
-<h2 id="remote-environment">Remote Environment</h2>
-
-<p>The remote environment lets you execute Flink Java programs on a cluster
-directly. The remote environment points to the cluster on which you want to
-execute the program.</p>
-
-<h3 id="maven-dependency">Maven Dependency</h3>
-
-<p>If you are developing your program as a Maven project, you have to add the
-<code>flink-clients</code> module using this dependency:</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<h3 id="example">Example</h3>
-
-<p>The following illustrates the use of the <code>RemoteEnvironment</code>:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span>
-        <span class="o">.</span><span class="na">createRemoteEnvironment</span><span class="o">(</span><span class="s">&quot;flink-master&quot;</span><span class="o">,</span> <span class="mi">6123</span><span class="o">,</span> <span class="s">&quot;/home/user/udfs.jar&quot;</span><span class="o">);</span>
-
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">data</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readTextFile</span><span class="o">(</span><span class="s">&quot;hdfs://path/to/file&quot;</span><span class="o">);</span>
-
-    <span class="n">data</span>
-        <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="s">&quot;http://&quot;</span><span class="o">);</span>
-            <span class="o">}</span>
-        <span class="o">})</span>
-        <span class="o">.</span><span class="na">writeAsText</span><span class="o">(</span><span class="s">&quot;hdfs://path/to/result&quot;</span><span class="o">);</span>
-
-    <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">();</span>
-<span class="o">}</span></code></pre></div>
-
-<p>Note that the program contains custom user code and hence requires a JAR file with
-the classes of the code attached. The constructor of the remote environment
-takes the path(s) to the JAR file(s).</p>
-
-<h2 id="linking-with-modules-not-contained-in-the-binary-distribution">Linking with modules not contained in the binary distribution</h2>
-
-<p>The binary distribution contains jar packages in the <code>lib</code> folder that are automatically
-provided to the classpath of your distrbuted programs. Almost all of Flink classes are
-located there with a few exceptions, for example the streaming connectors and some freshly
-added modules. To run code depending on these modules you need to make them accessible
-during runtime, for which we suggest two options:</p>
-
-<ol>
-  <li>Either copy the required jar files to the <code>lib</code> folder onto all of your TaskManagers.
-Note that you have to restar your TaskManagers after this.</li>
-  <li>Or package them with your usercode.</li>
-</ol>
-
-<p>The latter version is recommended as it respects the classloader management in Flink.</p>
-
-<h3 id="packaging-dependencies-with-your-usercode-with-maven">Packaging dependencies with your usercode with Maven</h3>
-
-<p>To provide these dependencies not included by Flink we suggest two options with Maven.</p>
-
-<ol>
-  <li>The maven assembly plugin builds a so called fat jar cointaining all your dependencies.
-Assembly configuration is straight-forward, but the resulting jar might become bulky. See 
-<a href="http://maven.apache.org/plugins/maven-assembly-plugin/usage.html">usage</a>.</li>
-  <li>The maven unpack plugin, for unpacking the relevant parts of the dependencies and
-then package it with your code.</li>
-</ol>
-
-<p>Using the latter approach in order to bundle the Kafka connector, <code>flink-connector-kafka</code>
-you would need to add the classes from both the connector and the Kafka API itself. Add
-the following to your plugins section.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;plugin&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.maven.plugins<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>maven-dependency-plugin<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>2.9<span class="nt">&lt;/version&gt;</span>
-    <span class="nt">&lt;executions&gt;</span>
-        <span class="nt">&lt;execution&gt;</span>
-            <span class="nt">&lt;id&gt;</span>unpack<span class="nt">&lt;/id&gt;</span>
-            <span class="c">&lt;!-- executed just before the package phase --&gt;</span>
-            <span class="nt">&lt;phase&gt;</span>prepare-package<span class="nt">&lt;/phase&gt;</span>
-            <span class="nt">&lt;goals&gt;</span>
-                <span class="nt">&lt;goal&gt;</span>unpack<span class="nt">&lt;/goal&gt;</span>
-            <span class="nt">&lt;/goals&gt;</span>
-            <span class="nt">&lt;configuration&gt;</span>
-                <span class="nt">&lt;artifactItems&gt;</span>
-                    <span class="c">&lt;!-- For Flink connector classes --&gt;</span>
-                    <span class="nt">&lt;artifactItem&gt;</span>
-                        <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-                        <span class="nt">&lt;artifactId&gt;</span>flink-connector-kafka<span class="nt">&lt;/artifactId&gt;</span>
-                        <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-                        <span class="nt">&lt;type&gt;</span>jar<span class="nt">&lt;/type&gt;</span>
-                        <span class="nt">&lt;overWrite&gt;</span>false<span class="nt">&lt;/overWrite&gt;</span>
-                        <span class="nt">&lt;outputDirectory&gt;</span>${project.build.directory}/classes<span class="nt">&lt;/outputDirectory&gt;</span>
-                        <span class="nt">&lt;includes&gt;</span>org/apache/flink/**<span class="nt">&lt;/includes&gt;</span>
-                    <span class="nt">&lt;/artifactItem&gt;</span>
-                    <span class="c">&lt;!-- For Kafka API classes --&gt;</span>
-                    <span class="nt">&lt;artifactItem&gt;</span>
-                        <span class="nt">&lt;groupId&gt;</span>org.apache.kafka<span class="nt">&lt;/groupId&gt;</span>
-                        <span class="nt">&lt;artifactId&gt;</span>kafka_<span class="nt">&lt;YOUR_SCALA_VERSION&gt;&lt;/artifactId&gt;</span>
-                        <span class="nt">&lt;version&gt;&lt;YOUR_KAFKA_VERSION&gt;&lt;/version&gt;</span>
-                        <span class="nt">&lt;type&gt;</span>jar<span class="nt">&lt;/type&gt;</span>
-                        <span class="nt">&lt;overWrite&gt;</span>false<span class="nt">&lt;/overWrite&gt;</span>
-                        <span class="nt">&lt;outputDirectory&gt;</span>${project.build.directory}/classes<span class="nt">&lt;/outputDirectory&gt;</span>
-                        <span class="nt">&lt;includes&gt;</span>kafka/**<span class="nt">&lt;/includes&gt;</span>
-                    <span class="nt">&lt;/artifactItem&gt;</span>
-                <span class="nt">&lt;/artifactItems&gt;</span>
-            <span class="nt">&lt;/configuration&gt;</span>
-        <span class="nt">&lt;/execution&gt;</span>
-    <span class="nt">&lt;/executions&gt;</span>
-<span class="nt">&lt;/plugin&gt;</span></code></pre></div>
-
-<p>Now when running <code>mvn clean package</code> the produced jar includes the required dependencies.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[57/68] [abbrv] flink-web git commit: Add Andra and Chiwan in community people list

Posted by an...@apache.org.
Add Andra and Chiwan in community people list


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/228b6301
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/228b6301
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/228b6301

Branch: refs/heads/master
Commit: 228b63014867b0cfa3f9709f818f0d9b8d0af60c
Parents: e4900a6
Author: Chiwan Park <ch...@apache.org>
Authored: Thu Jul 2 17:04:08 2015 +0900
Committer: Chiwan Park <ch...@apache.org>
Committed: Thu Jul 2 17:05:27 2015 +0900

----------------------------------------------------------------------
 community.md | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/228b6301/community.md
----------------------------------------------------------------------
diff --git a/community.md b/community.md
index 590054c..448a1d3 100644
--- a/community.md
+++ b/community.md
@@ -231,6 +231,18 @@ Note: Flink does not build with Oracle JDK 6. It runs with Oracle JDK 6.
     <td class="text-center">PMC, Committer</td>
     <td class="text-center">warneke</td>
   </tr>
+  <tr>
+    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/2550549?s=50"></td>
+    <td class="text-center">Andra Lungu</td>
+    <td class="text-center">Committer</td>
+    <td class="text-center">andra</td>
+  </tr>
+  <tr>
+    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1941681?s=50"></td>
+    <td class="text-center">Chiwan Park</td>
+    <td class="text-center">Committer</td>
+    <td class="text-center">chiwanpark</td>
+  </tr>
 </table>
 
 You can reach committers directly at `<apache-id>@apache.org`. A list of all contributors can be found on our [GitHub Contributors]({{ site.FLINK_GITHUB_CONTRIBUTORS_URL }}) page.
@@ -283,4 +295,4 @@ The following people were very kind to mentor the project while in incubation.
     <td class="text-center">Former PPMC, Mentor</td>
     <td class="text-center">hsaputra</td>
   </tr>
-</table>
\ No newline at end of file
+</table>


[60/68] [abbrv] flink-web git commit: Add new features page

Posted by an...@apache.org.
Add new features page


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/5dcbfe10
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/5dcbfe10
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/5dcbfe10

Branch: refs/heads/master
Commit: 5dcbfe106c6f742bdd5639f5780a2f2ff6f922c0
Parents: aa0e01a
Author: Stephan Ewen <se...@apache.org>
Authored: Mon Jul 6 15:09:39 2015 +0200
Committer: Stephan Ewen <se...@apache.org>
Committed: Mon Jul 6 15:12:02 2015 +0200

----------------------------------------------------------------------
 _layouts/features.html                 |  10 +
 css/flink.css                          |   4 +
 features_new.md                        | 299 ++++++++++++++++++++++++++++
 img/features/continuous_streams.png    | Bin 0 -> 37006 bytes
 img/features/distributed_snapshots.png | Bin 0 -> 32838 bytes
 img/features/ecosystem_logos.png       | Bin 0 -> 234956 bytes
 img/features/exactly_once_state.png    | Bin 0 -> 10381 bytes
 img/features/iterations.png            | Bin 0 -> 135851 bytes
 img/features/memory_heap_division.png  | Bin 0 -> 28333 bytes
 img/features/one_runtime.png           | Bin 0 -> 16913 bytes
 img/features/optimizer_choice.png      | Bin 0 -> 13317 bytes
 img/features/stack.png                 | Bin 0 -> 87387 bytes
 img/features/streaming_performance.png | Bin 0 -> 16405 bytes
 13 files changed, 313 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/_layouts/features.html
----------------------------------------------------------------------
diff --git a/_layouts/features.html b/_layouts/features.html
new file mode 100644
index 0000000..79178d0
--- /dev/null
+++ b/_layouts/features.html
@@ -0,0 +1,10 @@
+---
+layout: base
+---
+<div class="row">
+  <div class="col-sm-10 col-sm-offset-1">
+
+{{ content }}
+
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/css/flink.css
----------------------------------------------------------------------
diff --git a/css/flink.css b/css/flink.css
index 7ad2694..7e04d60 100644
--- a/css/flink.css
+++ b/css/flink.css
@@ -148,6 +148,10 @@ code {
 	width: 100%;
 }
 
+.img-column {
+    text-align: center;
+}
+
 #disqus_thread {
 	padding-top: 3em;
 }

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/features_new.md
----------------------------------------------------------------------
diff --git a/features_new.md b/features_new.md
new file mode 100644
index 0000000..4f49d01
--- /dev/null
+++ b/features_new.md
@@ -0,0 +1,299 @@
+---
+title: "Features"
+layout: features
+---
+
+
+<!-- --------------------------------------------- -->
+<!--                Streaming
+<!-- --------------------------------------------- -->
+
+----
+
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>Streaming</b></h1>
+  </div>
+</div>
+
+----
+
+<!-- High Performance -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="performance"><i>High Performance</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink's data streaming runtime achieves high throughput rates and low latencies with little configuration.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/streaming_performance.png" alt="Performance of data streaming applications" style="width:75%" />
+  </div>
+</div>
+
+----
+
+<!-- Exactly-once Semantics -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="exactly_once"><i>Exactly-once Semantics for Stateful Computations</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Streaming applications can maintain custom state during their computation.</p>
+    <p class="lead">Flink's checkpointing mechanism ensures <i>exactly once</i> semantics for the state in the presence of failures.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/exactly_once_state.png" alt="Exactly-once Semantics for Stateful Computations" style="width:40%" />
+  </div>
+</div>
+
+----
+
+<!-- Continuous streaming -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="streaming_model"><i>Continuous Streaming Model with Flow Control</i></h1>
+  </div>
+</div>
+
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Data streaming applications are executed with continuous (long lived) operators.</p>
+    <p class="lead">Flink's streaming runtime has natural flow control: Slow downstream operators backpressure faster upstream operators.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/continuous_streams.png" alt="Continuous Streaming Model" style="width:60%" />
+  </div>
+</div>
+
+----
+
+<!-- Lightweight distributed snapshots -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="snapshots"><i>Fault-tolerance via Lightweight Distributed Snapshots</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink's fault tolerance mechanism is based on Chandy-Lamport distributed snapshots.</p>
+    <p class="lead">The mechanism is lightweight, allowing the system to maintain high throughput rates and provide strong consistency guarantees at the same time.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/distributed_snapshots.png" alt="Lightweight Distributed Snapshots" style="width:40%" />
+  </div>
+</div>
+
+----
+
+<!-- --------------------------------------------- -->
+<!--                Batch
+<!-- --------------------------------------------- -->
+
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>Batch and Streaming in One System</b></h1>
+  </div>
+</div>
+
+----
+
+<!-- One Runtime for Streaming and Batch Processing -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="one_runtime"><i>One Runtime for Streaming and Batch Processing</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink uses one common runtime for data streaming applications and batch processing applications.</p>
+    <p class="lead">Batch processing applications run efficiently as special cases of stream processing applications.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/one_runtime.png" alt="Unified Runtime for Batch and Stream Data Analysis" style="width:75%" />
+  </div>
+</div>
+
+----
+
+
+<!-- Memory Management -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="memory_management"><i>Memory Management</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink implements its own memory management inside the JVM.</p>
+    <p class="lead">Applications scale to data sizes beyond main memory and experience less garbage collection overhead.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/memory_heap_division.png" alt="Managed JVM Heap" style="width:50%" />
+  </div>
+</div>
+
+----
+
+<!-- Iterations -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="iterations"><i>Iterations and Delta Iterations</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink has dedicated support for iterative computations (as in machine learning and graph analysis).</p>
+    <p class="lead">Delta iterations can exploit computational dependencies for faster convergence.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/iterations.png" alt="Performance of iterations and delta iterations" style="width:75%" />
+  </div>
+</div>
+
+----
+
+<!-- Optimizer -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="optimizer"><i>Program Optimizer</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Batch programs are automatically optimized to exploit situations where expensive operations (like shuffles and sorts) can be avoided, and when intermediate data should be cached.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/optimizer_choice.png" alt="Optimizer choosing between different execution strategies" style="width:40%" />
+  </div>
+</div>
+
+----
+
+<!-- --------------------------------------------- -->
+<!--             APIs and Libraries
+<!-- --------------------------------------------- -->
+
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>APIs and Libraries</b></h1>
+  </div>
+</div>
+
+----
+
+<!-- Batch Processing API -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="batch_api"><i>Batch Processing Applications</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-5">
+    <p class="lead">Flink's <i>DataSet</i> API lets you write beautiful type-safe and maintainable code in Java or Scala. It supports a wide range of data types beyond key/value pairs, and a wealth of operators.</p>
+    <p class="lead">The example shows the core loop of the PageRank algorithm for graphs.</p>
+  </div>
+  <div class="col-sm-7">
+{% highlight scala %}
+case class Page(pageId: Long, rank: Double)
+case class Adjacency(id: Long, neighbors: Array[Long])
+
+val result = initialRanks.iterate(30) { pages =>
+  pages.join(adjacency).where("pageId").equalTo("pageId") {
+
+    (page, adj, out : Collector[Page]) => {
+      out.collect(Page(page.id, 0.15 / numPages))
+        
+      for (n <- adj.neighbors) {
+        out.collect(Page(n, 0.85*page.rank/adj.neighbors.length))
+      }
+    }
+  }
+  .groupBy("pageId").sum("rank")
+}
+{% endhighlight %}
+  </div>
+</div>
+
+----
+
+<!-- Data Streaming API -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="streaming_api"><i>Streaming Data Applications</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-5">
+    <p class="lead">The <i>DataStream</i> API supports functional transformations on data streams, with user-defined state, and flexible windows.</p>
+    <p class="lead">The example shows how to compute a sliding historam of word occurrences of a data stream of texts.</p>
+  </div>
+  <div class="col-sm-7">
+    <p class="lead">WindowWordCount in Flink's DataStream API</p>
+{% highlight scala %}
+case class Word(word: String, freq: Long)
+
+val texts: DataStream[String] = ...
+
+val counts = text
+  .flatMap { line => line.split("\\W+") } 
+  .map { token => Word(token, 1) }
+  .groupBy("word")
+  .window(Time.of(5, SECONDS)).every(Time.of(1, SECONDS))
+  .sum("freq")
+{% endhighlight %}
+  </div>
+</div>
+
+----
+
+<!-- Library Ecosystem -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="libraries"><i>Library Ecosystem</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink's stack offers libraries with high-level APIs for different use cases: Machine Learning, Graph Analytics, and Relational Data Processing.</p>
+    <p class="lead">The libraries are currently in <i>beta</i> status and are heavily developed.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/stack.png" alt="Flink Stack with Libraries" style="width:60%" />
+  </div>
+</div>
+
+----
+
+<!-- --------------------------------------------- -->
+<!--             Ecosystem
+<!-- --------------------------------------------- -->
+
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>Ecosystem</b></h1>
+  </div>
+</div>
+
+----
+
+<!-- Ecosystem -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="ecosystem"><i>Broad Integration</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink is integrated with many other projects in the open-source data processing ecosystem.</p>
+    <p class="lead">Flink runs on YARN, works with HDFS, streams data from Kafka, can execute Hadoop program code, and connects to various other data storage systems.</p>
+  </div>
+  <div class="col-sm-6  img-column">
+    <img src="{{ site.baseurl }}/img/features/ecosystem_logos.png" alt="Other projects that Flink is integrated with" style="width:75%" />
+  </div>
+</div>
+

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/img/features/continuous_streams.png
----------------------------------------------------------------------
diff --git a/img/features/continuous_streams.png b/img/features/continuous_streams.png
new file mode 100644
index 0000000..a4bb16b
Binary files /dev/null and b/img/features/continuous_streams.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/img/features/distributed_snapshots.png
----------------------------------------------------------------------
diff --git a/img/features/distributed_snapshots.png b/img/features/distributed_snapshots.png
new file mode 100644
index 0000000..9594f27
Binary files /dev/null and b/img/features/distributed_snapshots.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/img/features/ecosystem_logos.png
----------------------------------------------------------------------
diff --git a/img/features/ecosystem_logos.png b/img/features/ecosystem_logos.png
new file mode 100644
index 0000000..ad36d8b
Binary files /dev/null and b/img/features/ecosystem_logos.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/img/features/exactly_once_state.png
----------------------------------------------------------------------
diff --git a/img/features/exactly_once_state.png b/img/features/exactly_once_state.png
new file mode 100644
index 0000000..6b6d4df
Binary files /dev/null and b/img/features/exactly_once_state.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/img/features/iterations.png
----------------------------------------------------------------------
diff --git a/img/features/iterations.png b/img/features/iterations.png
new file mode 100644
index 0000000..989564e
Binary files /dev/null and b/img/features/iterations.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/img/features/memory_heap_division.png
----------------------------------------------------------------------
diff --git a/img/features/memory_heap_division.png b/img/features/memory_heap_division.png
new file mode 100644
index 0000000..e0807b0
Binary files /dev/null and b/img/features/memory_heap_division.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/img/features/one_runtime.png
----------------------------------------------------------------------
diff --git a/img/features/one_runtime.png b/img/features/one_runtime.png
new file mode 100644
index 0000000..94453a6
Binary files /dev/null and b/img/features/one_runtime.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/img/features/optimizer_choice.png
----------------------------------------------------------------------
diff --git a/img/features/optimizer_choice.png b/img/features/optimizer_choice.png
new file mode 100644
index 0000000..e64ca1e
Binary files /dev/null and b/img/features/optimizer_choice.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/img/features/stack.png
----------------------------------------------------------------------
diff --git a/img/features/stack.png b/img/features/stack.png
new file mode 100644
index 0000000..2c34722
Binary files /dev/null and b/img/features/stack.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/5dcbfe10/img/features/streaming_performance.png
----------------------------------------------------------------------
diff --git a/img/features/streaming_performance.png b/img/features/streaming_performance.png
new file mode 100644
index 0000000..c6840f3
Binary files /dev/null and b/img/features/streaming_performance.png differ


[29/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/pipelines.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/pipelines.html b/content/docs/0.9/libs/ml/pipelines.html
deleted file mode 100644
index c31f402..0000000
--- a/content/docs/0.9/libs/ml/pipelines.html
+++ /dev/null
@@ -1,638 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - Looking under the hood of piplines</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - Looking under the hood of pipelines</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#introduction" id="markdown-toc-introduction">Introduction</a></li>
-  <li><a href="#the-what-and-the-why" id="markdown-toc-the-what-and-the-why">The what and the why</a></li>
-  <li><a href="#pipelines-in-flinkml" id="markdown-toc-pipelines-in-flinkml">Pipelines in FlinkML</a>    <ul>
-      <li><a href="#scala-implicits" id="markdown-toc-scala-implicits">Scala implicits</a></li>
-      <li><a href="#operations" id="markdown-toc-operations">Operations</a></li>
-      <li><a href="#chaining" id="markdown-toc-chaining">Chaining</a></li>
-      <li><a href="#how-to-implement-a-pipeline-operator" id="markdown-toc-how-to-implement-a-pipeline-operator">How to Implement a Pipeline Operator</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="introduction">Introduction</h2>
-
-<p>The ability to chain together different transformers and predictors is an important feature for
-any Machine Learning (ML) library. In FlinkML we wanted to provide an intuitive API,
-and at the same
-time utilize the capabilities of the Scala language to provide
-type-safe implementations of our pipelines. What we hope to achieve then is an easy to use API,
-that protects users from type errors at pre-flight (before the job is launched) time, thereby
-eliminating cases where long
-running jobs are submitted to the cluster only to see them fail due to some
-error in the series of data transformations that commonly happen in an ML pipeline.</p>
-
-<p>In this guide then we will describe the choices we made during the implementation of chainable
-transformers and predictors in FlinkML, and provide guidelines on how developers can create their
-own algorithms that make use of these capabilities.</p>
-
-<h2 id="the-what-and-the-why">The what and the why</h2>
-
-<p>So what do we mean by “ML pipelines”? Pipelines in the ML context can be thought of as chains of
-operations that have some data as input, perform a number of transformations to that data,
-and
-then output the transformed data, either to be used as the input (features) of a predictor
-function, such as a learning model, or just output the transformed data themselves, to be used in
-some other task. The end learner can of course be a part of the pipeline as well.
-ML pipelines can often be complicated sets of operations (<a href="http://research.google.com/pubs/pub43146.html">in-depth explanation</a>) and
-can become sources of errors for end-to-end learning systems.</p>
-
-<p>The purpose of ML pipelines is then to create a
-framework that can be used to manage the complexity introduced by these chains of operations.
-Pipelines should make it easy for developers to define chained transformations that can be
-applied to the
-training data, in order to create the end features that will be used to train a
-learning model, and then perform the same set of transformations just as easily to unlabeled
-(test) data. Pipelines should also simplify cross-validation and model selection on
-these chains of operations.</p>
-
-<p>Finally, by ensuring that the consecutive links in the pipeline chain “fit together” we also
-avoid costly type errors. Since each step in a pipeline can be a computationally-heavy operation,
-we want to avoid running a pipelined job, unless we are sure that all the input/output pairs in a
-pipeline “fit”.</p>
-
-<h2 id="pipelines-in-flinkml">Pipelines in FlinkML</h2>
-
-<p>The building blocks for pipelines in FlinkML can be found in the <code>ml.pipeline</code> package.
-FlinkML follows an API inspired by <a href="http://scikit-learn.org">sklearn</a> which means that we have
-<code>Estimator</code>, <code>Transformer</code> and <code>Predictor</code> interfaces. For an in-depth look at the design of the
-sklearn API the interested reader is referred to <a href="http://arxiv.org/abs/1309.0238">this</a> paper.
-In short, the <code>Estimator</code> is the base class from which <code>Transformer</code> and <code>Predictor</code> inherit.
-<code>Estimator</code> defines a <code>fit</code> method, and <code>Transformer</code> also defines a <code>transform</code> method and
-<code>Predictor</code> defines a <code>predict</code> method.</p>
-
-<p>The <code>fit</code> method of the <code>Estimator</code> performs the actual training of the model, for example
-finding the correct weights in a linear regression task, or the mean and standard deviation of
-the data in a feature scaler.
-As evident by the naming, classes that implement
-<code>Transformer</code> are transform operations like <a href="standard_scaler.html">scaling the input</a> and
-<code>Predictor</code> implementations are learning algorithms such as <a href="http://flink.apache.org/docs/0.9/libs/ml/multiple_linear_regression.html">Multiple Linear Regression</a>.
-Pipelines can be created by chaining together a number of Transformers, and the final link in a pipeline can be a Predictor or another Transformer.
-Pipelines that end with Predictor cannot be chained any further.
-Below is an example of how a pipeline can be formed:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// Training data</span>
-<span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-<span class="c1">// Test data</span>
-<span class="k">val</span> <span class="n">unlabeled</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Vector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="k">val</span> <span class="n">scaler</span> <span class="k">=</span> <span class="nc">StandardScaler</span><span class="o">()</span>
-<span class="k">val</span> <span class="n">polyFeatures</span> <span class="k">=</span> <span class="nc">PolynomialFeatures</span><span class="o">()</span>
-<span class="k">val</span> <span class="n">mlr</span> <span class="k">=</span> <span class="nc">MultipleLinearRegression</span><span class="o">()</span>
-
-<span class="c1">// Construct the pipeline</span>
-<span class="k">val</span> <span class="n">pipeline</span> <span class="k">=</span> <span class="n">scaler</span>
-  <span class="o">.</span><span class="n">chainTransformer</span><span class="o">(</span><span class="n">polyFeatures</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">chainPredictor</span><span class="o">(</span><span class="n">mlr</span><span class="o">)</span>
-
-<span class="c1">// Train the pipeline (scaler and multiple linear regression)</span>
-<span class="n">pipeline</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">input</span><span class="o">)</span>
-
-<span class="c1">// Calculate predictions for the testing data</span>
-<span class="k">val</span> <span class="n">predictions</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="n">pipeline</span><span class="o">.</span><span class="n">predict</span><span class="o">(</span><span class="n">unlabeled</span><span class="o">)</span></code></pre></div>
-
-<p>As we mentioned, FlinkML pipelines are type-safe.
-If we tried to chain a transformer with output of type <code>A</code> to another with input of type <code>B</code> we
-would get an error at pre-flight time if <code>A</code> != <code>B</code>. FlinkML achieves this kind of type-safety
-through the use of Scala’s implicits.</p>
-
-<h3 id="scala-implicits">Scala implicits</h3>
-
-<p>If you are not familiar with Scala’s implicits we can recommend <a href="https://www.artima.com/pins1ed/implicit-conversions-and-parameters.html">this excerpt</a>
-from Martin Odersky’s “Programming in Scala”. In short, implicit conversions allow for ad-hoc
-polymorphism in Scala by providing conversions from one type to another, and implicit values
-provide the compiler with default values that can be supplied to function calls through implicit parameters.
-The combination of implicit conversions and implicit parameters is what allows us to chain transform
-and predict operations together in a type-safe manner.</p>
-
-<h3 id="operations">Operations</h3>
-
-<p>As we mentioned, the trait (abstract class) <code>Estimator</code> defines a <code>fit</code> method. The method has two
-parameter lists
-(i.e. is a <a href="http://docs.scala-lang.org/tutorials/tour/currying.html">curried function</a>). The
-first parameter list
-takes the input (training) <code>DataSet</code> and the parameters for the estimator. The second parameter
-list takes one <code>implicit</code> parameter, of type <code>FitOperation</code>. <code>FitOperation</code> is a class that also
-defines a <code>fit</code> method, and this is where the actual logic of training the concrete Estimators
-should be implemented. The <code>fit</code> method of <code>Estimator</code> is essentially a wrapper around the  fit
-method of <code>FitOperation</code>. The <code>predict</code> method of <code>Predictor</code> and the <code>transform</code> method of
-<code>Transform</code> are designed in a similar manner, with a respective operation class.</p>
-
-<p>In these methods the operation object is provided as an implicit parameter.
-Scala will <a href="http://docs.scala-lang.org/tutorials/FAQ/finding-implicits.html">look for implicits</a>
-in the companion object of a type, so classes that implement these interfaces should provide these 
-objects as implicit objects inside the companion object.</p>
-
-<p>As an example we can look at the <code>StandardScaler</code> class. <code>StandardScaler</code> extends <code>Transformer</code>, so it has access to its <code>fit</code> and <code>transform</code> functions.
-These two functions expect objects of <code>FitOperation</code> and <code>TransformOperation</code> as implicit parameters, 
-for the <code>fit</code> and <code>transform</code> methods respectively, which <code>StandardScaler</code> provides in its companion 
-object, through <code>transformVectors</code> and <code>fitVectorStandardScaler</code>:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">class</span> <span class="nc">StandardScaler</span> <span class="k">extends</span> <span class="nc">Transformer</span><span class="o">[</span><span class="kt">StandardScaler</span><span class="o">]</span> <span class="o">{</span>
-  <span class="o">...</span>
-<span class="o">}</span>
-
-<span class="k">object</span> <span class="nc">StandardScaler</span> <span class="o">{</span>
-
-  <span class="o">...</span>
-
-  <span class="k">implicit</span> <span class="k">def</span> <span class="n">fitVectorStandardScaler</span><span class="o">[</span><span class="kt">T</span> <span class="k">&lt;:</span> <span class="kt">Vector</span><span class="o">]</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">FitOperation</span><span class="o">[</span><span class="kt">StandardScaler</span>, <span class="kt">T</span><span class="o">]</span> <span class="o">{</span>
-    <span class="k">override</span> <span class="k">def</span> <span class="n">fit</span><span class="o">(</span><span class="n">instance</span><span class="k">:</span> <span class="kt">StandardScaler</span><span class="o">,</span> <span class="n">fitParameters</span><span class="k">:</span> <span class="kt">ParameterMap</span><span class="o">,</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">T</span><span class="o">])</span>
-      <span class="k">:</span> <span class="kt">Unit</span> <span class="o">=</span> <span class="o">{</span>
-        <span class="o">...</span>
-      <span class="o">}</span>
-
-  <span class="k">implicit</span> <span class="k">def</span> <span class="n">transformVectors</span><span class="o">[</span><span class="kt">T</span> <span class="k">&lt;:</span> <span class="kt">Vector:</span> <span class="kt">VectorConverter:</span> <span class="kt">TypeInformation:</span> <span class="kt">ClassTag</span><span class="o">]</span> <span class="k">=</span> <span class="o">{</span>
-      <span class="k">new</span> <span class="nc">TransformOperation</span><span class="o">[</span><span class="kt">StandardScaler</span>, <span class="kt">T</span>, <span class="kt">T</span><span class="o">]</span> <span class="o">{</span>
-        <span class="k">override</span> <span class="k">def</span> <span class="n">transform</span><span class="o">(</span>
-          <span class="n">instance</span><span class="k">:</span> <span class="kt">StandardScaler</span><span class="o">,</span>
-          <span class="n">transformParameters</span><span class="k">:</span> <span class="kt">ParameterMap</span><span class="o">,</span>
-          <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">T</span><span class="o">])</span>
-        <span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">T</span><span class="o">]</span> <span class="k">=</span> <span class="o">{</span>
-          <span class="o">...</span>
-        <span class="o">}</span>
-
-<span class="o">}</span></code></pre></div>
-
-<p>Note that <code>StandardScaler</code> does <strong>not</strong> override the <code>fit</code> method of <code>Estimator</code> or the <code>transform</code>
-method of <code>Transformer</code>. Rather, its implementations of <code>FitOperation</code> and <code>TransformOperation</code>
-override their respective <code>fit</code> and <code>transform</code> methods, which are then called by the <code>fit</code> and
-<code>transform</code> methods of <code>Estimator</code> and <code>Transformer</code>.  Similarly, a class that implements
-<code>Predictor</code> should define an implicit <code>PredictOperation</code> object inside its companion object.</p>
-
-<h4 id="types-and-type-safety">Types and type safety</h4>
-
-<p>Apart from the <code>fit</code> and <code>transform</code> operations that we listed above, the <code>StandardScaler</code> also
-provides <code>fit</code> and <code>transform</code> operations for input of type <code>LabeledVector</code>.
-This allows us to use the  algorithm for input that is labeled or unlabeled, and this happens
-automatically, depending on  the type of the input that we give to the fit and transform
-operations. The correct implicit operation is chosen by the compiler, depending on the input type.</p>
-
-<p>If we try to call the <code>fit</code> or <code>transform</code> methods with types that are not supported we will get a 
-runtime error before the job is launched. 
-While it would be possible to catch these kinds of errors at compile time as well, the error 
-messages that we are able to provide the user would be much less informative, which is why we chose 
-to throw runtime exceptions instead.</p>
-
-<h3 id="chaining">Chaining</h3>
-
-<p>Chaining is achieved by calling <code>chainTransformer</code> or <code>chainPredictor</code> on an object
-of a class that implements <code>Transformer</code>. These methods return a <code>ChainedTransformer</code> or
-<code>ChainedPredictor</code> object respectively. As we mentioned, <code>ChainedTransformer</code> objects can be
-chained further, while <code>ChainedPredictor</code> objects cannot. These classes take care of applying
-fit, transform, and predict operations for a pair of successive transformers or
-a transformer and a predictor. They also act recursively if the length of the
-chain is larger than two, since every <code>ChainedTransformer</code> defines a <code>transform</code> and <code>fit</code>
-operation that can be further chained with more transformers or a predictor.</p>
-
-<p>It is important to note that developers and users do not need to worry about chaining when
-implementing their algorithms, all this is handled automatically by FlinkML.</p>
-
-<h3 id="how-to-implement-a-pipeline-operator">How to Implement a Pipeline Operator</h3>
-
-<p>In order to support FlinkML’s pipelining, algorithms have to adhere to a certain design pattern, which we will describe in this section.
-Let’s assume that we want to implement a pipeline operator which changes the mean of your data.
-Since centering data is a common pre-processing step in many analysis pipelines, we will implement it as a <code>Transformer</code>.
-Therefore, we first create a <code>MeanTransformer</code> class which inherits from <code>Transformer</code></p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">class</span> <span class="nc">MeanTransformer</span> <span class="k">extends</span> <span class="nc">Transformer</span><span class="o">[</span><span class="kt">MeanTransformer</span><span class="o">]</span> <span class="o">{}</span></code></pre></div>
-
-<p>Since we want to be able to configure the mean of the resulting data, we have to add a configuration parameter.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">class</span> <span class="nc">MeanTransformer</span> <span class="k">extends</span> <span class="nc">Transformer</span><span class="o">[</span><span class="kt">MeanTransformer</span><span class="o">]</span> <span class="o">{</span>
-  <span class="k">def</span> <span class="n">setMean</span><span class="o">(</span><span class="n">mean</span><span class="k">:</span> <span class="kt">Double</span><span class="o">)</span><span class="k">:</span> <span class="kt">this.</span><span class="k">type</span> <span class="o">=</span> <span class="o">{</span>
-    <span class="n">parameters</span><span class="o">.</span><span class="n">add</span><span class="o">(</span><span class="nc">MeanTransformer</span><span class="o">.</span><span class="nc">Mean</span><span class="o">,</span> <span class="n">mean</span><span class="o">)</span>
-    <span class="k">this</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="k">object</span> <span class="nc">MeanTransformer</span> <span class="o">{</span>
-  <span class="k">case</span> <span class="k">object</span> <span class="nc">Mean</span> <span class="k">extends</span> <span class="nc">Parameter</span><span class="o">[</span><span class="kt">Double</span><span class="o">]</span> <span class="o">{</span>
-    <span class="k">override</span> <span class="k">val</span> <span class="n">defaultValue</span><span class="k">:</span> <span class="kt">Option</span><span class="o">[</span><span class="kt">Double</span><span class="o">]</span> <span class="k">=</span> <span class="nc">Some</span><span class="o">(</span><span class="mf">0.0</span><span class="o">)</span>
-  <span class="o">}</span>
-  
-  <span class="k">def</span> <span class="n">apply</span><span class="o">()</span><span class="k">:</span> <span class="kt">MeanTransformer</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">MeanTransformer</span>
-<span class="o">}</span></code></pre></div>
-
-<p>Parameters are defined in the companion object of the transformer class and extend the <code>Parameter</code> class.
-Since the parameter instances are supposed to act as immutable keys for a parameter map, they should be implemented as <code>case objects</code>.
-The default value will be used if no other value has been set by the user of this component.
-If no default value has been specified, meaning that <code>defaultValue = None</code>, then the algorithm has to handle this situation accordingly.</p>
-
-<p>We can now instantiate a <code>MeanTransformer</code> object and set the mean value of the transformed data.
-But we still have to implement how the transformation works.
-The workflow can be separated into two phases.
-Within the first phase, the transformer learns the mean of the given training data.
-This knowledge can then be used in the second phase to transform the provided data with respect to the configured resulting mean value.</p>
-
-<p>The learning of the mean can be implemented within the <code>fit</code> operation of our <code>Transformer</code>, which it inherited from <code>Estimator</code>.
-Within the <code>fit</code> operation, a pipeline component is trained with respect to the given training data.
-The algorithm is, however, <strong>not</strong> implemented by overriding the <code>fit</code> method but by providing an implementation of a corresponding <code>FitOperation</code> for the correct type.
-Taking a look at the definition of the <code>fit</code> method in <code>Estimator</code>, which is the parent class of <code>Transformer</code>, reveals what why this is the case.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">trait</span> <span class="nc">Estimator</span><span class="o">[</span><span class="kt">Self</span><span class="o">]</span> <span class="nc">extends</span> <span class="nc">WithParameters</span> <span class="k">with</span> <span class="nc">Serializable</span> <span class="o">{</span>
-  <span class="n">that</span><span class="k">:</span> <span class="kt">Self</span> <span class="o">=&gt;</span>
-
-  <span class="k">def</span> <span class="n">fit</span><span class="o">[</span><span class="kt">Training</span><span class="o">](</span>
-      <span class="n">training</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Training</span><span class="o">],</span>
-      <span class="n">fitParameters</span><span class="k">:</span> <span class="kt">ParameterMap</span> <span class="o">=</span> <span class="nc">ParameterMap</span><span class="o">.</span><span class="nc">Empty</span><span class="o">)</span>
-      <span class="o">(</span><span class="k">implicit</span> <span class="n">fitOperation</span><span class="k">:</span> <span class="kt">FitOperation</span><span class="o">[</span><span class="kt">Self</span>, <span class="kt">Training</span><span class="o">])</span><span class="k">:</span> <span class="kt">Unit</span> <span class="o">=</span> <span class="o">{</span>
-    <span class="nc">FlinkMLTools</span><span class="o">.</span><span class="n">registerFlinkMLTypes</span><span class="o">(</span><span class="n">training</span><span class="o">.</span><span class="n">getExecutionEnvironment</span><span class="o">)</span>
-    <span class="n">fitOperation</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="n">fitParameters</span><span class="o">,</span> <span class="n">training</span><span class="o">)</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>We see that the <code>fit</code> method is called with an input data set of type <code>Training</code>, an optional parameter list and in the second parameter list with an implicit parameter of type <code>FitOperation</code>.
-Within the body of the function, first some machine learning types are registered and then the <code>fit</code> method of the <code>FitOperation</code> parameter is called.
-The instance gives itself, the parameter map and the training data set as a parameters to the method.
-Thus, all the program logic takes place within the <code>FitOperation</code>.</p>
-
-<p>The <code>FitOperation</code> has two type parameters.
-The first defines the pipeline operator type for which this <code>FitOperation</code> shall work and the second type parameter defines the type of the data set elements.
-If we first wanted to implement the <code>MeanTransformer</code> to work on <code>DenseVector</code>, we would, thus, have to provide an implementation for <code>FitOperation[MeanTransformer, DenseVector]</code>.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">denseVectorMeanFitOperation</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">FitOperation</span><span class="o">[</span><span class="kt">MeanTransformer</span>, <span class="kt">DenseVector</span><span class="o">]</span> <span class="o">{</span>
-  <span class="k">override</span> <span class="k">def</span> <span class="n">fit</span><span class="o">(</span><span class="n">instance</span><span class="k">:</span> <span class="kt">MeanTransformer</span><span class="o">,</span> <span class="n">fitParameters</span><span class="k">:</span> <span class="kt">ParameterMap</span><span class="o">,</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">DenseVector</span><span class="o">])</span> <span class="k">:</span> <span class="kt">Unit</span> <span class="o">=</span> <span class="o">{</span>
-    <span class="k">import</span> <span class="nn">org.apache.flink.ml.math.Breeze._</span>
-    <span class="k">val</span> <span class="n">meanTrainingData</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">DenseVector</span><span class="o">]</span> <span class="k">=</span> <span class="n">input</span>
-      <span class="o">.</span><span class="n">map</span><span class="o">{</span> <span class="n">x</span> <span class="k">=&gt;</span> <span class="o">(</span><span class="n">x</span><span class="o">.</span><span class="n">asBreeze</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">reduce</span><span class="o">{</span>
-        <span class="o">(</span><span class="n">left</span><span class="o">,</span> <span class="n">right</span><span class="o">)</span> <span class="k">=&gt;</span> 
-          <span class="o">(</span><span class="n">left</span><span class="o">.</span><span class="n">_1</span> <span class="o">+</span> <span class="n">right</span><span class="o">.</span><span class="n">_1</span><span class="o">,</span> <span class="n">left</span><span class="o">.</span><span class="n">_2</span> <span class="o">+</span> <span class="n">right</span><span class="o">.</span><span class="n">_2</span><span class="o">)</span> 
-      <span class="o">}</span>
-      <span class="o">.</span><span class="n">map</span><span class="o">{</span> <span class="n">p</span> <span class="k">=&gt;</span> <span class="o">(</span><span class="n">p</span><span class="o">.</span><span class="n">_1</span><span class="o">/</span><span class="n">p</span><span class="o">.</span><span class="n">_2</span><span class="o">).</span><span class="n">fromBreeze</span> <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>A <code>FitOperation[T, I]</code> has a <code>fit</code> method which is called with an instance of type <code>T</code>, a parameter map and an input <code>DataSet[I]</code>.
-In our case <code>T=MeanTransformer</code> and <code>I=DenseVector</code>.
-The parameter map is necessary if our fit step depends on some parameter values which were not given directly at creation time of the <code>Transformer</code>.
-The <code>FitOperation</code> of the <code>MeanTransformer</code> sums the <code>DenseVector</code> instances of the given input data set up and divides the result by the total number of vectors.
-That way, we obtain a <code>DataSet[DenseVector]</code> with a single element which is the mean value.</p>
-
-<p>But if we look closely at the implementation, we see that the result of the mean computation is never stored anywhere.
-If we want to use this knowledge in a later step to adjust the mean of some other input, we have to keep it around.
-And here is where the parameter of type <code>MeanTransformer</code> which is given to the <code>fit</code> method comes into play.
-We can use this instance to store state, which is used by a subsequent <code>transform</code> operation which works on the same object.
-But first we have to extend <code>MeanTransformer</code> by a member field and then adjust the <code>FitOperation</code> implementation.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">class</span> <span class="nc">MeanTransformer</span> <span class="k">extends</span> <span class="nc">Transformer</span><span class="o">[</span><span class="kt">Centering</span><span class="o">]</span> <span class="o">{</span>
-  <span class="k">var</span> <span class="n">meanOption</span><span class="k">:</span> <span class="kt">Option</span><span class="o">[</span><span class="kt">DataSet</span><span class="o">[</span><span class="kt">DenseVector</span><span class="o">]]</span> <span class="k">=</span> <span class="nc">None</span>
-
-  <span class="k">def</span> <span class="n">setMean</span><span class="o">(</span><span class="n">mean</span><span class="k">:</span> <span class="kt">Double</span><span class="o">)</span><span class="k">:</span> <span class="kt">Mean</span> <span class="o">=</span> <span class="o">{</span>
-    <span class="n">parameters</span><span class="o">.</span><span class="n">add</span><span class="o">(</span><span class="nc">MeanTransformer</span><span class="o">.</span><span class="nc">Mean</span><span class="o">,</span> <span class="n">mu</span><span class="o">)</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="k">val</span> <span class="n">denseVectorMeanFitOperation</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">FitOperation</span><span class="o">[</span><span class="kt">MeanTransformer</span>, <span class="kt">DenseVector</span><span class="o">]</span> <span class="o">{</span>
-  <span class="k">override</span> <span class="k">def</span> <span class="n">fit</span><span class="o">(</span><span class="n">instance</span><span class="k">:</span> <span class="kt">MeanTransformer</span><span class="o">,</span> <span class="n">fitParameters</span><span class="k">:</span> <span class="kt">ParameterMap</span><span class="o">,</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">DenseVector</span><span class="o">])</span> <span class="k">:</span> <span class="kt">Unit</span> <span class="o">=</span> <span class="o">{</span>
-    <span class="k">import</span> <span class="nn">org.apache.flink.ml.math.Breeze._</span>
-    
-    <span class="n">instance</span><span class="o">.</span><span class="n">meanOption</span> <span class="k">=</span> <span class="nc">Some</span><span class="o">(</span><span class="n">input</span>
-      <span class="o">.</span><span class="n">map</span><span class="o">{</span> <span class="n">x</span> <span class="k">=&gt;</span> <span class="o">(</span><span class="n">x</span><span class="o">.</span><span class="n">asBreeze</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">reduce</span><span class="o">{</span>
-        <span class="o">(</span><span class="n">left</span><span class="o">,</span> <span class="n">right</span><span class="o">)</span> <span class="k">=&gt;</span> 
-          <span class="o">(</span><span class="n">left</span><span class="o">.</span><span class="n">_1</span> <span class="o">+</span> <span class="n">right</span><span class="o">.</span><span class="n">_1</span><span class="o">,</span> <span class="n">left</span><span class="o">.</span><span class="n">_2</span> <span class="o">+</span> <span class="n">right</span><span class="o">.</span><span class="n">_2</span><span class="o">)</span> 
-      <span class="o">}</span>
-      <span class="o">.</span><span class="n">map</span><span class="o">{</span> <span class="n">p</span> <span class="k">=&gt;</span> <span class="o">(</span><span class="n">p</span><span class="o">.</span><span class="n">_1</span><span class="o">/</span><span class="n">p</span><span class="o">.</span><span class="n">_2</span><span class="o">).</span><span class="n">fromBreeze</span> <span class="o">})</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>If we look at the <code>transform</code> method in <code>Transformer</code>, we will see that we also need an implementation of <code>TransformOperation</code>.
-A possible mean transforming implementation could look like the following.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">denseVectorMeanTransformOperation</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">TransformOperation</span><span class="o">[</span><span class="kt">MeanTransformer</span>, <span class="kt">DenseVector</span>, <span class="kt">DenseVector</span><span class="o">]</span> <span class="o">{</span>
-  <span class="k">override</span> <span class="k">def</span> <span class="n">transform</span><span class="o">(</span>
-      <span class="n">instance</span><span class="k">:</span> <span class="kt">MeanTransformer</span><span class="o">,</span> 
-      <span class="n">transformParameters</span><span class="k">:</span> <span class="kt">ParameterMap</span><span class="o">,</span> 
-      <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">DenseVector</span><span class="o">])</span> 
-    <span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">DenseVector</span><span class="o">]</span> <span class="k">=</span> <span class="o">{</span>
-    <span class="k">val</span> <span class="n">resultingParameters</span> <span class="k">=</span> <span class="n">parameters</span> <span class="o">++</span> <span class="n">transformParameters</span>
-    
-    <span class="k">val</span> <span class="n">resultingMean</span> <span class="k">=</span> <span class="n">resultingParameters</span><span class="o">(</span><span class="nc">MeanTransformer</span><span class="o">.</span><span class="nc">Mean</span><span class="o">)</span>
-    
-    <span class="n">instance</span><span class="o">.</span><span class="n">meanOption</span> <span class="k">match</span> <span class="o">{</span>
-      <span class="k">case</span> <span class="nc">Some</span><span class="o">(</span><span class="n">trainingMean</span><span class="o">)</span> <span class="k">=&gt;</span> <span class="o">{</span>
-        <span class="n">input</span><span class="o">.</span><span class="n">map</span><span class="o">{</span> <span class="k">new</span> <span class="nc">MeanTransformMapper</span><span class="o">(</span><span class="n">resultingMean</span><span class="o">)</span> <span class="o">}.</span><span class="n">withBroadcastSet</span><span class="o">(</span><span class="n">trainingMean</span><span class="o">,</span> <span class="s">&quot;trainingMean&quot;</span><span class="o">)</span>
-      <span class="o">}</span>
-      <span class="k">case</span> <span class="nc">None</span> <span class="k">=&gt;</span> <span class="k">throw</span> <span class="k">new</span> <span class="nc">RuntimeException</span><span class="o">(</span><span class="s">&quot;MeanTransformer has not been fitted to data.&quot;</span><span class="o">)</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="k">class</span> <span class="nc">MeanTransformMapper</span><span class="o">(</span><span class="n">resultingMean</span><span class="k">:</span> <span class="kt">Double</span><span class="o">)</span> <span class="k">extends</span> <span class="nc">RichMapFunction</span><span class="o">[</span><span class="kt">DenseVector</span>, <span class="kt">DenseVector</span><span class="o">]</span> <span class="o">{</span>
-  <span class="k">var</span> <span class="n">trainingMean</span><span class="k">:</span> <span class="kt">DenseVector</span> <span class="o">=</span> <span class="kc">null</span>
-
-  <span class="k">override</span> <span class="k">def</span> <span class="n">open</span><span class="o">(</span><span class="n">parameters</span><span class="k">:</span> <span class="kt">Configuration</span><span class="o">)</span><span class="k">:</span> <span class="kt">Unit</span> <span class="o">=</span> <span class="o">{</span>
-    <span class="n">trainingMean</span> <span class="k">=</span> <span class="n">getRuntimeContext</span><span class="o">().</span><span class="n">getBroadcastVariable</span><span class="o">[</span><span class="kt">DenseVector</span><span class="o">](</span><span class="s">&quot;trainingMean&quot;</span><span class="o">).</span><span class="n">get</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-  <span class="o">}</span>
-  
-  <span class="k">override</span> <span class="k">def</span> <span class="n">map</span><span class="o">(</span><span class="n">vector</span><span class="k">:</span> <span class="kt">DenseVector</span><span class="o">)</span><span class="k">:</span> <span class="kt">DenseVector</span> <span class="o">=</span> <span class="o">{</span>
-    <span class="k">import</span> <span class="nn">org.apache.flink.ml.math.Breeze._</span>
-    
-    <span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">vector</span><span class="o">.</span><span class="n">asBreeze</span> <span class="o">-</span> <span class="n">trainingMean</span><span class="o">.</span><span class="n">asBreeze</span> <span class="o">+</span> <span class="n">resultingMean</span>
-    
-    <span class="n">result</span><span class="o">.</span><span class="n">fromBreeze</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>Now we have everything implemented to fit our <code>MeanTransformer</code> to a training data set of <code>DenseVector</code> instances and to transform them.
-However, when we execute the <code>fit</code> operation</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">trainingData</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">DenseVector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-<span class="k">val</span> <span class="n">meanTransformer</span> <span class="k">=</span> <span class="nc">MeanTransformer</span><span class="o">()</span>
-
-<span class="n">meanTransformer</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">trainingData</span><span class="o">)</span></code></pre></div>
-
-<p>we receive the following error at runtime: <code>"There is no FitOperation defined for class MeanTransformer which trains on a DataSet[org.apache.flink.ml.math.DenseVector]"</code>.
-The reason is that the Scala compiler could not find a fitting <code>FitOperation</code> value with the right type parameters for the implicit parameter of the <code>fit</code> method.
-Therefore, it chose a fallback implicit value which gives you this error message at runtime.
-In order to make the compiler aware of our implementation, we have to define it as an implicit value and put it in the scope of the <code>MeanTransformer's</code> companion object.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">object</span> <span class="nc">MeanTransformer</span><span class="o">{</span>
-  <span class="k">implicit</span> <span class="k">val</span> <span class="n">denseVectorMeanFitOperation</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">FitOperation</span><span class="o">[</span><span class="kt">MeanTransformer</span>, <span class="kt">DenseVector</span><span class="o">]</span> <span class="o">...</span>
-  
-  <span class="k">implicit</span> <span class="k">val</span> <span class="n">denseVectorMeanTransformOperation</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">TransformOperation</span><span class="o">[</span><span class="kt">MeanTransformer</span>, <span class="kt">DenseVector</span>, <span class="kt">DenseVector</span><span class="o">]</span> <span class="o">...</span>
-<span class="o">}</span></code></pre></div>
-
-<p>Now we can call <code>fit</code> and <code>transform</code> of our <code>MeanTransformer</code> with <code>DataSet[DenseVector]</code> as input.
-Furthermore, we can now use this transformer as part of an analysis pipeline where we have a <code>DenseVector</code> as input and expected output.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">trainingData</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">DenseVector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="k">val</span> <span class="n">mean</span> <span class="k">=</span> <span class="nc">MeanTransformer</span><span class="o">.</span><span class="n">setMean</span><span class="o">(</span><span class="mf">1.0</span><span class="o">)</span>
-<span class="k">val</span> <span class="n">polyFeaturs</span> <span class="k">=</span> <span class="nc">PolynomialFeatures</span><span class="o">().</span><span class="n">setDegree</span><span class="o">(</span><span class="mi">3</span><span class="o">)</span>
-
-<span class="k">val</span> <span class="n">pipeline</span> <span class="k">=</span> <span class="n">mean</span><span class="o">.</span><span class="n">chainTransformer</span><span class="o">(</span><span class="n">polyFeatures</span><span class="o">)</span>
-
-<span class="n">pipeline</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">trainingData</span><span class="o">)</span></code></pre></div>
-
-<p>It is noteworthy that there is no additional code needed to enable chaining.
-The system automatically constructs the pipeline logic using the operations of the individual components.</p>
-
-<p>So far everything works fine with <code>DenseVector</code>.
-But what happens, if we call our transformer with <code>LabeledVector</code> instead?</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">trainingData</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="k">val</span> <span class="n">mean</span> <span class="k">=</span> <span class="nc">MeanTransformer</span><span class="o">()</span>
-
-<span class="n">mean</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">trainingData</span><span class="o">)</span></code></pre></div>
-
-<p>As before we see the following exception upon execution of the program: <code>"There is no FitOperation defined for class MeanTransformer which trains on a DataSet[org.apache.flink.ml.common.LabeledVector]"</code>.
-It is noteworthy, that this exception is thrown in the pre-flight phase, which means that the job has not been submitted to the runtime system.
-This has the advantage that you won’t see a job which runs for a couple of days and then fails because of an incompatible pipeline component.
-Type compatibility is, thus, checked at the very beginning for the complete job.</p>
-
-<p>In order to make the <code>MeanTransformer</code> work on <code>LabeledVector</code> as well, we have to provide the corresponding operations.
-Consequently, we have to define a <code>FitOperation[MeanTransformer, LabeledVector]</code> and <code>TransformOperation[MeanTransformer, LabeledVector, LabeledVector]</code> as implicit values in the scope of <code>MeanTransformer</code>’s companion object.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">object</span> <span class="nc">MeanTransformer</span> <span class="o">{</span>
-  <span class="k">implicit</span> <span class="k">val</span> <span class="n">labeledVectorFitOperation</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">FitOperation</span><span class="o">[</span><span class="kt">MeanTransformer</span>, <span class="kt">LabeledVector</span><span class="o">]</span> <span class="o">...</span>
-  
-  <span class="k">implicit</span> <span class="k">val</span> <span class="n">labeledVectorTransformOperation</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">TransformOperation</span><span class="o">[</span><span class="kt">MeanTransformer</span>, <span class="kt">LabeledVector</span>, <span class="kt">LabeledVector</span><span class="o">]</span> <span class="o">...</span>
-<span class="o">}</span></code></pre></div>
-
-<p>If we wanted to implement a <code>Predictor</code> instead of a <code>Transformer</code>, then we would have to provide a <code>FitOperation</code>, too.
-Moreover, a <code>Predictor</code> requires a <code>PredictOperation</code> which implements how predictions are calculated from testing data.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/polynomial_features.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/polynomial_features.html b/content/docs/0.9/libs/ml/polynomial_features.html
deleted file mode 100644
index e78d676..0000000
--- a/content/docs/0.9/libs/ml/polynomial_features.html
+++ /dev/null
@@ -1,333 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - Polynomial Features</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - Polynomial Features</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#description" id="markdown-toc-description">Description</a></li>
-  <li><a href="#operations" id="markdown-toc-operations">Operations</a>    <ul>
-      <li><a href="#fit" id="markdown-toc-fit">Fit</a></li>
-      <li><a href="#transform" id="markdown-toc-transform">Transform</a></li>
-    </ul>
-  </li>
-  <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-</ul>
-
-<h2 id="description">Description</h2>
-
-<p>The polynomial features transformer maps a vector into the polynomial feature space of degree $d$.
-The dimension of the input vector determines the number of polynomial factors whose values are the respective vector entries.
-Given a vector $(x, y, z, \ldots)^T$ the resulting feature vector looks like:</p>
-
-<script type="math/tex; mode=display">\left(x, y, z, x^2, xy, y^2, yz, z^2, x^3, x^2y, x^2z, xy^2, xyz, xz^2, y^3, \ldots\right)^T</script>
-
-<p>Flink’s implementation orders the polynomials in decreasing order of their degree.</p>
-
-<p>Given the vector $\left(3,2\right)^T$, the polynomial features vector of degree 3 would look like</p>
-
-<script type="math/tex; mode=display">\left(3^3, 3^2\cdot2, 3\cdot2^2, 2^3, 3^2, 3\cdot2, 2^2, 3, 2\right)^T</script>
-
-<p>This transformer can be prepended to all <code>Transformer</code> and <code>Predictor</code> implementations which expect an input of type <code>LabeledVector</code> or any sub-type of <code>Vector</code>.</p>
-
-<h2 id="operations">Operations</h2>
-
-<p><code>PolynomialFeatures</code> is a <code>Transformer</code>.
-As such, it supports the <code>fit</code> and <code>transform</code> operation.</p>
-
-<h3 id="fit">Fit</h3>
-
-<p>PolynomialFeatures is not trained on data and, thus, supports all types of input data.</p>
-
-<h3 id="transform">Transform</h3>
-
-<p>PolynomialFeatures transforms all subtypes of <code>Vector</code> and <code>LabeledVector</code> into their respective types:</p>
-
-<ul>
-  <li><code>transform[T &lt;: Vector]: DataSet[T] =&gt; DataSet[T]</code></li>
-  <li><code>transform: DataSet[LabeledVector] =&gt; DataSet[LabeledVector]</code></li>
-</ul>
-
-<h2 id="parameters">Parameters</h2>
-
-<p>The polynomial features transformer can be controlled by the following parameters:</p>
-
-<table class="table table-bordered">
-    <thead>
-      <tr>
-        <th class="text-left" style="width: 20%">Parameters</th>
-        <th class="text-center">Description</th>
-      </tr>
-    </thead>
-
-    <tbody>
-      <tr>
-        <td><strong>Degree</strong></td>
-        <td>
-          <p>
-            The maximum polynomial degree. 
-            (Default value: <strong>10</strong>)
-          </p>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
-<h2 id="examples">Examples</h2>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// Obtain the training data set</span>
-<span class="k">val</span> <span class="n">trainingDS</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="c1">// Setup polynomial feature transformer of degree 3</span>
-<span class="k">val</span> <span class="n">polyFeatures</span> <span class="k">=</span> <span class="nc">PolynomialFeatures</span><span class="o">()</span>
-<span class="o">.</span><span class="n">setDegree</span><span class="o">(</span><span class="mi">3</span><span class="o">)</span>
-
-<span class="c1">// Setup the multiple linear regression learner</span>
-<span class="k">val</span> <span class="n">mlr</span> <span class="k">=</span> <span class="nc">MultipleLinearRegression</span><span class="o">()</span>
-
-<span class="c1">// Control the learner via the parameter map</span>
-<span class="k">val</span> <span class="n">parameters</span> <span class="k">=</span> <span class="nc">ParameterMap</span><span class="o">()</span>
-<span class="o">.</span><span class="n">add</span><span class="o">(</span><span class="nc">MultipleLinearRegression</span><span class="o">.</span><span class="nc">Iterations</span><span class="o">,</span> <span class="mi">20</span><span class="o">)</span>
-<span class="o">.</span><span class="n">add</span><span class="o">(</span><span class="nc">MultipleLinearRegression</span><span class="o">.</span><span class="nc">Stepsize</span><span class="o">,</span> <span class="mf">0.5</span><span class="o">)</span>
-
-<span class="c1">// Create pipeline PolynomialFeatures -&gt; MultipleLinearRegression</span>
-<span class="k">val</span> <span class="n">pipeline</span> <span class="k">=</span> <span class="n">polyFeatures</span><span class="o">.</span><span class="n">chainPredictor</span><span class="o">(</span><span class="n">mlr</span><span class="o">)</span>
-
-<span class="c1">// train the model</span>
-<span class="n">pipeline</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">trainingDS</span><span class="o">)</span></code></pre></div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[12/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/streaming_guide.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/streaming_guide.html b/content/docs/master/apis/streaming_guide.html
deleted file mode 100644
index d87ee9c..0000000
--- a/content/docs/master/apis/streaming_guide.html
+++ /dev/null
@@ -1,2007 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Flink Stream Processing API</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Flink Stream Processing API <span class="badge">Beta</span></h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>Flink Streaming is a system for high-throughput, low-latency data stream processing. Flink Streaming natively supports <a href="#stateful-computation">stateful computation</a>, data-driven <a href="#window-operators">windowing semantics</a> and <a href="#iterations">iterative</a> stream processing. The system can connect to and process data streams from different data sources like file sources, web sockets, message queues (Apache Kafka, RabbitMQ, Twitter Streaming API …), and also from any user defined data sources. Data streams can be transformed and modified to create new data streams using high-level functions similar to the ones provided by the batch processing API.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#flink-streaming-api" id="markdown-toc-flink-streaming-api">Flink Streaming API</a></li>
-  <li><a href="#example-program" id="markdown-toc-example-program">Example Program</a></li>
-  <li><a href="#program-skeleton" id="markdown-toc-program-skeleton">Program Skeleton</a></li>
-  <li><a href="#basics" id="markdown-toc-basics">Basics</a>    <ul>
-      <li><a href="#datastream" id="markdown-toc-datastream">DataStream</a></li>
-      <li><a href="#object-reuse-behavior" id="markdown-toc-object-reuse-behavior">Object Reuse Behavior</a></li>
-      <li><a href="#partitioning" id="markdown-toc-partitioning">Partitioning</a></li>
-      <li><a href="#connecting-to-the-outside-world" id="markdown-toc-connecting-to-the-outside-world">Connecting to the outside world</a></li>
-    </ul>
-  </li>
-  <li><a href="#transformations" id="markdown-toc-transformations">Transformations</a>    <ul>
-      <li><a href="#basic-transformations" id="markdown-toc-basic-transformations">Basic transformations</a></li>
-      <li><a href="#grouped-operators" id="markdown-toc-grouped-operators">Grouped operators</a></li>
-      <li><a href="#aggregations" id="markdown-toc-aggregations">Aggregations</a></li>
-      <li><a href="#window-operators" id="markdown-toc-window-operators">Window operators</a></li>
-      <li><a href="#temporal-database-style-operators" id="markdown-toc-temporal-database-style-operators">Temporal database style operators</a></li>
-      <li><a href="#co-operators" id="markdown-toc-co-operators">Co operators</a></li>
-      <li><a href="#output-splitting" id="markdown-toc-output-splitting">Output splitting</a></li>
-      <li><a href="#iterations" id="markdown-toc-iterations">Iterations</a></li>
-      <li><a href="#rich-functions" id="markdown-toc-rich-functions">Rich functions</a></li>
-    </ul>
-  </li>
-  <li><a href="#stateful-computation" id="markdown-toc-stateful-computation">Stateful computation</a>    <ul>
-      <li><a href="#operatorstate" id="markdown-toc-operatorstate">OperatorState</a></li>
-      <li><a href="#checkpointed-interface" id="markdown-toc-checkpointed-interface">Checkpointed interface</a></li>
-      <li><a href="#state-checkpoints-in-iterative-jobs" id="markdown-toc-state-checkpoints-in-iterative-jobs">State checkpoints in iterative jobs</a></li>
-    </ul>
-  </li>
-  <li><a href="#lambda-expressions-with-java-8" id="markdown-toc-lambda-expressions-with-java-8">Lambda expressions with Java 8</a></li>
-  <li><a href="#operator-settings" id="markdown-toc-operator-settings">Operator Settings</a>    <ul>
-      <li><a href="#parallelism" id="markdown-toc-parallelism">Parallelism</a></li>
-      <li><a href="#buffer-timeout" id="markdown-toc-buffer-timeout">Buffer timeout</a></li>
-    </ul>
-  </li>
-  <li><a href="#stream-connectors" id="markdown-toc-stream-connectors">Stream connectors</a>    <ul>
-      <li><a href="#apache-kafka" id="markdown-toc-apache-kafka">Apache Kafka</a></li>
-      <li><a href="#rabbitmq" id="markdown-toc-rabbitmq">RabbitMQ</a></li>
-      <li><a href="#twitter-streaming-api" id="markdown-toc-twitter-streaming-api">Twitter Streaming API</a></li>
-      <li><a href="#docker-containers-for-connectors" id="markdown-toc-docker-containers-for-connectors">Docker containers for connectors</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="flink-streaming-api">Flink Streaming API</h2>
-
-<p>The Streaming API is currently part of the <em>flink-staging</em> Maven project. All relevant classes are located in the <em>org.apache.flink.streaming</em> package.</p>
-
-<p>Add the following dependency to your <code>pom.xml</code> to use the Flink Streaming.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-streaming-core<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-streaming-scala<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>In order to create your own Flink Streaming program, we encourage you to start with the <a href="#program-skeleton">skeleton</a> and gradually add your own <a href="#transformations">transformations</a>. The remaining sections act as references for additional transformations and advanced features.</p>
-
-<h2 id="example-program">Example Program</h2>
-
-<p>The following program is a complete, working example of streaming WordCount, that incrementally counts the words coming from a web socket. You can copy &amp; paste the code to run it locally.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">StreamingWordCount</span> <span class="o">{</span>
-
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-
-        <span class="n">StreamExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">StreamExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-        
-        <span class="n">DataStream</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">dataStream</span> <span class="o">=</span> <span class="n">env</span>
-                <span class="o">.</span><span class="na">socketTextStream</span><span class="o">(</span><span class="s">&quot;localhost&quot;</span><span class="o">,</span> <span class="mi">9999</span><span class="o">)</span>
-                <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Splitter</span><span class="o">())</span>
-                <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-                <span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
-        
-        <span class="n">dataStream</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-        
-        <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="s">&quot;Socket Stream WordCount&quot;</span><span class="o">);</span>
-    <span class="o">}</span>
-    
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">Splitter</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-        <span class="nd">@Override</span>
-        <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">sentence</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-            <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="nl">word:</span> <span class="n">sentence</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">))</span> <span class="o">{</span>
-                <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;(</span><span class="n">word</span><span class="o">,</span> <span class="mi">1</span><span class="o">));</span>
-            <span class="o">}</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-    
-<span class="o">}</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">object</span> <span class="nc">WordCount</span> <span class="o">{</span>
-  <span class="k">def</span> <span class="n">main</span><span class="o">(</span><span class="n">args</span><span class="k">:</span> <span class="kt">Array</span><span class="o">[</span><span class="kt">String</span><span class="o">])</span> <span class="o">{</span>
-
-    <span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">StreamExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-    <span class="k">val</span> <span class="n">text</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">socketTextStream</span><span class="o">(</span><span class="s">&quot;localhost&quot;</span><span class="o">,</span> <span class="mi">9999</span><span class="o">)</span>
-
-    <span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">text</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">toLowerCase</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">)</span> <span class="n">filter</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">nonEmpty</span> <span class="o">}</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-      <span class="o">.</span><span class="n">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-
-    <span class="n">counts</span><span class="o">.</span><span class="n">print</span>
-
-    <span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="o">(</span><span class="s">&quot;Scala Socket Stream WordCount&quot;</span><span class="o">)</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p>To run the example program, start the input stream with netcat first from a terminal:</p>
-
-<div class="highlight"><pre><code class="language-bash">nc -lk 9999</code></pre></div>
-
-<p>The lines typed to this terminal will be the source data stream for your streaming job.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="program-skeleton">Program Skeleton</h2>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <p>As presented in the <a href="#example-program">example</a>, a Flink Streaming program looks almost identical to a regular Flink program. Each stream processing program consists of the following parts:</p>
-
-    <ol>
-      <li>Obtaining a <code>StreamExecutionEnvironment</code>,</li>
-      <li>Connecting to data stream sources,</li>
-      <li>Specifying transformations on the data streams,</li>
-      <li>Specifying output for the processed data,</li>
-      <li>Executing the program.</li>
-    </ol>
-
-    <p>As these steps are basically the same as in the batch API, we will only note the important differences.
-For stream processing jobs, the user needs to obtain a <code>StreamExecutionEnvironment</code> in contrast with the <a href="programming_guide.html#program-skeleton">batch API</a> where one would need an <code>ExecutionEnvironment</code>. Otherwise, the process is essentially the same:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">StreamExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">StreamExecutionEnvironment</span><span class="o">.</span><span class="na">createLocalEnvironment</span><span class="o">(</span><span class="n">parallelism</span><span class="o">);</span>
-<span class="n">StreamExecutionEnvironment</span><span class="o">.</span><span class="na">createRemoteEnvironment</span><span class="o">(</span><span class="n">String</span> <span class="n">host</span><span class="o">,</span> <span class="kt">int</span> <span class="n">port</span><span class="o">,</span> <span class="kt">int</span> <span class="n">parallelism</span><span class="o">,</span> <span class="n">String</span><span class="o">...</span> <span class="n">jarFiles</span><span class="o">);</span></code></pre></div>
-
-    <p>For connecting to data streams the <code>StreamExecutionEnvironment</code> has many different methods, from basic file sources to completely general user defined data sources. We will go into details in the <a href="#basics">basics</a> section.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">env</span><span class="o">.</span><span class="na">socketTextStream</span><span class="o">(</span><span class="n">host</span><span class="o">,</span> <span class="n">port</span><span class="o">);</span>
-<span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="n">elements</span><span class="err">…</span><span class="o">);</span>
-<span class="n">env</span><span class="o">.</span><span class="na">addSource</span><span class="o">(</span><span class="n">sourceFunction</span><span class="o">)</span></code></pre></div>
-
-    <p>After defining the data stream sources the user can specify transformations on the data streams to create a new data stream. Different data streams can be also combined together for joint transformations which are being showcased in the <a href="#transformations">transformations</a> section.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">mapFunction</span><span class="o">).</span><span class="na">reduce</span><span class="o">(</span><span class="n">reduceFunction</span><span class="o">);</span></code></pre></div>
-
-    <p>The processed data can be pushed to different outputs called sinks. The user can define their own sinks or use any predefined filesystem, message queue or database sink.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">path</span><span class="o">);</span>
-<span class="n">dataStream</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-<span class="n">dataStream</span><span class="o">.</span><span class="na">addSink</span><span class="o">(</span><span class="n">sinkFunction</span><span class="o">)</span></code></pre></div>
-
-    <p>Once the complete program is specified <code>execute(programName)</code> is to be called on the <code>StreamExecutionEnvironment</code>. This will either execute on the local machine or submit the program for execution on a cluster, depending on the chosen execution environment.</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="n">programName</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <p>As presented in the <a href="#example-program">example</a> a Flink Streaming program looks almost identical to a regular Flink program. Each stream processing program consists of the following parts:</p>
-
-    <ol>
-      <li>Obtaining a <code>StreamExecutionEnvironment</code>,</li>
-      <li>Connecting to data stream sources,</li>
-      <li>Specifying transformations on the data streams,</li>
-      <li>Specifying output for the processed data,</li>
-      <li>Executing the program.</li>
-    </ol>
-
-    <p>As these steps are basically the same as in the batch API we will only note the important differences.
-For stream processing jobs, the user needs to obtain a <code>StreamExecutionEnvironment</code> in contrast with the <a href="programming_guide.html#program-skeleton">batch API</a> where one would need an <code>ExecutionEnvironment</code>. The process otherwise is essentially the same:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="nc">StreamExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-<span class="nc">StreamExecutionEnvironment</span><span class="o">.</span><span class="n">createLocalEnvironment</span><span class="o">(</span><span class="n">parallelism</span><span class="o">)</span>
-<span class="nc">StreamExecutionEnvironment</span><span class="o">.</span><span class="n">createRemoteEnvironment</span><span class="o">(</span><span class="n">host</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">port</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">parallelism</span><span class="k">:</span> <span class="kt">Int</span><span class="o">,</span> <span class="n">jarFiles</span><span class="k">:</span> <span class="kt">String*</span><span class="o">)</span></code></pre></div>
-
-    <p>For connecting to data streams the <code>StreamExecutionEnvironment</code> has many different methods, from basic file sources to completely general user defined data sources. We will go into details in the <a href="#basics">basics</a> section.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">env</span><span class="o">.</span><span class="n">socketTextStream</span><span class="o">(</span><span class="n">host</span><span class="o">,</span> <span class="n">port</span><span class="o">)</span>
-<span class="n">env</span><span class="o">.</span><span class="n">fromElements</span><span class="o">(</span><span class="n">elements</span><span class="err">…</span><span class="o">)</span>
-<span class="n">env</span><span class="o">.</span><span class="n">addSource</span><span class="o">(</span><span class="n">sourceFunction</span><span class="o">)</span></code></pre></div>
-
-    <p>After defining the data stream sources the user can specify transformations on the data streams to create a new data stream. Different data streams can be also combined together for joint transformations which are being showcased in the <a href="#transformations">transformations</a> section.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">map</span><span class="o">(</span><span class="n">mapFunction</span><span class="o">).</span><span class="n">reduce</span><span class="o">(</span><span class="n">reduceFunction</span><span class="o">)</span></code></pre></div>
-
-    <p>The processed data can be pushed to different outputs called sinks. The user can define their own sinks or use any predefined filesystem, message queue or database sink.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">writeAsCsv</span><span class="o">(</span><span class="n">path</span><span class="o">)</span>
-<span class="n">dataStream</span><span class="o">.</span><span class="n">print</span>
-<span class="n">dataStream</span><span class="o">.</span><span class="n">addSink</span><span class="o">(</span><span class="n">sinkFunction</span><span class="o">)</span></code></pre></div>
-
-    <p>Once the complete program is specified <code>execute(programName)</code> is to be called on the <code>StreamExecutionEnvironment</code>. This will either execute on the local machine or submit the program for execution on a cluster, depending on the chosen execution environment.</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="o">(</span><span class="n">programName</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="basics">Basics</h2>
-
-<h3 id="datastream">DataStream</h3>
-
-<p>The <code>DataStream</code> is the basic data abstraction provided by Flink Streaming. It represents a continuous, parallel, immutable stream of data of a certain type. By applying transformations the user can create new data streams or output the results of the computations. For instance the map transformation creates a new <code>DataStream</code> by applying a user defined function on each element of a given <code>DataStream</code></p>
-
-<p>The transformations may return different data stream types allowing more elaborate transformations, for example the <code>groupBy(…)</code> method returns a <code>GroupedDataStream</code> which can be used for grouped transformations such as aggregating by key. We will discover more elaborate data stream types in the upcoming sections.</p>
-
-<h3 id="object-reuse-behavior">Object Reuse Behavior</h3>
-
-<p>Apache Flink is trying to reduce the number of object allocations for better performance.</p>
-
-<p>By default, user defined functions (like <code>map()</code> or <code>reduce()</code>) are getting new objects on each call
-(or through an iterator). So it is possible to keep references to the objects inside the function
-(for example in a List).</p>
-
-<p>There is a switch at the <code>ExectionConfig</code> which allows users to enable the object reuse mode:</p>
-
-<p><code>
-env.getExecutionConfig().enableObjectReuse()
-</code></p>
-
-<p>For mutable types, Flink will reuse object
-instances. In practice that means that a <code>map()</code> function will always receive the same object
-instance (with its fields set to new values). The object reuse mode will lead to better performance
-because fewer objects are created, but the user has to manually take care of what they are doing
-with the object references.</p>
-
-<h3 id="partitioning">Partitioning</h3>
-
-<p>Partitioning controls how individual data points of a stream are distributed among the parallel instances of the transformation operators. This also controls the ordering of the records in the <code>DataStream</code>. There is partial ordering guarantee for the outputs with respect to the partitioning scheme (outputs produced from each partition are guaranteed to arrive in the order they were produced).</p>
-
-<p>There are several partitioning types supported in Flink Streaming:</p>
-
-<ul>
-  <li><em>Forward (default)</em>: Forward partitioning directs the output data to the next operator on the same machine (if possible) avoiding expensive network I/O. If there are more processing nodes than inputs or vice versa the load is distributed among the extra nodes in a round-robin fashion. This is the default partitioner.
-Usage: <code>dataStream.forward()</code></li>
-  <li><em>Shuffle</em>: Shuffle partitioning randomly partitions the output data stream to the next operator using uniform distribution. Use this only when it is important that the partitioning is randomised. If you only care about an even load use <em>Rebalance</em>.
-Usage: <code>dataStream.shuffle()</code></li>
-  <li><em>Rebalance</em>: Rebalance partitioning directs the output data stream to the next operator in a round-robin fashion, achieving a balanced distribution.
-Usage: <code>dataStream.rebalance()</code></li>
-  <li><em>Field/Key Partitioning</em>: Field/Key partitioning partitions the output data stream based on the hash code of a selected key of the tuples. Data points with the same key are directed to the same operator instance. 
-Usage: <code>dataStream.partitionByHash(fields…)</code></li>
-  <li><em>Field/Key Grouping</em>: Field/Key grouping takes partitioning one step further and seperates the elements to disjoint groups based on the hash code. These groups are processed separately by the next downstream operator. 
-Usage: <code>dataStream.groupBy(fields…)</code></li>
-  <li><em>Broadcast</em>: Broadcast partitioning sends the output data stream to all parallel instances of the next operator.
-Usage: <code>dataStream.broadcast()</code></li>
-  <li><em>Global</em>: All data points are directed to the first instance of the operator. 
-Usage: <code>dataStream.global()</code></li>
-</ul>
-
-<p>By default <em>Forward</em> partitioning is used.</p>
-
-<p>Partitioning does not remain in effect after a transformation, so it needs to be set again for subsequent operations.</p>
-
-<h3 id="connecting-to-the-outside-world">Connecting to the outside world</h3>
-
-<p>The user is expected to connect to the outside world through the source and the sink interfaces.</p>
-
-<h4 id="sources">Sources</h4>
-
-<p>Sources can by created by using <code>StreamExecutionEnvironment.addSource(sourceFunction)</code>. 
-Either use one of the source functions that come with Flink or write a custom source
-by implementing the <code>SourceFunction</code> interface. By default, sources run with
-parallelism of 1. To create parallel sources the user’s source function needs to implement
-<code>ParallelSourceFunction</code> or extend <code>RichParallelSourceFunction</code> in which cases the source will have
-the parallelism of the environment. The parallelism for ParallelSourceFunctions can be changed
-after creation by using <code>source.setParallelism(parallelism)</code>.</p>
-
-<p>The <code>SourceFunction</code> interface has two methods: <code>run(SourceContext)</code> and <code>cancel()</code>. The <code>run()</code>
-method is not expected to return until the source has either finished by itself or received
-a cancel request. The source can communicate with the outside world using the source context. For
-example, the <code>emit(element)</code> method is used to emit one element from the source. Most sources will
-have an infinite while loop inside the <code>run()</code> method to read from the input and emit elements.
-Upon invocation of the <code>cancel()</code> method the source is required to break out of its internal
-loop and return from the <code>run()</code> method. A common implementation for this is the following:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">MySource</span> <span class="kd">implements</span> <span class="n">SourceFunction</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="o">{</span>
-
-    <span class="c1">// utility for job cancellation</span>
-    <span class="kd">private</span> <span class="kd">volatile</span> <span class="kt">boolean</span> <span class="n">isRunning</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
-    
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">run</span><span class="o">(</span><span class="n">SourceContext</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">ctx</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="n">isRunning</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
-        <span class="k">while</span> <span class="o">(</span><span class="n">isRunning</span><span class="o">)</span> <span class="o">{</span>
-            <span class="c1">// the source runs, isRunning flag should be checked frequently</span>
-            <span class="o">}</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-
-    <span class="c1">// invoked by the framework in case of job cancellation</span>
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">cancel</span><span class="o">()</span> <span class="o">{</span>
-        <span class="n">isRunning</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
-    <span class="o">}</span>
-
-<span class="o">}</span></code></pre></div>
-
-<p>In addition to the bounded data sources (with similar method signatures as the
-<a href="programming_guide.html#data-sources">batch API</a>) there are several predefined stream sources
-accessible from the <code>StreamExecutionEnvironment</code>:</p>
-
-<ul>
-  <li>
-    <p><em>Socket text stream</em>: Creates a new <code>DataStream</code> that contains the strings received
-from the given socket. Strings are decoded by the system’s default character set. The user
-can optionally set the delimiters or the number of connection retries in case of errors.
-Usage: <code>env.socketTextStream(hostname, port,…)</code></p>
-  </li>
-  <li>
-    <p><em>Text file stream</em>: Creates a new <code>DataStream</code> that contains the lines of the files created
-(or modified) in a given directory. The system continuously monitors the given path, and processes
-any new files or modifications based on the settings. The file will be read with the system’s
-default character set.
-Usage: <code>env.readFileStream(String path, long checkFrequencyMillis, WatchType watchType)</code></p>
-  </li>
-  <li>
-    <p><em>Message queue connectors</em>: There are pre-implemented connectors for a number of popular message
-queue services, please refer to the section on <a href="#stream-connectors">connectors</a> for more details.</p>
-  </li>
-  <li>
-    <p><em>Custom source</em>: Creates a new <code>DataStream</code> by using a user defined <code>SourceFunction</code> implementation.
-Usage: <code>env.addSource(sourceFunction)</code></p>
-  </li>
-</ul>
-
-<h4 id="sinks">Sinks</h4>
-
-<p><code>DataStreamSink</code> represents the different outputs of Flink Streaming programs. The user can either define his own <code>SinkFunction</code> implementation or chose one of the available implementations (methods of <code>DataStream</code>).</p>
-
-<p>For example:</p>
-
-<ul>
-  <li><code>dataStream.print()</code> – Writes the <code>DataStream</code> to the standard output, practical for testing purposes</li>
-  <li><code>dataStream.writeAsText(parameters)</code> – Writes the <code>DataStream</code> to a text file</li>
-  <li><code>dataStream.writeAsCsv(parameters)</code> – Writes the <code>DataStream</code> to CSV format</li>
-  <li><code>dataStream.addSink(sinkFunction)</code> – Custom sink implementation</li>
-</ul>
-
-<p>There are pre-implemented connectors for a number of the most popular message queue services, please refer to the section on <a href="#stream-connectors">connectors</a> for more detail.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="transformations">Transformations</h2>
-
-<p>Transformations, also called operators, represent the users’ business logic on the data stream. Operators consume data streams and produce new data streams. The user can chain and combine multiple operators on the data stream to produce the desired processing steps. Most of the operators work very similar to the batch Flink API allowing developers to reason about <code>DataStream</code> the same way as they would about <code>DataSet</code>. At the same time there are operators that exploit the streaming nature of the data to allow advanced functionality.</p>
-
-<h3 id="basic-transformations">Basic transformations</h3>
-
-<p>Basic transformations can be seen as functions that operate on records of the data stream.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <p><br /></p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-    <tr>
-      <td><strong>Map</strong></td>
-      <td>
-        <p>Takes one element and produces one element. A map that doubles the values of the input stream:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="nd">@Override</span>
-            <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">map</span><span class="o">(</span><span class="n">Integer</span> <span class="n">value</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">value</span><span class="o">;</span>
-            <span class="o">}</span>
-        <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>FlatMap</strong></td>
-      <td>
-        <p>Takes one element and produces zero, one, or more elements. A flatmap that splits sentences to words:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="nd">@Override</span>
-            <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> 
-                <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-                <span class="k">for</span><span class="o">(</span><span class="n">String</span> <span class="nl">word:</span> <span class="n">value</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">)){</span>
-                    <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">word</span><span class="o">);</span>
-                <span class="o">}</span>
-            <span class="o">}</span>
-        <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Filter</strong></td>
-      <td>
-        <p>Evaluates a boolean function for each element and retains those for which the function returns true.
-	<br />
-	<br />
-        A filter that filters out zero values:
-        </p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span> 
-            <span class="nd">@Override</span>
-            <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Integer</span> <span class="n">value</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="n">value</span> <span class="o">!=</span> <span class="mi">0</span><span class="o">;</span>
-            <span class="o">}</span>
-        <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Reduce</strong></td>
-      <td>
-        <p>Combines a stream of elements into another stream by repeatedly combining two elements
-        into one and emits the current state after every reduction. Reduce may only be applied on a windowed or grouped data stream.
-        <br />
-        
-        <strong>IMPORTANT:</strong> The streaming and the batch reduce functions have different semantics. A streaming reduce on a data stream emits the current reduced value for every new element on a data stream. On a windowed data stream it works as a batch reduce: it produces at most one value per window.
-        <br />
-	<br />
-         A reducer that sums up the incoming stream, the result is a stream of intermediate sums:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="k">new</span> <span class="n">ReduceFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="nd">@Override</span>
-            <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Integer</span> <span class="n">value1</span><span class="o">,</span> <span class="n">Integer</span> <span class="n">value2</span><span class="o">)</span> 
-            <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="n">value1</span> <span class="o">+</span> <span class="n">value2</span><span class="o">;</span>
-            <span class="o">}</span>
-        <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Fold</strong></td>
-      <td>
-        <p>Combines a stream element by element with an initial aggregator value. Fold may only be applied on a windowed or grouped data stream.
-        <br />
-         A folder that appends strings one by one to the empty sting:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">fold</span><span class="o">(</span><span class="s">&quot;&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="n">FoldFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="nd">@Override</span>
-            <span class="kd">public</span> <span class="n">String</span> <span class="nf">fold</span><span class="o">(</span><span class="n">String</span> <span class="n">accumulator</span><span class="o">,</span> <span class="n">String</span> <span class="n">value</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="n">accumulator</span> <span class="o">+</span> <span class="n">value</span><span class="o">;</span>
-            <span class="o">}</span>
-       <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Union</strong></td>
-      <td>
-        <p>Union of two or more data streams creating a new stream containing all the elements from all the streams.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">union</span><span class="o">(</span><span class="n">otherStream1</span><span class="o">,</span> <span class="n">otherStream2</span><span class="o">,</span> <span class="err">…</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-    <hr />
-
-    <p>The following transformations are available on data streams of Tuples:</p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-  <tbody>
-   <tr>
-      <td><strong>Project</strong></td>
-      <td>
-        <p>Selects a subset of fields from the tuples</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataStream</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataStream</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="mi">0</span><span class="o">);</span></code></pre></div>
-
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <p><br /></p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-
-    <tr>
-      <td><strong>Map</strong></td>
-      <td>
-        <p>Takes one element and produces one element. A map that doubles the values of the input stream:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">map</span><span class="o">{</span> <span class="n">x</span> <span class="k">=&gt;</span> <span class="n">x</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>FlatMap</strong></td>
-      <td>
-        <p>Takes one element and produces zero, one, or more elements. A flatmap that splits sentences to words:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="n">str</span> <span class="k">=&gt;</span> <span class="n">str</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">)</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Filter</strong></td>
-      <td>
-        <p>Evaluates a boolean function for each element and retains those for which the function returns true.
-       	<br />
-	<br />
-        A filter that filters out zero values:
-        </p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">filter</span><span class="o">{</span> <span class="k">_</span> <span class="o">!=</span> <span class="mi">0</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Reduce</strong></td>
-      <td>
-        <p>Combines a stream of elements into another stream by repeatedly combining two elements
-        into one and emits the current state after every reduction. Reduce may only be applied on a windowed or grouped data stream.
-        <br />
-        
-        <strong>IMPORTANT:</strong> The streaming and the batch reduce functions have different semantics. A streaming reduce on a data stream emits the current reduced value for every new element on a data stream. On a windowed data stream it works as a batch reduce: it produces at most one value per window.
-        <br />
-	<br />
-         A reducer that sums up the incoming stream, the result is a stream of intermediate sums:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">reduce</span><span class="o">{</span> <span class="k">_</span> <span class="o">+</span> <span class="k">_</span><span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Fold</strong></td>
-        <td>
-        <p>Combines a stream element by element with an initial aggregator value. Fold may only be applied windowed or grouped data stream.
-        <br />
-         A folder that appends strings one by one to the empty sting:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">fold</span><span class="o">{</span><span class="s">&quot;&quot;</span><span class="o">,</span> <span class="k">_</span> <span class="o">+</span> <span class="k">_</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Union</strong></td>
-      <td>
-        <p>Union of two or more data streams creating a new stream containing all the elements from all the streams.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">union</span><span class="o">(</span><span class="n">otherStream1</span><span class="o">,</span> <span class="n">otherStream2</span><span class="o">,</span> <span class="err">…</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-  </tbody>
-
-
-</table>
-
-  </div>
-
-</div>
-
-<h3 id="grouped-operators">Grouped operators</h3>
-
-<p>Some transformations require that the elements of a <code>DataStream</code> are grouped on some key. The user can create a <code>GroupedDataStream</code> by calling the <code>groupBy(key)</code> method of a non-grouped <code>DataStream</code>. 
-Keys can be of three types: field positions (applicable for tuple/array types), field expressions (applicable for pojo types), KeySelector instances.</p>
-
-<p>Aggregation or reduce operators called on <code>GroupedDataStream</code>s produce elements on a per group basis.</p>
-
-<h3 id="aggregations">Aggregations</h3>
-
-<p>The Flink Streaming API supports different types of pre-defined aggregations of <code>GroupedDataStream</code>s and <code>WindowedDataStream</code>s. A common property of these operators, is that they produce the stream of intermediate aggregate values.</p>
-
-<p>Types of aggregations: <code>sum(field)</code>, <code>min(field)</code>, <code>max(field)</code>, <code>minBy(field, first)</code>, <code>maxBy(field, first)</code>.</p>
-
-<p>With <code>sum</code>, <code>min</code>, and <code>max</code> for every incoming tuple the selected field is replaced with the current aggregated value. Fields can be selected using either field positions or field expressions (similarly to grouping).</p>
-
-<p>With <code>minBy</code> and <code>maxBy</code> the output of the operator is the element with the current minimal or maximal value at the given field. If more components share the minimum or maximum value, the user can decide if the operator should return the first or last element. This can be set by the <code>first</code> boolean parameter.</p>
-
-<h3 id="window-operators">Window operators</h3>
-
-<p>Flink streaming provides very flexible data-driven windowing semantics to create arbitrary windows (also referred to as discretizations or slices) of the data streams and apply reduce, map or aggregation transformations on the windows acquired. Windowing can be used for instance to create rolling aggregations of the most recent N elements, where N could be defined by Time, Count or any arbitrary user defined measure.</p>
-
-<p>The user can control the size (eviction) of the windows and the frequency of transformation or aggregation calls (trigger) on them in an intuitive API. We will describe the exact semantics of these operators in the <a href="#policy-based-windowing">policy based windowing</a> section.</p>
-
-<p>Some examples:</p>
-
-<ul>
-  <li><code>dataStream.window(eviction).every(trigger).reduceWindow(…)</code></li>
-  <li><code>dataStream.window(…).every(…).mapWindow(…).flatten()</code></li>
-  <li><code>dataStream.window(…).every(…).groupBy(…).aggregate(…).getDiscretizedStream()</code></li>
-</ul>
-
-<p>The core abstraction of the Windowing semantics is the <code>WindowedDataStream</code> and the <code>StreamWindow</code>. The <code>WindowedDataStream</code> is created when we first call the <code>window(…)</code> method of the DataStream and represents the windowed discretisation of the underlying stream. The user can think about it simply as a <code>DataStream&lt;StreamWindow&lt;T&gt;&gt;</code> where additional API functions are supplied to provide efficient transformations of individual windows.</p>
-
-<p>Please note at this point that the <code>.every(…)</code> call belongs together with the preceding <code>.window(…)</code> call and does not define a new transformation in itself.</p>
-
-<p>The result of a window transformation is again a <code>WindowedDataStream</code> which can also be used to further apply other windowed computations. In this sense, window transformations define mapping from stream windows to stream windows.</p>
-
-<p>The user has different ways of using the result of a window operation:</p>
-
-<ul>
-  <li><code>windowedDataStream.flatten()</code> - streams the results element wise and returns a <code>DataStream&lt;T&gt;</code> where T is the type of the underlying windowed stream</li>
-  <li><code>windowedDataStream.getDiscretizedStream()</code> - returns a <code>DataStream&lt;StreamWindow&lt;T&gt;&gt;</code> for applying some advanced logic on the stream windows itself. Be careful here, as at this point, we need to materialise the full windows</li>
-  <li>Calling any window transformation further transforms the windows, while preserving the windowing logic</li>
-</ul>
-
-<p>The next example would create windows that hold elements of the last 5 seconds, and the user defined transformation would be executed on the windows every second (sliding the window by 1 second):</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Time</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">5</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">)).</span><span class="na">every</span><span class="o">(</span><span class="n">Time</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">));</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">5</span><span class="o">,</span> <span class="nc">TimeUnit</span><span class="o">.</span><span class="nc">SECONDS</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="nc">TimeUnit</span><span class="o">.</span><span class="nc">SECONDS</span><span class="o">))</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>This approach is often referred to as policy based windowing. Different policies (count, time, etc.) can be mixed as well, for example to downsample our stream, a window that takes the latest 100 elements of the stream every minute is created as follows:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Count</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="na">every</span><span class="o">(</span><span class="n">Time</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">MINUTES</span><span class="o">));</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Count</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="nc">TimeUnit</span><span class="o">.</span><span class="nc">MINUTES</span><span class="o">))</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>The user can also omit the <code>every(…)</code> call which results in a tumbling window emptying the window after every transformation call.</p>
-
-<p>Several predefined policies are provided in the API, including delta-based, count-based and time-based policies. These can be accessed through the static methods provided by the <code>PolicyHelper</code> classes:</p>
-
-<ul>
-  <li><code>Time.of(…)</code></li>
-  <li><code>Count.of(…)</code></li>
-  <li><code>Delta.of(…)</code></li>
-  <li><code>FullStream.window()</code></li>
-</ul>
-
-<p>For detailed description of these policies please refer to the <a href="http://flink.apache.org/docs/latest/api/java/">Javadocs</a>.</p>
-
-<h4 id="policy-based-windowing">Policy based windowing</h4>
-<p>The policy based windowing is a highly flexible way to specify stream discretisation also called windowing semantics. Two types of policies are used for such a specification:</p>
-
-<ul>
-  <li>
-    <p><code>TriggerPolicy</code> defines when to trigger the reduce or transformation UDF on the current window and emit the result. In the API it completes a window statement such as: <code>window(…).every(…)</code>, while the triggering policy is passed within <code>every</code>. In case the user wants to use tumbling eviction policy (the window is emptied after the transformation) he can omit the <code>.every(…)</code> call and pass the trigger policy directly to the <code>.window(…)</code> call.</p>
-  </li>
-  <li>
-    <p><code>EvictionPolicy</code> defines the length of a window as a means of a predicate for evicting tuples when they are no longer needed. In the API this can be defined by the <code>window(…)</code> operation on a stream. There are mostly the same predefined policy types provided as for trigger policies.</p>
-  </li>
-</ul>
-
-<p>Trigger and eviction policies work totally independently of each other. The eviction policy continuously maintains a window, into which it adds new elements and based on the eviction logic removes older elements in the order of arrival. The trigger policy on the other hand only decided at each new incoming element, whether it should trigger computation (and output results) on the currently maintained window.</p>
-
-<p>Several predefined policies are provided in the API, including delta-based, punctuation based, count-based and time-based policies. Policies are in general UDFs and can implement any custom behaviour.</p>
-
-<p>In addition to the <code>dataStream.window(…).every(…)</code> style, users can specifically pass the trigger and eviction policies during the window call:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">triggerPolicy</span><span class="o">,</span> <span class="n">evictionPolicy</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="n">triggerPolicy</span><span class="o">,</span> <span class="n">evictionPolicy</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p>By default triggers can only trigger when a new element arrives. This might not be suitable for all the use-cases with low data rates. To also provide triggering between elements, so called active policies can be used (the two interfaces controlling this special behaviour is <code>ActiveTriggerPolicy</code> and <code>CentralActiveTrigger</code>). The predefined time-based policies are already implemented in such a way and can hold as an example for user defined active policy implementations.</p>
-
-<p>Time-based trigger and eviction policies can work with user defined <code>TimeStamp</code> implementations, these policies already cover most use cases.</p>
-
-<h4 id="reduce-on-windowed-data-streams">Reduce on windowed data streams</h4>
-<p>The <code>WindowedDataStream&lt;T&gt;.reduceWindow(ReduceFunction&lt;T&gt;)</code> transformation calls the user-defined <code>ReduceFunction</code> at every trigger on the records currently in the window. The user can also use the different pre-implemented streaming aggregations such as <code>sum, min, max, minBy</code> and <code>maxBy</code>.</p>
-
-<p>The following is an example for a window reduce that sums the elements in the last minute with 10 seconds slide interval:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Time</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">MINUTES</span><span class="o">)).</span><span class="na">every</span><span class="o">(</span><span class="n">Time</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">10</span><span class="o">,</span><span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">)).</span><span class="na">sum</span><span class="o">(</span><span class="n">field</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="nc">TimeUnit</span><span class="o">.</span><span class="nc">MINUTES</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">10</span><span class="o">,</span><span class="nc">TimeUnit</span><span class="o">.</span><span class="nc">SECONDS</span><span class="o">)).</span><span class="n">sum</span><span class="o">(</span><span class="n">field</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<h4 id="map-on-windowed-data-streams">Map on windowed data streams</h4>
-<p>The <code>WindowedDataStream&lt;T&gt;.mapWindow(WindowMapFunction&lt;T,O&gt;)</code> transformation calls  <code>mapWindow(…)</code> for each <code>StreamWindow</code> in the discretised stream, providing access to all elements in the window through the iterable interface. At each function call the output <code>StreamWindow&lt;O&gt;</code> will consist of all the elements collected to the collector. This allows a straightforward way of mapping one stream window to another.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">windowedDataStream</span><span class="o">.</span><span class="na">mapWindow</span><span class="o">(</span><span class="n">windowMapFunction</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">windowedDataStream</span><span class="o">.</span><span class="n">mapWindow</span><span class="o">(</span><span class="n">windowMapFunction</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<h4 id="grouped-transformations-on-windowed-data-streams">Grouped transformations on windowed data streams</h4>
-<p>Calling the <code>groupBy(…)</code> method on a windowed stream groups the elements by the given fields inside the stream windows. The window sizes (evictions) and slide sizes (triggers) will be calculated on the whole stream (in a global fashion), but the user defined functions will be applied on a per group basis inside the window. This means that for a call <code>windowedStream.groupBy(…).reduceWindow(…)</code> will transform each window into another window consisting of as many elements as keys in the original window, with the reduced values per key. Similarly the <code>mapWindow</code> transformation is applied per group as well.</p>
-
-<p>The user can also create discretisation on a per group basis calling <code>window(…).every(…)</code> on an already grouped data stream. This will apply the discretisation logic independently for each key.</p>
-
-<p>To highlight the differences let us look at two examples.</p>
-
-<p>To get the maximal value for each key on the last 100 elements (global) we use the first approach:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Count</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="na">every</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="na">groupBy</span><span class="o">(</span><span class="n">groupingField</span><span class="o">).</span><span class="na">max</span><span class="o">(</span><span class="n">field</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Count</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="n">groupBy</span><span class="o">(</span><span class="n">groupingField</span><span class="o">).</span><span class="n">max</span><span class="o">(</span><span class="n">field</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p>Using this approach we took the last 100 elements, divided it into groups by key, and then applied the aggregation. To create fixed size windows for every key, we need to bring the groupBy call before the window call. So to take the max for the last 100 elements in each group:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="n">groupingField</span><span class="o">).</span><span class="na">window</span><span class="o">(</span><span class="n">Count</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="na">every</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="na">max</span><span class="o">(</span><span class="n">field</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="n">groupingField</span><span class="o">).</span><span class="n">window</span><span class="o">(</span><span class="nc">Count</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="n">max</span><span class="o">(</span><span class="n">field</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p>This will create separate windows for different keys and apply the trigger and eviction policies on a per group basis.</p>
-
-<h4 id="applying-multiple-transformations-on-a-window">Applying multiple transformations on a window</h4>
-<p>Using the <code>WindowedDataStream</code> abstraction we can apply several transformations one after another on the discretised streams without having to re-discretise it:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Count</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">1000</span><span class="o">)).</span><span class="na">groupBy</span><span class="o">(</span><span class="n">firstKey</span><span class="o">).</span><span class="na">mapWindow</span><span class="o">(</span><span class="err">…</span><span class="o">)</span>
-    <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="n">secondKey</span><span class="o">).</span><span class="na">reduceWindow</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="na">flatten</span><span class="o">();</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Count</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">1000</span><span class="o">)).</span><span class="n">groupBy</span><span class="o">(</span><span class="n">firstKey</span><span class="o">).</span><span class="n">mapWindow</span><span class="o">(</span><span class="err">…</span><span class="o">)</span>
-    <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="n">secondKey</span><span class="o">).</span><span class="n">reduceWindow</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="n">flatten</span><span class="o">()</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>The above call would create global windows of 1000 elements, group them by the first key, and then apply a mapWindow transformation. The resulting windowed stream will then be grouped by the second key and further reduced. The results of the reduce transformation are then flattened.</p>
-
-<p>Notice that here we only defined the window size once at the beginning of the transformation. This means that anything that happens afterwards (<code>groupBy(firstKey).mapWindow(…).groupBy(secondKey).reduceWindow(…)</code>) happens inside the 1000 element windows. Of course the mapWindow might reduce the number of elements, but the key idea is that each transformation still corresponds to the same 1000 elements in the original stream.</p>
-
-<h4 id="periodic-aggregations-on-the-full-stream-history">Periodic aggregations on the full stream history</h4>
-<p>Sometimes it is necessary to aggregate over all the previously seen data in the stream. For this purpose either use the <code>dataStream.window(FullStream.window()).every(trigger)</code> or equivalently <code>dataStream.every(trigger)</code>.</p>
-
-<h4 id="global-vs-local-discretisation">Global vs local discretisation</h4>
-<p>By default all window discretisation calls (<code>dataStream.window(…)</code>) define global windows meaning that a global window of count 100 will contain the last 100 elements arrived at the discretisation operator in order. In most cases (except for Time) this means that the operator doing the actual discretisation needs to have a parallelism of 1 to be able to correctly execute the discretisation logic.</p>
-
-<p>Sometimes it is sufficient to create local discretisations, which allows the discretiser to run in parallel and apply the given discretisation logic at every discretiser instance. To allow local discretisation use the <code>local()</code> method of the windowed data stream.</p>
-
-<p>For example, <code>dataStream.window(Count.of(100)).maxBy(field)</code> would create global windows of 100 elements (Count discretises with parallelism of 1) and return the record with the max value by the selected field; alternatively the <code>dataStream.window(Count.of(100)).local().maxBy(field)</code> would create several count discretisers (as defined by the environment parallelism) and compute the max values accordingly.</p>
-
-<h3 id="temporal-database-style-operators">Temporal database style operators</h3>
-
-<p>While database style operators like joins (on key) and crosses are hard to define properly on data streams, a straightforward interpretation is to apply these operators on windows of the data streams.</p>
-
-<p>Currently join and cross operators are supported only on time windows. We are working on alleviating this limitation in the next release.</p>
-
-<p>Temporal operators take the current windows of both streams and apply the join/cross logic on these window pairs.</p>
-
-<p>The Join transformation produces a new Tuple DataStream with two fields. Each tuple holds a joined element of the first input DataStream in the first tuple field and a matching element of the second input DataStream in the second field for the current window. The user can also supply a custom join function to control the produced elements.</p>
-
-<p>The following code shows a default Join transformation using field position keys:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream1</span><span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">dataStream2</span><span class="o">)</span>
-    <span class="o">.</span><span class="na">onWindow</span><span class="o">(</span><span class="n">windowing_params</span><span class="o">)</span>
-    <span class="o">.</span><span class="na">where</span><span class="o">(</span><span class="n">key_in_first</span><span class="o">)</span>
-    <span class="o">.</span><span class="na">equalTo</span><span class="o">(</span><span class="n">key_in_second</span><span class="o">);</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream1</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">dataStream2</span><span class="o">)</span>
-    <span class="o">.</span><span class="n">onWindow</span><span class="o">(</span><span class="n">windowing_params</span><span class="o">)</span>
-    <span class="o">.</span><span class="n">where</span><span class="o">(</span><span class="n">key_in_first</span><span class="o">)</span>
-    <span class="o">.</span><span class="n">equalTo</span><span class="o">(</span><span class="n">key_in_second</span><span class="o">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>The Cross transformation combines two <code>DataStream</code>s into one <code>DataStream</code>. It builds all pairwise combinations of the elements of both input DataStreams in the current window, i.e., it builds a temporal Cartesian product. The user can also supply a custom cross function to control the produced elements</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream1</span><span class="o">.</span><span class="na">cross</span><span class="o">(</span><span class="n">dataStream2</span><span class="o">).</span><span class="na">onWindow</span><span class="o">(</span><span class="n">windowing_params</span><span class="o">);</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream1</span> <span class="n">cross</span> <span class="n">dataStream2</span> <span class="n">onWindow</span> <span class="o">(</span><span class="n">windowing_params</span><span class="o">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="co-operators">Co operators</h3>
-
-<p>Co operators allow the users to jointly transform two <code>DataStream</code>s of different types, providing a simple way to jointly manipulate streams with a shared state. It is designed to support joint stream transformations where union is not appropriate due to different data types, or in case the user needs explicit tracking of the origin of individual elements.
-Co operators can be applied to <code>ConnectedDataStream</code>s which represent two <code>DataStream</code>s of possibly different types. A <code>ConnectedDataStream</code> can be created by calling the <code>connect(otherDataStream)</code> method of a <code>DataStream</

<TRUNCATED>

[36/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/fig/stack.svg
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/fig/stack.svg b/content/docs/0.9/internals/fig/stack.svg
deleted file mode 100644
index 7cdebc2..0000000
--- a/content/docs/0.9/internals/fig/stack.svg
+++ /dev/null
@@ -1,606 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   width="223.19mm"
-   height="120.14mm"
-   id="svg2"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="Picture1.emf">
-  <metadata
-     id="metadata252">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="640"
-     inkscape:window-height="480"
-     id="namedview250"
-     showgrid="false"
-     inkscape:zoom="0.43625014"
-     inkscape:cx="395.41534"
-     inkscape:cy="212.84645"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg2" />
-  <defs
-     id="defs4" />
-  <g
-     id="g6">
-    <path
-       style="fill:#d7e4bd;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 336.62761 106.86412   C 336.62761 102.73809 339.96594 99.399763 344.09197 99.399763   L 478.01909 99.399763   C 482.14511 99.399763 485.48345 102.73809 485.48345 106.86412   L 485.48345 136.72156   C 485.48345 140.84759 482.14511 144.18592 478.01909 144.18592   L 344.09197 144.18592   C 339.96594 144.18592 336.62761 140.84759 336.62761 136.72156   z"
-       id="path8" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 336.62761 106.86412   C 336.62761 102.73809 339.96594 99.399763 344.09197 99.399763   L 478.01909 99.399763   C 482.14511 99.399763 485.48345 102.73809 485.48345 106.86412   L 485.48345 136.72156   C 485.48345 140.84759 482.14511 144.18592 478.01909 144.18592   L 344.09197 144.18592   C 339.96594 144.18592 336.62761 140.84759 336.62761 136.72156   z"
-       id="path10" />
-    <text
-       xml:space="preserve"
-       x="363.12525"
-       y="130.71455"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text12">Java API</text>
-    <path
-       style="fill:#8eb4e3;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 159.41471 226.06882   C 159.41471 221.08008 163.46572 217.02907 168.45447 217.02907   L 774.19287 217.02907   C 779.18161 217.02907 783.23262 221.08008 783.23262 226.06882   L 783.23262 262.26534   C 783.23262 267.25408 779.18161 271.30509 774.19287 271.30509   L 168.45447 271.30509   C 163.46572 271.30509 159.41471 267.25408 159.41471 262.26534   z"
-       id="path14" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 159.41471 226.06882   C 159.41471 221.08008 163.46572 217.02907 168.45447 217.02907   L 774.19287 217.02907   C 779.18161 217.02907 783.23262 221.08008 783.23262 226.06882   L 783.23262 262.26534   C 783.23262 267.25408 779.18161 271.30509 774.19287 271.30509   L 168.45447 271.30509   C 163.46572 271.30509 159.41471 267.25408 159.41471 262.26534   z"
-       id="path16" />
-    <text
-       xml:space="preserve"
-       x="393.65398"
-       y="253.07254"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text18">Flink Runtime</text>
-    <path
-       style="fill:#c6d9f1;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 258.66444 162.34044   C 258.66444 157.27668 262.71545 153.22567 267.77921 153.22567   L 774.11785 153.22567   C 779.18161 153.22567 783.23262 157.27668 783.23262 162.34044   L 783.23262 198.79953   C 783.23262 203.82578 779.18161 207.9143 774.11785 207.9143   L 267.77921 207.9143   C 262.71545 207.9143 258.66444 203.82578 258.66444 198.79953   z"
-       id="path20" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 258.66444 162.34044   C 258.66444 157.27668 262.71545 153.22567 267.77921 153.22567   L 774.11785 153.22567   C 779.18161 153.22567 783.23262 157.27668 783.23262 162.34044   L 783.23262 198.79953   C 783.23262 203.82578 779.18161 207.9143 774.11785 207.9143   L 267.77921 207.9143   C 262.71545 207.9143 258.66444 203.82578 258.66444 198.79953   z"
-       id="path22" />
-    <text
-       xml:space="preserve"
-       x="348.84817"
-       y="189.46831"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text24">Flink Common API / Optimizer</text>
-    <path
-       style="fill:#93cddd;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 498.23662 106.86412   C 498.23662 102.73809 501.57495 99.399763 505.70098 99.399763   L 618.37905 99.399763   C 622.50508 99.399763 625.84341 102.73809 625.84341 106.86412   L 625.84341 136.72156   C 625.84341 140.84759 622.50508 144.18592 618.37905 144.18592   L 505.70098 144.18592   C 501.57495 144.18592 498.23662 140.84759 498.23662 136.72156   z"
-       id="path26" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 498.23662 106.86412   C 498.23662 102.73809 501.57495 99.399763 505.70098 99.399763   L 618.37905 99.399763   C 622.50508 99.399763 625.84341 102.73809 625.84341 106.86412   L 625.84341 136.72156   C 625.84341 140.84759 622.50508 144.18592 618.37905 144.18592   L 505.70098 144.18592   C 501.57495 144.18592 498.23662 140.84759 498.23662 136.72156   z"
-       id="path28" />
-    <text
-       xml:space="preserve"
-       x="508.83228"
-       y="130.71455"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text30">Scala</text>
-    <text
-       xml:space="preserve"
-       x="576.94925"
-       y="130.71455"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text32">API</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 637.69637 106.90163   C 637.69637 102.7756 641.0347 99.399763 645.16073 99.399763   L 774.83053 99.399763   C 778.95656 99.399763 782.3324 102.7756 782.3324 106.90163   L 782.3324 136.8716   C 782.3324 141.03514 778.95656 144.37347 774.83053 144.37347   L 645.16073 144.37347   C 641.0347 144.37347 637.69637 141.03514 637.69637 136.8716   z"
-       id="path34" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.037509345px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 636.42105 136.8716   L 636.42105 134.39598   L 638.93417 134.39598   L 638.93417 136.8716   z  M 636.42105 131.88286   L 636.42105 129.36973   L 638.93417 129.36973   L 638.93417 131.88286   z  M 636.42105 126.89411   L 636.42105 124.38099   L 638.93417 124.38099   L 638.93417 126.89411   z  M 636.42105 121.86786   L 636.42105 119.39224   L 638.93417 119.39224   L 638.93417 121.86786   z  M 636.42105 116.87912   L 636.42105 114.36599   L 638.93417 114.36599   L 638.93417 116.87912   z  M 636.42105 111.89037   L 636.42105 109.37725   L 638.93417 109.37725   L 638.93417 111.89037   z  M 636.42105 106.82661   L 636.45856 106.07643   L 636.6086 105.21371   L 636.79614 104.351   L 636.94618 104.01341   L 639.27176 104.87613   L 639.23425 104.98866   L 639.08421 105.5888   L 638.97168 106.18895   L 638.93417 106.93914   z  M 638.37153 101.46278   L 638.89667 100.82512   C 638.97168 100.7501 639.00919 100.71259 639.08421 100.63757   L 640.17198 99.737347   C 640.247 99.699838
  640.28451 99.662328 640.32202 99.624819   L 640.50957 99.512291   L 641.82239 101.65032   L 641.63485 101.76285   L 641.78488 101.65032   L 640.69711 102.58806   L 640.84715 102.40051   L 640.32202 103.07568   z  M 643.13522 98.42452   L 643.36028 98.349501   L 644.22299 98.236973   L 645.12322 98.161955   L 645.94842 98.161955   L 645.94842 100.67508   L 645.23574 100.67508   L 644.59809 100.67508   L 643.99794 100.78761   L 643.77288 100.82512   z  M 648.46155 98.161955   L 650.93716 98.161955   L 650.93716 100.67508   L 648.46155 100.67508   z  M 653.45029 98.161955   L 655.96342 98.161955   L 655.96342 100.67508   L 653.45029 100.67508   z  M 658.43903 98.161955   L 660.95216 98.161955   L 660.95216 100.67508   L 658.43903 100.67508   z  M 663.46529 98.161955   L 665.9409 98.161955   L 665.9409 100.67508   L 663.46529 100.67508   z  M 668.45403 98.161955   L 670.96715 98.161955   L 670.96715 100.67508   L 668.45403 100.67508   z  M 673.44277 98.161955   L 675.9559 98.161955   L
  675.9559 100.67508   L 673.44277 100.67508   z  M 678.46902 98.161955   L 680.94464 98.161955   L 680.94464 100.67508   L 678.46902 100.67508   z  M 683.45777 98.161955   L 685.97089 98.161955   L 685.97089 100.67508   L 683.45777 100.67508   z  M 688.44651 98.161955   L 690.95964 98.161955   L 690.95964 100.67508   L 688.44651 100.67508   z  M 693.47276 98.161955   L 695.94838 98.161955   L 695.94838 100.67508   L 693.47276 100.67508   z  M 698.4615 98.161955   L 700.97463 98.161955   L 700.97463 100.67508   L 698.4615 100.67508   z  M 703.45025 98.161955   L 705.96337 98.161955   L 705.96337 100.67508   L 703.45025 100.67508   z  M 708.4765 98.161955   L 710.95212 98.161955   L 710.95212 100.67508   L 708.4765 100.67508   z  M 713.46524 98.161955   L 715.97837 98.161955   L 715.97837 100.67508   L 713.46524 100.67508   z  M 718.45398 98.161955   L 720.96711 98.161955   L 720.96711 100.67508   L 718.45398 100.67508   z  M 723.48024 98.161955   L 725.95585 98.161955   L 725.95585 1
 00.67508   L 723.48024 100.67508   z  M 728.46898 98.161955   L 730.98211 98.161955   L 730.98211 100.67508   L 728.46898 100.67508   z  M 733.45772 98.161955   L 735.97085 98.161955   L 735.97085 100.67508   L 733.45772 100.67508   z  M 738.48397 98.161955   L 740.95959 98.161955   L 740.95959 100.67508   L 738.48397 100.67508   z  M 743.47272 98.161955   L 745.98584 98.161955   L 745.98584 100.67508   L 743.47272 100.67508   z  M 748.46146 98.161955   L 750.97459 98.161955   L 750.97459 100.67508   L 748.46146 100.67508   z  M 753.48771 98.161955   L 755.96333 98.161955   L 755.96333 100.67508   L 753.48771 100.67508   z  M 758.47646 98.161955   L 760.98958 98.161955   L 760.98958 100.67508   L 758.47646 100.67508   z  M 763.4652 98.161955   L 765.97832 98.161955   L 765.97832 100.67508   L 763.4652 100.67508   z  M 768.49145 98.161955   L 770.96707 98.161955   L 770.96707 100.67508   L 768.49145 100.67508   z  M 773.48019 98.161955   L 774.83053 98.161955   L 775.65574 98.199464 
   L 776.14336 98.274483   L 775.76826 100.7501   L 775.54321 100.71259   L 774.83053 100.67508   L 773.48019 100.67508   z  M 778.88154 99.137198   L 778.95656 99.174707   L 779.66924 99.624819   C 779.74425 99.662328 779.78176 99.699838 779.81927 99.737347   L 780.94455 100.63757   C 780.98206 100.71259 781.05708 100.7501 781.09459 100.82512   L 781.28214 101.01266   L 779.33165 102.58806   L 779.18161 102.40051   L 779.33165 102.58806   L 778.24388 101.65032   L 778.39392 101.76285   L 777.86879 101.46278   L 777.79377 101.42527   z  M 782.82002 103.33824   L 782.85753 103.45077   L 783.1576 104.23847   L 783.38266 105.10118   L 783.5327 105.9639   L 783.5327 106.22646   L 781.05708 106.33899   L 781.05708 106.33899   L 780.98206 105.70133   L 780.83202 105.10118   L 780.60697 104.53854   L 780.56946 104.42602   z  M 783.57021 108.7771   L 783.57021 111.29023   L 781.09459 111.29023   L 781.09459 108.7771   z  M 783.57021 113.80335   L 783.57021 116.27897   L 781.09459 116.27897  
  L 781.09459 113.80335   z  M 783.57021 118.79209   L 783.57021 121.30522   L 781.09459 121.30522   L 781.09459 118.79209   z  M 783.57021 123.78084   L 783.57021 126.29396   L 781.09459 126.29396   L 781.09459 123.78084   z  M 783.57021 128.80709   L 783.57021 131.28271   L 781.09459 131.28271   L 781.09459 128.80709   z  M 783.57021 133.79583   L 783.57021 136.30896   L 781.09459 136.30896   L 781.09459 133.79583   z  M 783.30764 139.08465   L 783.19511 139.42223   L 782.93255 140.24744   L 782.55745 140.99763   L 782.14485 141.7103   L 780.00682 140.39748   L 780.30689 139.94736   L 780.56946 139.38472   L 780.79452 138.78457   L 780.86953 138.44699   z  M 780.15686 143.81083   L 779.81927 144.07339   L 779.06909 144.56101   L 778.28139 144.93611   L 777.56871 145.19867   L 776.74351 142.83558   L 777.23113 142.64804   L 777.75626 142.42298   L 778.24388 142.12291   L 778.54395 141.86034   z  M 774.68049 145.64878   L 772.20488 145.64878   L 772.20488 143.13566   L 774.68049 143.
 13566   z  M 769.69175 145.64878   L 767.17862 145.64878   L 767.17862 143.13566   L 769.69175 143.13566   z  M 764.70301 145.64878   L 762.18988 145.64878   L 762.18988 143.13566   L 764.70301 143.13566   z  M 759.67675 145.64878   L 757.20114 145.64878   L 757.20114 143.13566   L 759.67675 143.13566   z  M 754.68801 145.64878   L 752.17489 145.64878   L 752.17489 143.13566   L 754.68801 143.13566   z  M 749.69927 145.64878   L 747.18614 145.64878   L 747.18614 143.13566   L 749.69927 143.13566   z  M 744.67302 145.64878   L 742.1974 145.64878   L 742.1974 143.13566   L 744.67302 143.13566   z  M 739.68427 145.64878   L 737.17115 145.64878   L 737.17115 143.13566   L 739.68427 143.13566   z  M 734.69553 145.64878   L 732.1824 145.64878   L 732.1824 143.13566   L 734.69553 143.13566   z  M 729.66928 145.64878   L 727.19366 145.64878   L 727.19366 143.13566   L 729.66928 143.13566   z  M 724.68054 145.64878   L 722.16741 145.64878   L 722.16741 143.13566   L 724.68054 143.13566   z  
 M 719.69179 145.64878   L 717.17867 145.64878   L 717.17867 143.13566   L 719.69179 143.13566   z  M 714.66554 145.64878   L 712.18992 145.64878   L 712.18992 143.13566   L 714.66554 143.13566   z  M 709.6768 145.64878   L 707.16367 145.64878   L 707.16367 143.13566   L 709.6768 143.13566   z  M 704.68806 145.64878   L 702.17493 145.64878   L 702.17493 143.13566   L 704.68806 143.13566   z  M 699.6618 145.64878   L 697.18619 145.64878   L 697.18619 143.13566   L 699.6618 143.13566   z  M 694.67306 145.64878   L 692.15993 145.64878   L 692.15993 143.13566   L 694.67306 143.13566   z  M 689.68432 145.64878   L 687.17119 145.64878   L 687.17119 143.13566   L 689.68432 143.13566   z  M 684.65807 145.64878   L 682.18245 145.64878   L 682.18245 143.13566   L 684.65807 143.13566   z  M 679.66932 145.64878   L 677.1562 145.64878   L 677.1562 143.13566   L 679.66932 143.13566   z  M 674.68058 145.64878   L 672.16745 145.64878   L 672.16745 143.13566   L 674.68058 143.13566   z  M 669.65433 1
 45.64878   L 667.17871 145.64878   L 667.17871 143.13566   L 669.65433 143.13566   z  M 664.66558 145.64878   L 662.15246 145.64878   L 662.15246 143.13566   L 664.66558 143.13566   z  M 659.67684 145.64878   L 657.16372 145.64878   L 657.16372 143.13566   L 659.67684 143.13566   z  M 654.65059 145.64878   L 652.17497 145.64878   L 652.17497 143.13566   L 654.65059 143.13566   z  M 649.66185 145.64878   L 647.14872 145.64878   L 647.14872 143.13566   L 649.66185 143.13566   z  M 644.59809 145.61128   L 644.33552 145.61128   L 643.47281 145.46124   L 642.6476 145.23618   L 641.82239 144.97362   L 641.70987 144.8986   L 642.68511 142.61053   L 642.68511 142.61053   L 643.28526 142.83558   L 643.8479 142.98562   L 644.48556 143.09815   L 644.71061 143.09815   z  M 639.38429 143.39822   L 639.08421 143.13566   C 639.00919 143.09815 638.97168 143.06064 638.89667 142.98562   L 637.99644 141.86034   L 637.54633 141.14766   L 639.64685 139.83484   L 639.94693 140.28495   L 640.84715 141.410
 23   L 640.6596 141.22268   L 640.95968 141.44774   z  M 636.57109 138.29695   L 636.49607 137.84684   L 636.42105 136.94662   L 638.93417 136.83409   L 638.97168 137.47175   L 639.0467 137.92186   z"
-       id="path36" />
-    <text
-       xml:space="preserve"
-       x="644.23405"
-       y="130.80306"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text38">SQL,Python</text>
-    <path
-       style="fill:#bfbfbf;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 67.254255 361.62759   C 67.254255 355.6636 72.055451 350.86241 78.019437 350.86241   L 772.46744 350.86241   C 778.43143 350.86241 783.23262 355.6636 783.23262 361.62759   L 783.23262 404.72583   C 783.23262 410.68981 778.43143 415.49101 772.46744 415.49101   L 78.019437 415.49101   C 72.055451 415.49101 67.254255 410.68981 67.254255 404.72583   z"
-       id="path40" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 67.254255 361.62759   C 67.254255 355.6636 72.055451 350.86241 78.019437 350.86241   L 772.46744 350.86241   C 778.43143 350.86241 783.23262 355.6636 783.23262 361.62759   L 783.23262 404.72583   C 783.23262 410.68981 778.43143 415.49101 772.46744 415.49101   L 78.019437 415.49101   C 72.055451 415.49101 67.254255 410.68981 67.254255 404.72583   z"
-       id="path42" />
-    <text
-       xml:space="preserve"
-       x="79.454242"
-       y="390.14011"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text44">Storage </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 356.48881 365.20973   C 356.48881 360.2585 360.50231 356.22624 365.45354 356.22624   L 449.90583 356.22624   C 454.87582 356.22624 458.88932 360.2585 458.88932 365.20973   L 458.88932 401.12493   C 458.88932 406.09492 454.87582 410.10842 449.90583 410.10842   L 365.45354 410.10842   C 360.50231 410.10842 356.48881 406.09492 356.48881 401.12493   z"
-       id="path46" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 356.48881 365.20973   C 356.48881 360.2585 360.50231 356.22624 365.45354 356.22624   L 449.90583 356.22624   C 454.87582 356.22624 458.88932 360.2585 458.88932 365.20973   L 458.88932 401.12493   C 458.88932 406.09492 454.87582 410.10842 449.90583 410.10842   L 365.45354 410.10842   C 360.50231 410.10842 356.48881 406.09492 356.48881 401.12493   z"
-       id="path48" />
-    <text
-       xml:space="preserve"
-       x="376.31276"
-       y="392.09071"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text50">HDFS </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 225.39365 365.20973   C 225.39365 360.2585 229.42591 356.22624 234.37714 356.22624   L 331.11374 356.22624   C 336.06497 356.22624 340.09723 360.2585 340.09723 365.20973   L 340.09723 401.12493   C 340.09723 406.09492 336.06497 410.10842 331.11374 410.10842   L 234.37714 410.10842   C 229.42591 410.10842 225.39365 406.09492 225.39365 401.12493   z"
-       id="path52" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 225.39365 365.20973   C 225.39365 360.2585 229.42591 356.22624 234.37714 356.22624   L 331.11374 356.22624   C 336.06497 356.22624 340.09723 360.2585 340.09723 365.20973   L 340.09723 401.12493   C 340.09723 406.09492 336.06497 410.10842 331.11374 410.10842   L 234.37714 410.10842   C 229.42591 410.10842 225.39365 406.09492 225.39365 401.12493   z"
-       id="path54" />
-    <text
-       xml:space="preserve"
-       x="253.91802"
-       y="378.58735"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text56">Local </text>
-    <text
-       xml:space="preserve"
-       x="257.51892"
-       y="405.59407"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text58">Files </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 472.01759 366.39128   C 472.01759 361.44004 476.03109 357.42654 480.98232 357.42654   L 565.15329 357.42654   C 570.12328 357.42654 574.13678 361.44004 574.13678 366.39128   L 574.13678 402.32523   C 574.13678 407.27646 570.12328 411.28996 565.15329 411.28996   L 480.98232 411.28996   C 476.03109 411.28996 472.01759 407.27646 472.01759 402.32523   z"
-       id="path60" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 472.01759 366.39128   C 472.01759 361.44004 476.03109 357.42654 480.98232 357.42654   L 565.15329 357.42654   C 570.12328 357.42654 574.13678 361.44004 574.13678 366.39128   L 574.13678 402.32523   C 574.13678 407.27646 570.12328 411.28996 565.15329 411.28996   L 480.98232 411.28996   C 476.03109 411.28996 472.01759 407.27646 472.01759 402.32523   z"
-       id="path62" />
-    <text
-       xml:space="preserve"
-       x="508.21008"
-       y="393.27592"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text64">S3</text>
-    <path
-       style="fill:#c3d69b;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 67.254255 291.59764   C 67.254255 285.63366 72.055451 280.79495 78.019437 280.79495   L 772.46744 280.79495   C 778.43143 280.79495 783.23262 285.63366 783.23262 291.59764   L 783.23262 334.69588   C 783.23262 340.65987 778.43143 345.46106 772.46744 345.46106   L 78.019437 345.46106   C 72.055451 345.46106 67.254255 340.65987 67.254255 334.69588   z"
-       id="path66" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 67.254255 291.59764   C 67.254255 285.63366 72.055451 280.79495 78.019437 280.79495   L 772.46744 280.79495   C 778.43143 280.79495 783.23262 285.63366 783.23262 291.59764   L 783.23262 334.69588   C 783.23262 340.65987 778.43143 345.46106 772.46744 345.46106   L 78.019437 345.46106   C 72.055451 345.46106 67.254255 340.65987 67.254255 334.69588   z"
-       id="path68" />
-    <text
-       xml:space="preserve"
-       x="79.454242"
-       y="308.99647"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text70">Cluster</text>
-    <text
-       xml:space="preserve"
-       x="79.454242"
-       y="333.00247"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text72">Manager </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 412.00264 295.17979   C 412.00264 290.2098 416.01614 286.1963 420.96737 286.1963   L 564.19681 286.1963   C 569.16679 286.1963 573.18029 290.2098 573.18029 295.17979   L 573.18029 331.09498   C 573.18029 336.04622 569.16679 340.07847 564.19681 340.07847   L 420.96737 340.07847   C 416.01614 340.07847 412.00264 336.04622 412.00264 331.09498   z"
-       id="path74" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 412.00264 295.17979   C 412.00264 290.2098 416.01614 286.1963 420.96737 286.1963   L 564.19681 286.1963   C 569.16679 286.1963 573.18029 290.2098 573.18029 295.17979   L 573.18029 331.09498   C 573.18029 336.04622 569.16679 340.07847 564.19681 340.07847   L 420.96737 340.07847   C 416.01614 340.07847 412.00264 336.04622 412.00264 331.09498   z"
-       id="path76" />
-    <text
-       xml:space="preserve"
-       x="462.29091"
-       y="322.04981"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text78">YARN </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 588.70916 295.19854   C 588.70916 290.2098 592.72266 286.1963 597.6739 286.1963   L 763.24014 286.1963   C 768.19138 286.1963 772.20488 290.2098 772.20488 295.19854   L 772.20488 331.09498   C 772.20488 336.04622 768.19138 340.09723 763.24014 340.09723   L 597.6739 340.09723   C 592.72266 340.09723 588.70916 336.04622 588.70916 331.09498   z"
-       id="path80" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 588.70916 295.19854   C 588.70916 290.2098 592.72266 286.1963 597.6739 286.1963   L 763.24014 286.1963   C 768.19138 286.1963 772.20488 290.2098 772.20488 295.19854   L 772.20488 331.09498   C 772.20488 336.04622 768.19138 340.09723 763.24014 340.09723   L 597.6739 340.09723   C 592.72266 340.09723 588.70916 336.04622 588.70916 331.09498   z"
-       id="path82" />
-    <text
-       xml:space="preserve"
-       x="658.31057"
-       y="322.04981"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text84">EC2 </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 237.67796 295.17979   C 237.67796 290.2098 241.71022 286.1963 246.66145 286.1963   L 391.44752 286.1963   C 396.39875 286.1963 400.41225 290.2098 400.41225 295.17979   L 400.41225 331.09498   C 400.41225 336.04622 396.39875 340.07847 391.44752 340.07847   L 246.66145 340.07847   C 241.71022 340.07847 237.67796 336.04622 237.67796 331.09498   z"
-       id="path86" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 237.67796 295.17979   C 237.67796 290.2098 241.71022 286.1963 246.66145 286.1963   L 391.44752 286.1963   C 396.39875 286.1963 400.41225 290.2098 400.41225 295.17979   L 400.41225 331.09498   C 400.41225 336.04622 396.39875 340.07847 391.44752 340.07847   L 246.66145 340.07847   C 241.71022 340.07847 237.67796 336.04622 237.67796 331.09498   z"
-       id="path88" />
-    <text
-       xml:space="preserve"
-       x="285.42287"
-       y="322.04981"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text90">Direct</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 705.2507 365.22849   C 705.2507 360.27725 709.3017 356.22624 714.25294 356.22624   L 763.24014 356.22624   C 768.19138 356.22624 772.20488 360.27725 772.20488 365.22849   L 772.20488 401.12493   C 772.20488 406.11367 768.19138 410.12717 763.24014 410.12717   L 714.25294 410.12717   C 709.3017 410.12717 705.2507 406.11367 705.2507 401.12493   z"
-       id="path92" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 705.2507 365.22849   C 705.2507 360.27725 709.3017 356.22624 714.25294 356.22624   L 763.24014 356.22624   C 768.19138 356.22624 772.20488 360.27725 772.20488 365.22849   L 772.20488 401.12493   C 772.20488 406.11367 768.19138 410.12717 763.24014 410.12717   L 714.25294 410.12717   C 709.3017 410.12717 705.2507 406.11367 705.2507 401.12493   z"
-       id="path94" />
-    <text
-       xml:space="preserve"
-       x="726.42582"
-       y="392.09071"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text96">...</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 588.70916 366.39128   C 588.70916 361.44004 592.72266 357.42654 597.6739 357.42654   L 681.84486 357.42654   C 686.7961 357.42654 690.8096 361.44004 690.8096 366.39128   L 690.8096 402.32523   C 690.8096 407.27646 686.7961 411.28996 681.84486 411.28996   L 597.6739 411.28996   C 592.72266 411.28996 588.70916 407.27646 588.70916 402.32523   z"
-       id="path98" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 588.70916 366.39128   C 588.70916 361.44004 592.72266 357.42654 597.6739 357.42654   L 681.84486 357.42654   C 686.7961 357.42654 690.8096 361.44004 690.8096 366.39128   L 690.8096 402.32523   C 690.8096 407.27646 686.7961 411.28996 681.84486 411.28996   L 597.6739 411.28996   C 592.72266 411.28996 588.70916 407.27646 588.70916 402.32523   z"
-       id="path100" />
-    <text
-       xml:space="preserve"
-       x="610.33872"
-       y="393.27592"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text102">JDBC</text>
-    <text
-       xml:space="preserve"
-       x="66.875322"
-       y="177.50977"
-       style="font-size:13.803439px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text104">JobGraphs</text>
-    <text
-       xml:space="preserve"
-       x="30.416239"
-       y="194.01388"
-       style="font-size:13.803439px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text106">(generic data stream</text>
-    <text
-       xml:space="preserve"
-       x="70.476219"
-       y="210.51799"
-       style="font-size:13.803439px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text108">program)</text>
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 93.585815 151.16266   C 93.585815 147.27106 96.745977 144.1109 100.63757 144.1109   C 104.52917 144.1109 107.68933 147.27106 107.68933 151.16266   C 107.68933 155.05425 104.52917 158.21442 100.63757 158.21442   C 96.745977 158.21442 93.585815 155.05425 93.585815 151.16266 "
-       id="path110" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 93.585815 151.16266   C 93.585815 147.27106 96.745977 144.1109 100.63757 144.1109   C 104.52917 144.1109 107.68933 147.27106 107.68933 151.16266   C 107.68933 155.05425 104.52917 158.21442 100.63757 158.21442   C 96.745977 158.21442 93.585815 155.05425 93.585815 151.16266  "
-       id="path112" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 130.91699 151.16266   C 130.91699 147.27106 134.06777 144.1109 137.96875 144.1109   C 141.86034 144.1109 145.01113 147.27106 145.01113 151.16266   C 145.01113 155.05425 141.86034 158.21442 137.96875 158.21442   C 134.06777 158.21442 130.91699 155.05425 130.91699 151.16266 "
-       id="path114" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 130.91699 151.16266   C 130.91699 147.27106 134.06777 144.1109 137.96875 144.1109   C 141.86034 144.1109 145.01113 147.27106 145.01113 151.16266   C 145.01113 155.05425 141.86034 158.21442 137.96875 158.21442   C 134.06777 158.21442 130.91699 155.05425 130.91699 151.16266  "
-       id="path116" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 113.7002 123.99652   C 113.7002 120.10492 116.90725 116.94476 120.85511 116.94476   C 124.81234 116.94476 128.01002 120.10492 128.01002 123.99652   C 128.01002 127.88811 124.81234 131.04827 120.85511 131.04827   C 116.90725 131.04827 113.7002 127.88811 113.7002 123.99652 "
-       id="path118" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 113.7002 123.99652   C 113.7002 120.10492 116.90725 116.94476 120.85511 116.94476   C 124.81234 116.94476 128.01002 120.10492 128.01002 123.99652   C 128.01002 127.88811 124.81234 131.04827 120.85511 131.04827   C 116.90725 131.04827 113.7002 127.88811 113.7002 123.99652  "
-       id="path120" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 113.7002 96.005167   C 113.7002 92.113573 116.90725 88.953411 120.85511 88.953411   C 124.81234 88.953411 128.01002 92.113573 128.01002 96.005167   C 128.01002 99.896762 124.81234 103.05692 120.85511 103.05692   C 116.90725 103.05692 113.7002 99.896762 113.7002 96.005167 "
-       id="path122" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 113.7002 96.005167   C 113.7002 92.113573 116.90725 88.953411 120.85511 88.953411   C 124.81234 88.953411 128.01002 92.113573 128.01002 96.005167   C 128.01002 99.896762 124.81234 103.05692 120.85511 103.05692   C 116.90725 103.05692 113.7002 99.896762 113.7002 96.005167  "
-       id="path124" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 105.06367 145.63003   L 119.15781 131.53589   L 120.26434 132.64242   L 106.1702 146.73656   z  M 113.79397 132.6518   L 120.76133 131.0389   L 119.14843 138.00626   C 119.05466 138.42824 118.63268 138.6908 118.2107 138.59703   C 117.78872 138.49388 117.52615 138.08127 117.6293 137.65929   L 118.95151 131.91099   L 119.88924 132.84872   L 114.14094 134.17093   C 113.71896 134.27408 113.30635 134.01151 113.2032 133.58953   C 113.10943 133.16755 113.37199 132.74557 113.79397 132.6518   z"
-       id="path126" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 119.97364 117.14168   L 120.16119 104.71671   L 121.71782 104.74484   L 121.53028 117.16981   z  M 117.08542 109.25534   L 120.95826 103.25385   L 124.66231 109.37725   C 124.87799 109.74296 124.76546 110.22121 124.39036 110.44626   C 124.02465 110.67132 123.5464 110.54942 123.32135 110.1837   L 120.27371 105.12932   L 121.59592 105.15745   L 118.39825 110.10868   C 118.16381 110.4744 117.67619 110.57755 117.31047 110.34311   C 116.95414 110.10868 116.85099 109.62106 117.08542 109.25534   z"
-       id="path128" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 74.924916 151.16266   C 74.924916 147.27106 78.085078 144.1109 81.976672 144.1109   C 85.868267 144.1109 89.028429 147.27106 89.028429 151.16266   C 89.028429 155.05425 85.868267 158.21442 81.976672 158.21442   C 78.085078 158.21442 74.924916 155.05425 74.924916 151.16266 "
-       id="path130" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 74.924916 151.16266   C 74.924916 147.27106 78.085078 144.1109 81.976672 144.1109   C 85.868267 144.1109 89.028429 147.27106 89.028429 151.16266   C 89.028429 155.05425 85.868267 158.21442 81.976672 158.21442   C 78.085078 158.21442 74.924916 155.05425 74.924916 151.16266  "
-       id="path132" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 56.264017 151.16266   C 56.264017 147.27106 59.414802 144.1109 63.315774 144.1109   C 67.207368 144.1109 70.36753 147.27106 70.36753 151.16266   C 70.36753 155.05425 67.207368 158.21442 63.315774 158.21442   C 59.414802 158.21442 56.264017 155.05425 56.264017 151.16266 "
-       id="path134" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 56.264017 151.16266   C 56.264017 147.27106 59.414802 144.1109 63.315774 144.1109   C 67.207368 144.1109 70.36753 147.27106 70.36753 151.16266   C 70.36753 155.05425 67.207368 158.21442 63.315774 158.21442   C 59.414802 158.21442 56.264017 155.05425 56.264017 151.16266  "
-       id="path136" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 37.603118 151.16266   C 37.603118 147.27106 40.753903 144.1109 44.654875 144.1109   C 48.546469 144.1109 51.697254 147.27106 51.697254 151.16266   C 51.697254 155.05425 48.546469 158.21442 44.654875 158.21442   C 40.753903 158.21442 37.603118 155.05425 37.603118 151.16266 "
-       id="path138" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 37.603118 151.16266   C 37.603118 147.27106 40.753903 144.1109 44.654875 144.1109   C 48.546469 144.1109 51.697254 147.27106 51.697254 151.16266   C 51.697254 155.05425 48.546469 158.21442 44.654875 158.21442   C 40.753903 158.21442 37.603118 155.05425 37.603118 151.16266  "
-       id="path140" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 76.378403 123.99652   C 76.378403 120.10492 79.576074 116.94476 83.53331 116.94476   C 87.481169 116.94476 90.688218 120.10492 90.688218 123.99652   C 90.688218 127.88811 87.481169 131.04827 83.53331 131.04827   C 79.576074 131.04827 76.378403 127.88811 76.378403 123.99652 "
-       id="path142" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 76.378403 123.99652   C 76.378403 120.10492 79.576074 116.94476 83.53331 116.94476   C 87.481169 116.94476 90.688218 120.10492 90.688218 123.99652   C 90.688218 127.88811 87.481169 131.04827 83.53331 131.04827   C 79.576074 131.04827 76.378403 127.88811 76.378403 123.99652  "
-       id="path144" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 149.57789 151.16266   C 149.57789 147.27106 152.72867 144.1109 156.62965 144.1109   C 160.52124 144.1109 163.6814 147.27106 163.6814 151.16266   C 163.6814 155.05425 160.52124 158.21442 156.62965 158.21442   C 152.72867 158.21442 149.57789 155.05425 149.57789 151.16266 "
-       id="path146" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 149.57789 151.16266   C 149.57789 147.27106 152.72867 144.1109 156.62965 144.1109   C 160.52124 144.1109 163.6814 147.27106 163.6814 151.16266   C 163.6814 155.05425 160.52124 158.21442 156.62965 158.21442   C 152.72867 158.21442 149.57789 155.05425 149.57789 151.16266  "
-       id="path148" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 76.378403 96.005167   C 76.378403 92.113573 79.576074 88.953411 83.53331 88.953411   C 87.481169 88.953411 90.688218 92.113573 90.688218 96.005167   C 90.688218 99.896762 87.481169 103.05692 83.53331 103.05692   C 79.576074 103.05692 76.378403 99.896762 76.378403 96.005167 "
-       id="path150" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 76.378403 96.005167   C 76.378403 92.113573 79.576074 88.953411 83.53331 88.953411   C 87.481169 88.953411 90.688218 92.113573 90.688218 96.005167   C 90.688218 99.896762 87.481169 103.05692 83.53331 103.05692   C 79.576074 103.05692 76.378403 99.896762 76.378403 96.005167  "
-       id="path152" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 81.723484 143.37009   L 119.11092 130.77633   L 119.60792 132.25795   L 82.229861 144.85171   z  M 113.80335 129.38848   L 120.76133 131.04827   L 116.2227 136.57152   C 115.95076 136.89973 115.45376 136.95599 115.12556 136.67467   C 114.78797 136.40273 114.74108 135.91511 115.01303 135.57753   L 118.75458 131.02014   L 119.17656 132.2767   L 113.43764 130.90761   C 113.02503 130.81384 112.76247 130.39186 112.86562 129.96988   C 112.95939 129.5479 113.38137 129.29471 113.80335 129.38848   z"
-       id="path154" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 133.2707 145.45186   L 90.266238 128.77896   L 89.69422 130.23244   L 132.70806 146.91473   z  M 95.630074 127.63492   L 88.606449 128.97588   L 92.891892 134.69606   C 93.14508 135.04302 93.632701 135.10866 93.979663 134.85547   C 94.326624 134.59291 94.401643 134.10528 94.139077 133.75832   L 90.603822 129.03215   L 90.125578 130.26995   L 95.920771 129.16343   C 96.342751 129.08841 96.624071 128.67581 96.539675 128.25383   C 96.464657 127.83185 96.052054 127.55053 95.630074 127.63492   z"
-       id="path156" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 152.08164 145.53626   L 127.58804 129.14467   L 126.72532 130.43875   L 151.21892 146.83033   z  M 133.07378 129.19156   L 125.92825 128.9665   L 128.86335 135.49313   C 129.04152 135.88698 129.50101 136.05577 129.89486 135.88698   C 130.28871 135.70881 130.46688 135.23994 130.28871 134.84609   L 127.86936 129.47288   L 127.13792 130.57003   L 133.02689 130.75757   C 133.45825 130.76695 133.82396 130.42937 133.83334 129.99801   C 133.84272 129.56665 133.50513 129.21031 133.07378 129.19156   z"
-       id="path158" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 62.762511 143.55764   L 76.856647 129.4635   L 77.963173 130.56065   L 63.869036 144.66416   z  M 71.492811 130.57941   L 78.450794 128.9665   L 76.84727 135.93386   C 76.753496 136.35584 76.331516 136.61841 75.909536 136.52464   C 75.487556 136.42149 75.22499 135.99951 75.328141 135.5869   L 76.650346 129.8386   L 77.588079 130.77633   L 71.839772 132.09853   C 71.417792 132.20168 71.005189 131.93912 70.902038 131.51714   C 70.808265 131.09516 71.070831 130.67318 71.492811 130.57941   z"
-       id="path160" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 44.326668 143.39822   L 76.791006 128.86335   L 77.428664 130.28871   L 44.973704 144.82358   z  M 71.370905 127.99126   L 78.460171 128.97588   L 74.474804 134.90236   C 74.230993 135.26807 73.743371 135.36185 73.387033 135.11804   C 73.030694 134.8836 72.93692 134.39598 73.171354 134.03964   L 76.462799 129.1353   L 77.006684 130.34497   L 71.164604 129.53852   C 70.733246 129.48226 70.433172 129.08841 70.489436 128.65705   C 70.555077 128.23507 70.948925 127.935 71.370905 127.99126   z"
-       id="path162" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 82.642463 117.14168   L 82.83001 104.71671   L 84.396025 104.74484   L 84.208478 117.16981   z  M 79.754244 109.25534   L 83.636461 103.25385   L 87.331131 109.37725   C 87.556187 109.74296 87.434282 110.22121 87.068566 110.44626   C 86.70285 110.67132 86.215228 110.54942 85.99955 110.1837   L 85.99955 110.1837   L 82.942538 105.12932   L 84.264742 105.15745   L 81.067071 110.10868   C 80.832637 110.4744 80.354393 110.57755 79.988677 110.34311   C 79.622961 110.10868 79.51981 109.62106 79.754244 109.25534   z"
-       id="path164" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 88.175092 118.37011   L 114.12218 101.14395   L 114.9849 102.4474   L 89.047184 119.67356   z  M 108.63644 101.17208   L 115.78197 100.97516   L 112.82811 107.48303   C 112.64994 107.87687 112.18107 108.05504 111.7966 107.87687   C 111.40275 107.69871 111.22458 107.22984 111.40275 106.83599   L 113.84086 101.47215   L 114.57229 102.5693   L 108.67395 102.73809   C 108.24259 102.74747 107.88625 102.40989 107.87687 101.97853   C 107.8675 101.54717 108.20508 101.18146 108.63644 101.17208   z"
-       id="path166" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 116.20395 118.37011   L 90.266238 101.14395   L 89.403523 102.4474   L 115.34123 119.67356   z  M 95.751979 101.17208   L 88.606449 100.97516   L 91.56031 107.48303   L 91.56031 107.48303   C 91.738479 107.87687 92.197969 108.05504 92.591817 107.87687   C 92.985665 107.69871 93.163834 107.22984 92.985665 106.83599   L 90.547558 101.47215   L 89.816125 102.5693   L 95.705093 102.73809   C 96.13645 102.74747 96.502166 102.40989 96.511543 101.97853   C 96.520921 101.54717 96.183337 101.18146 95.751979 101.17208   z"
-       id="path168" />
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 390.73484 13.822193   L 433.27044 13.822193   L 433.27044 56.35779   L 426.18117 63.447056   L 390.73484 63.447056  z "
-       id="path170" />
-    <path
-       style="fill:#cdcdcd;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 426.18117 63.447056   L 427.58777 57.783145   L 433.27044 56.35779  z "
-       id="path172" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.2565631px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 426.18117 63.447056   L 427.58777 57.783145   L 433.27044 56.35779   L 426.18117 63.447056   L 390.73484 63.447056   L 390.73484 13.822193   L 433.27044 13.822193   L 433.27044 56.35779  "
-       id="path174" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 18.342069   L 422.63654 18.342069  "
-       id="path176" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 22.843191   L 427.94411 22.843191  "
-       id="path178" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 27.363067   L 417.31021 27.363067  "
-       id="path180" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 31.882943   L 427.94411 31.882943  "
-       id="path182" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 36.384064   L 427.94411 36.384064  "
-       id="path184" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 40.90394   L 409.33948 40.90394  "
-       id="path186" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.07992 45.405062   L 422.63654 45.405062  "
-       id="path188" />
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 539.19683 12.88446   L 581.73242 12.88446   L 581.73242 55.420057   L 574.64316 62.509323   L 539.19683 62.509323  z "
-       id="path190" />
-    <path
-       style="fill:#cdcdcd;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 574.64316 62.509323   L 576.06851 56.826657   L 581.73242 55.420057  z "
-       id="path192" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.2565631px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 574.64316 62.509323   L 576.06851 56.826657   L 581.73242 55.420057   L 574.64316 62.509323   L 539.19683 62.509323   L 539.19683 12.88446   L 581.73242 12.88446   L 581.73242 55.420057  "
-       id="path194" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 17.385581   L 571.09852 17.385581  "
-       id="path196" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 21.905457   L 576.42485 21.905457  "
-       id="path198" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 26.406579   L 565.79095 26.406579  "
-       id="path200" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 30.926455   L 576.42485 30.926455  "
-       id="path202" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 35.427576   L 576.42485 35.427576  "
-       id="path204" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 39.947452   L 557.82022 39.947452  "
-       id="path206" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.54191 44.448573   L 571.09852 44.448573  "
-       id="path208" />
-    <text
-       xml:space="preserve"
-       x="364.78497"
-       y="80.72277"
-       style="font-size:13.803439px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text210">Java Program</text>
-    <text
-       xml:space="preserve"
-       x="512.48505"
-       y="81.674089"
-       style="font-size:13.803439px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text212">Scala Program</text>
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 203.20687 48.968449   L 203.20687 56.620356   L 223.62133 56.620356   L 223.62133 48.968449   L 203.20687 48.968449  z "
-       id="path214" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 203.20687 48.968449   L 223.62133 48.968449   L 223.62133 56.620356   L 203.20687 56.620356  z "
-       id="path216" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 244.0358 48.968449   L 244.0358 56.620356   L 264.45026 56.620356   L 264.45026 48.968449   L 244.0358 48.968449  z "
-       id="path218" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 244.0358 48.968449   L 264.45026 48.968449   L 264.45026 56.620356   L 244.0358 56.620356  z "
-       id="path220" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 223.62133 31.967339   L 223.62133 39.619245   L 244.0358 39.619245   L 244.0358 31.967339   L 223.62133 31.967339  z "
-       id="path222" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 223.62133 31.967339   L 244.0358 31.967339   L 244.0358 39.619245   L 223.62133 39.619245  z "
-       id="path224" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 223.62133 15.622642   L 223.62133 23.274548   L 244.0358 23.274548   L 244.0358 15.622642   L 223.62133 15.622642  z "
-       id="path226" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 223.62133 15.622642   L 244.0358 15.622642   L 244.0358 23.274548   L 223.62133 23.274548  z "
-       id="path228" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 203.20687 66.35403   L 203.20687 74.005937   L 223.62133 74.005937   L 223.62133 66.35403   L 203.20687 66.35403  z "
-       id="path230" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 203.20687 66.35403   L 223.62133 66.35403   L 223.62133 74.005937   L 203.20687 74.005937  z "
-       id="path232" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 212.6311 66.485313   L 212.6311 61.552834   C 212.6311 61.121477 212.97806 60.774515 213.40942 60.774515   L 213.40942 60.774515   L 212.6311 61.552834   L 212.6311 58.092597   L 214.19711 58.092597   L 214.19711 61.552834   C 214.19711 61.984192 213.84077 62.331153 213.40942 62.331153   L 213.40942 62.331153   L 214.19711 61.552834   L 214.19711 66.485313   z  M 209.62097 62.678115   L 213.40942 56.620356   L 217.19786 62.678115   C 217.43229 63.043831 217.31976 63.522075 216.95405 63.756508   C 216.58833 63.981564 216.10071 63.869036 215.87566 63.50332   L 212.753 58.5052   L 214.07521 58.5052   L 210.95255 63.50332   C 210.71812 63.869036 210.23988 63.981564 209.87416 63.756508   C 209.50844 63.522075 209.39592 63.043831 209.62097 62.678115   z"
-       id="path234" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 255.02603 48.968449   L 255.02603 46.436569   C 255.02603 46.005211 254.67907 45.65825 254.24771 45.65825   L 233.83325 45.65825   L 234.61157 46.436569   L 234.61157 41.091487   L 233.04556 41.091487   L 233.04556 46.436569   C 233.04556 46.867926 233.4019 47.224265 233.83325 47.224265   L 254.24771 47.224265   L 253.4694 46.436569   L 253.4694 48.968449   z  M 237.6217 45.677004   L 233.83325 39.619245   L 230.04481 45.677004   C 229.81038 46.04272 229.9229 46.530342 230.28862 46.755398   C 230.65434 46.989831 231.14196 46.877303 231.36701 46.511587   L 234.48967 41.50409   L 233.16746 41.50409   L 236.29012 46.511587   C 236.52455 46.877303 237.00279 46.989831 237.36851 46.755398   C 237.73423 46.530342 237.84675 46.04272 237.6217 45.677004   z"
-       id="path236" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 212.6311 48.968449   L 212.6311 45.90206   C 212.6311 45.470703 212.97806 45.123741 213.40942 45.123741   L 233.83325 45.123741   L 233.04556 45.90206   L 233.04556 41.091487   L 234.61157 41.091487   L 234.61157 45.90206   C 234.61157 46.333418 234.26461 46.680379 233.83325 46.680379   L 213.40942 46.680379   L 214.19711 45.90206   L 214.19711 48.968449   z  M 230.04481 45.677004   L 233.83325 39.619245   L 237.6217 45.677004   C 237.84675 46.04272 237.73423 46.530342 237.36851 46.755398   C 237.00279 46.989831 236.52455 46.877303 236.29012 46.511587   L 233.16746 41.50409   L 234.48967 41.50409   L 231.36701 46.511587   C 231.14196 46.877303 230.65434 46.989831 230.28862 46.755398   C 229.9229 46.530342 229.81038 46.04272 230.04481 45.677004   z"
-       id="path238" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 233.04556 31.967339   L 233.04556 27.625632   C 233.04556 27.194275 233.38314 26.856691 233.80512 26.837936   L 233.80512 26.837936   L 233.04556 27.625632   L 233.04556 24.74679   L 234.61157 24.74679   L 234.61157 27.625632   C 234.61157 28.047612 234.27399 28.385196 233.85201 28.403951   L 233.85201 28.403951   L 234.61157 27.625632   L 234.61157 31.967339   z  M 230.04481 29.332307   L 233.83325 23.265171   L 237.6217 29.332307   C 237.84675 29.698024 237.73423 30.176268 237.36851 30.410701   C 237.00279 30.635757 236.52455 30.523229 236.29012 30.157513   L 233.16746 25.159393   L 234.48967 25.159393   L 231.36701 30.157513   C 231.14196 30.523229 230.65434 30.635757 230.28862 30.410701   C 229.9229 30.176268 229.81038 29.698024 230.04481 29.332307   z"
-       id="path240" />
-    <text
-       xml:space="preserve"
-       x="176.83757"
-       y="91.124374"
-       style="font-size:13.803439px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text242">Operator DAG</text>
-    <text
-       xml:space="preserve"
-       x="172.78656"
-       y="107.62849"
-       style="font-size:13.803439px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text244">(type agnostic)</text>
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 272.82422 92.029177   L 300.2623 92.029177   C 300.95623 92.029177 301.50011 92.573062 301.50011 93.266985   L 301.50011 130.55127   L 299.00574 130.55127   L 299.00574 93.266985   L 300.2623 94.523548   L 272.82422 94.523548   z  M 305.71991 123.68706   L 300.2623 133.04565   L 294.80469 123.68706   C 294.44835 123.08691 294.65466 122.31797 295.25481 121.98039   C 295.85495 121.62405 296.6239 121.83035 296.96148 122.4305   L 301.33132 129.93237   L 299.17453 129.93237   L 303.56313 122.4305   C 303.90071 121.83035 304.66965 121.62405 305.2698 121.98039   C 305.86995 122.31797 306.0575 123.08691 305.71991 123.68706   z"
-       id="path246" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 171.23016 145.47062   L 213.40942 145.47062   C 214.10334 145.47062 214.66598 146.02388 214.66598 146.7178   L 214.66598 200.34679   L 212.16223 200.34679   L 212.16223 146.7178   L 213.40942 147.96499   L 171.23016 147.96499   z  M 218.86703 193.4732   L 213.40942 202.8224   L 207.96118 193.4732   C 207.60484 192.87305 207.81115 192.11349 208.40192 191.75715   C 209.00207 191.41019 209.77101 191.61649 210.11797 192.20726   L 214.49719 199.70913   L 212.33102 199.70913   L 216.71024 192.20726   C 217.0572 191.61649 217.82614 191.41019 218.41691 191.75715   C 219.01706 192.11349 219.21399 192.87305 218.86703 193.4732   z"
-       id="path248" />
-  </g>
-</svg>


[40/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/add_operator.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/add_operator.html b/content/docs/0.9/internals/add_operator.html
deleted file mode 100644
index b6d0f9a..0000000
--- a/content/docs/0.9/internals/add_operator.html
+++ /dev/null
@@ -1,431 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: How to add a new Operator</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>How to add a new Operator</h1>
-
-
-
-<p>Operators in the Java API can be added in multiple different ways:</p>
-
-<ol>
-  <li>On the DataSet, as a specialization/combination of existing operators</li>
-  <li>As a custom extension operator</li>
-  <li>As a new runtime operator</li>
-</ol>
-
-<p>The first two approaches are typically more lightweight and easier to implement. Sometimes,
-new functionality does require a new runtime operator, or it is much more efficient to</p>
-
-<ul id="markdown-toc">
-  <li><a href="#implementing-a-new-operator-on-dataset" id="markdown-toc-implementing-a-new-operator-on-dataset">Implementing a new Operator on DataSet</a>    <ul>
-      <li><a href="#more-complex-operators" id="markdown-toc-more-complex-operators">More Complex Operators</a></li>
-    </ul>
-  </li>
-  <li><a href="#implementing-a-custom-extension-operator" id="markdown-toc-implementing-a-custom-extension-operator">Implementing a Custom Extension Operator</a></li>
-  <li><a href="#implementing-a-new-runtime-operator" id="markdown-toc-implementing-a-new-runtime-operator">Implementing a new Runtime Operator</a>    <ul>
-      <li><a href="#optimizercompiler" id="markdown-toc-optimizercompiler">Optimizer/Compiler</a></li>
-      <li><a href="#common-api" id="markdown-toc-common-api">Common API</a></li>
-      <li><a href="#java-api" id="markdown-toc-java-api">Java API</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="implementing-a-new-operator-on-dataset">Implementing a new Operator on DataSet</h2>
-
-<p>Many operators can be implemented as a specialization of another operator, or by means of a UDF.</p>
-
-<p>The simplest example are the <code>sum()</code>, <code>min()</code>, and <code>max()</code> functions on the
-<a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/DataSet.java">DataSet</a>.
-These functions simply call other operations with some pre-defined parameters:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="n">AggregateOperator</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="nf">sum</span> <span class="o">(</span><span class="kt">int</span> <span class="n">field</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="na">aggregate</span> <span class="o">(</span><span class="n">Aggregations</span><span class="o">.</span><span class="na">SUM</span><span class="o">,</span> <span class="n">field</span><span class="o">);</span>
-<span class="o">}</span></code></pre></div>
-
-<p>Some operations can be implemented as compositions of multiple other operators. An example is to implement a
-<em>count()</em> function through a combination of <em>map</em> and <em>aggregate</em>.</p>
-
-<p>A simple way to do this is to define a function on the <a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/DataSet.java">DataSet</a> that calls <em>map(…)</em> and <em>reduce(…)</em> in turn:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="nf">count</span><span class="o">()</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;()</span> <span class="o">{</span>
-                        <span class="kd">public</span> <span class="n">Long</span> <span class="nf">map</span><span class="o">(</span><span class="n">T</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-                            <span class="k">return</span> <span class="mi">1L</span><span class="o">;</span>
-                        <span class="o">}</span>
-                    <span class="o">})</span>
-               <span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="k">new</span> <span class="n">ReduceFunction</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;()</span> <span class="o">{</span>
-                        <span class="kd">public</span> <span class="n">Long</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Long</span> <span class="n">val1</span><span class="o">,</span> <span class="n">Long</span> <span class="n">val1</span><span class="o">)</span> <span class="o">{</span>
-                            <span class="k">return</span> <span class="n">val1</span> <span class="o">+</span> <span class="n">val2</span><span class="o">;</span>
-                        <span class="o">}</span>
-                    <span class="o">});</span>
-<span class="o">}</span></code></pre></div>
-
-<p>To define a new operator without altering the DataSet class is possible by putting the functions as static members
-into another class. The example of the <em>count()</em> operator would look the following way:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">static</span> <span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="nf">count</span><span class="o">(</span><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">data</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">data</span><span class="o">.</span><span class="na">map</span><span class="o">(...).</span><span class="na">reduce</span><span class="o">(...);</span>
-<span class="o">}</span></code></pre></div>
-
-<h3 id="more-complex-operators">More Complex Operators</h3>
-
-<p>A more complex example of an operation via specialization is the <a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/operators/AggregateOperator.java">Aggregation Operation</a> in the Java API. It is implemented by means of a <em>GroupReduce</em> UDF.</p>
-
-<p>The Aggregate Operation comes with its own operator in the <em>Java API</em>, but translates itself into a <a href="https://github.com/apache/flink/blob/master//flink-core/src/main/java/org/apache/flink/api/common/operators/base/GroupReduceOperatorBase.java">GroupReduceOperatorBase</a> in the <em>Common API</em>.
-The Java API aggregation operator is only a builder that takes the types of aggregations and the field positions, and used that information to
-parameterize the GroupReduce UDF that performs the aggregations.</p>
-
-<p>Because the operation is translated into a GroupReduce operation, it appears as a GroupReduceOperator in the optimizer and runtime.</p>
-
-<h2 id="implementing-a-custom-extension-operator">Implementing a Custom Extension Operator</h2>
-
-<p>The DataSet offers a method for custom operators: <code>DataSet&lt;X&gt; runOperation(CustomUnaryOperation&lt;T, X&gt; operation)</code>.
-The <em>CustomUnaryOperation</em> interface defines operators by means of the two functions:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kt">void</span> <span class="nf">setInput</span><span class="o">(</span><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">&gt;</span> <span class="n">inputData</span><span class="o">);</span>
-	
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">OUT</span><span class="o">&gt;</span> <span class="nf">createResult</span><span class="o">();</span></code></pre></div>
-
-<p>The <a href="https://github.com/apache/flink/blob/master//flink-staging/flink-spargel/src/main/java/org/apache/flink/spargel/java/VertexCentricIteration.java">VertexCentricIteration</a> operator is implemented that way. Below is an example how to implement the <em>count()</em> operator that way.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Counter</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="kd">implements</span> <span class="n">CustomUnaryOperation</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="o">{</span>
-
-    <span class="kd">private</span> <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">input</span><span class="o">;</span>
-
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setInput</span><span class="o">(</span><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">&gt;</span> <span class="n">inputData</span><span class="o">)</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="na">input</span> <span class="o">=</span> <span class="n">inputData</span><span class="o">;</span> <span class="o">}</span>
-
-    <span class="kd">public</span> <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="nf">createResult</span><span class="o">()</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="n">input</span><span class="o">.</span><span class="na">map</span><span class="o">(...).</span><span class="na">reduce</span><span class="o">(...);</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The CountOperator can be called in the following way:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">lines</span> <span class="o">=</span> <span class="o">...;</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">count</span> <span class="o">=</span> <span class="n">lines</span><span class="o">.</span><span class="na">runOperation</span><span class="o">(</span><span class="k">new</span> <span class="n">Counter</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;());</span></code></pre></div>
-
-<h2 id="implementing-a-new-runtime-operator">Implementing a new Runtime Operator</h2>
-
-<p>Adding an new runtime operator requires changes throughout the entire stack, from the API to the runtime:</p>
-
-<ul>
-  <li><em>Java API</em></li>
-  <li><em>Common API</em></li>
-  <li><em>Optimizer</em></li>
-  <li><em>Runtime</em></li>
-</ul>
-
-<p>We start the description bottom up, at the example of the <em>mapPartition()</em> function, which is like a <em>map</em>
-function, but invoked only once per parallel partition.</p>
-
-<p><strong>Runtime</strong></p>
-
-<p>Runtime Operators are implemented using the <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/operators/PactDriver.java">Driver</a> interface. The interface defines the methods that describe the operator towards the runtime. The <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/operators/MapDriver.java">MapDriver</a> serves as a simple example of how those operators work.</p>
-
-<p>The runtime works with the <code>MutableObjectIterator</code>, which describes data streams with the ability to reuse objects, to reduce pressure on the garbage collector.</p>
-
-<p>An implementation of the central <code>run()</code> method for the <em>mapPartition</em> operator could look the following way:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kt">void</span> <span class="nf">run</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    <span class="kd">final</span> <span class="n">MutableObjectIterator</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">taskContext</span><span class="o">.</span><span class="na">getInput</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
-    <span class="kd">final</span> <span class="n">MapPartitionFunction</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">,</span> <span class="n">OUT</span><span class="o">&gt;</span> <span class="n">function</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">taskContext</span><span class="o">.</span><span class="na">getStub</span><span class="o">();</span>
-    <span class="kd">final</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">OUT</span><span class="o">&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">taskContext</span><span class="o">.</span><span class="na">getOutputCollector</span><span class="o">();</span>
-    <span class="kd">final</span> <span class="n">TypeSerializer</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">&gt;</span> <span class="n">serializer</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">taskContext</span><span class="o">.</span><span class="na">getInputSerializer</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
-
-    <span class="c1">// we assume that the UDF takes a java.util.Iterator, so we wrap the MutableObjectIterator</span>
-    <span class="n">Iterator</span><span class="o">&lt;</span><span class="n">IN</span><span class="o">&gt;</span> <span class="n">iterator</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">MutableToRegularIteratorWrapper</span><span class="o">(</span><span class="n">input</span><span class="o">,</span> <span class="n">serializer</span><span class="o">);</span>
-
-    <span class="n">function</span><span class="o">.</span><span class="na">mapPartition</span><span class="o">(</span><span class="n">iterator</span><span class="o">,</span> <span class="n">output</span><span class="o">);</span>
-<span class="o">}</span></code></pre></div>
-
-<p>To increase efficiency, it is often beneficial to implement a <em>chained</em> version of an operator. Chained
-operators run in the same thread as their preceding operator, and work with nested function calls.
-This is very efficient, because it saves serialization/deserialization overhead.</p>
-
-<p>To learn how to implement a chained operator, take a look at the <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/operators/MapDriver.java">MapDriver</a> (regular) and the
-<a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/operators/chaining/ChainedMapDriver.java">ChainedMapDriver</a> (chained variant).</p>
-
-<h3 id="optimizercompiler">Optimizer/Compiler</h3>
-
-<p>This section does a minimal discussion of the important steps to add an operator. Please see the <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/Optimizer.java">Optimizer</a> for more details on how the optimizer works.
-To allow the optimizer to include a new operator in its planning, it needs a bit of information about it; in particular, the following information:</p>
-
-<ul>
-  <li>
-    <p><em><a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/operators/DriverStrategy.java">DriverStrategy</a></em>: The operation needs to be added to the Enum, to make it available to the optimizer. The parameters to the Enum entry define which class implements the runtime operator, its chained version, whether the operator accumulates records (and needs memory for that), and whether it requires a comparator (works on keys). For our example, we can add the entry
-~~~ java
-MAP_PARTITION(MapPartitionDriver.class, null /* or chained variant */, PIPELINED, false)
-~~~</p>
-  </li>
-  <li>
-    <p><em>Cost function</em>: The class <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/costs/CostEstimator.java">CostEstimator</a> needs to know how expensive the operation is to the system. The costs here refer to the non-UDF part of the operator. Since the operator does essentially no work (it forwards the record stream to the UDF), the costs are zero. We change the <code>costOperator(...)</code> method by adding the <em>MAP_PARTITION</em> constant to the switch statement similar to the <em>MAP</em> constant such that no cost is accounted for it.</p>
-  </li>
-  <li>
-    <p><em>OperatorDescriptor</em>: The operator descriptors define how an operation needs to be treated by the optimizer. They describe how the operation requires the input data to be (e.g., sorted or partitioned) and that way allows the optimizer to optimize the data movement, sorting, grouping in a global fashion. They do that by describing which <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/dataproperties/RequestedGlobalProperties.java">RequestedGlobalProperties</a> (partitioning, replication, etc) and which <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/dataproperties/RequestedLocalProperties.java">RequestedLocalProperties</a> (sorting, grouping, uniqueness) the operator has, as well as how the operator affects the existing <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/dataproperties/Glo
 balProperties.java">GlobalProperties</a> and <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/dataproperties/LocalProperties.java">LocalProperties</a>. In addition, it defines a few utility methods, for example to instantiate an operator candidate.
-Since the <em>mapPartition()</em> function is very simple (no requirements on partitioning/grouping), the descriptor is very simple. Other operators have more complex requirements, for example the <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/operators/HashJoinBuildFirstProperties.java">Hash Join 1</a>, <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/operators/HashJoinBuildSecondProperties.java">Hash Join 2</a>, <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/operators/SortMergeJoinDescriptor.java">SortMerge Join</a>).
-The code sample below explains (with comments) how to create a descriptor for the <em>MapPartitionOperator</em></p>
-
-    <div class="highlight"><pre><code class="language-java">  <span class="kd">public</span> <span class="n">DriverStrategy</span> <span class="nf">getStrategy</span><span class="o">()</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">MAP_PARTITION</span><span class="o">;</span>
-  <span class="o">}</span>
-
-  <span class="c1">// Instantiate the operator with the strategy over the input given in the form of the Channel</span>
-  <span class="kd">public</span> <span class="n">SingleInputPlanNode</span> <span class="nf">instantiate</span><span class="o">(</span><span class="n">Channel</span> <span class="n">in</span><span class="o">,</span> <span class="n">SingleInputNode</span> <span class="n">node</span><span class="o">)</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="k">new</span> <span class="nf">SingleInputPlanNode</span><span class="o">(</span><span class="n">node</span><span class="o">,</span> <span class="s">&quot;MapPartition&quot;</span><span class="o">,</span> <span class="n">in</span><span class="o">,</span> <span class="n">MAP_PARTITION</span><span class="o">);</span>
-  <span class="o">}</span>
-
-  <span class="c1">// The operation accepts data with default global properties (arbitrary distribution)</span>
-  <span class="kd">protected</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">RequestedGlobalProperties</span><span class="o">&gt;</span> <span class="nf">createPossibleGlobalProperties</span><span class="o">()</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">Collections</span><span class="o">.</span><span class="na">singletonList</span><span class="o">(</span><span class="k">new</span> <span class="nf">RequestedGlobalProperties</span><span class="o">());</span>
-  <span class="o">}</span>
-
-  <span class="c1">// The operation can accept data with any local properties. No grouping/sorting is necessary</span>
-  <span class="kd">protected</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">RequestedLocalProperties</span><span class="o">&gt;</span> <span class="nf">createPossibleLocalProperties</span><span class="o">()</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">Collections</span><span class="o">.</span><span class="na">singletonList</span><span class="o">(</span><span class="k">new</span> <span class="nf">RequestedLocalProperties</span><span class="o">());</span>
-  <span class="o">}</span>
-
-  <span class="c1">// the operation itself does not affect the existing global properties.</span>
-  <span class="c1">// The effect of the UDF&#39;s semantics// are evaluated separately (by interpreting the</span>
-  <span class="c1">// semantic assertions)</span>
-  <span class="kd">public</span> <span class="n">GlobalProperties</span> <span class="nf">computeGlobalProperties</span><span class="o">(</span><span class="n">GlobalProperties</span> <span class="n">gProps</span><span class="o">)</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">gProps</span><span class="o">;</span>
-  <span class="o">}</span>
-
-  <span class="c1">// since the operation can mess up all order, grouping, uniqueness, we cannot make any statements</span>
-  <span class="c1">// about how local properties are preserved</span>
-  <span class="kd">public</span> <span class="n">LocalProperties</span> <span class="nf">computeLocalProperties</span><span class="o">(</span><span class="n">LocalProperties</span> <span class="n">lProps</span><span class="o">)</span> <span class="o">{</span>
-      <span class="k">return</span> <span class="n">LocalProperties</span><span class="o">.</span><span class="na">EMPTY</span><span class="o">;</span>
-  <span class="o">}</span></code></pre></div>
-  </li>
-  <li>
-    <p><em>OptimizerNode</em>: The optimizer node is the place where all comes together. It creates the list of <em>OperatorDescriptors</em>, implements the result data set size estimation, and assigns a name to the operation. It is a relatively small class and can be more or less copied again from the <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/dag/MapNode.java">MapNode</a>.</p>
-  </li>
-</ul>
-
-<h3 id="common-api">Common API</h3>
-
-<p>To make the operation available to the higher-level APIs, it needs to be added to the Common API. The simplest way to do this is to add a
-base operator. Create a class <code>MapPartitionOperatorBase</code>, after the pattern of the <a href="https://github.com/apache/flink/blob/master//flink-core/src/main/java/org/apache/flink/api/common/operators/base/MapOperatorBase.java">MapOperatorBase</a>.</p>
-
-<p>In addition, the optimizer needs to know which OptimizerNode how to create an OptimizerNode from the OperatorBase. This happens in the class
-<code>GraphCreatingVisitor</code> in the <a href="https://github.com/apache/flink/blob/master//flink-optimizer/src/main/java/org/apache/flink/optimizer/Optimizer.java">Optimizer</a>.</p>
-
-<p><em>Note:</em> A pending idea is to allow to skip this step by unifying the OptimizerNode and the Common API operator. They essentially fulfill the
-same function. The Common API operator exists only in order for the <code>flink-java</code> and <code>flink-scala</code> packages to not have a dependency on the
-optimizer.</p>
-
-<h3 id="java-api">Java API</h3>
-
-<p>Create a Java API operator that is constructed in the same way as the <a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/operators/MapOperator.java">MapOperator</a>. The core method is the <code>translateToDataFlow(...)</code> method, which creates the Common API operator for the Java API operator.</p>
-
-<p>The final step is to add a function to the <code>DataSet</code> class:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="o">&lt;</span><span class="n">R</span><span class="o">&gt;</span> <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">R</span><span class="o">&gt;</span> <span class="nf">mapPartition</span><span class="o">(</span><span class="n">MapPartitionFunction</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">R</span><span class="o">&gt;</span> <span class="n">function</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="k">new</span> <span class="n">MapPartitionOperator</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">R</span><span class="o">&gt;(</span><span class="k">this</span><span class="o">,</span> <span class="n">function</span><span class="o">);</span>
-<span class="o">}</span></code></pre></div>
-
-<hr />
-
-<p><em>This documentation is maintained by the contributors of the individual components.
-We kindly ask anyone that adds and changes components to eventually provide a patch
-or pull request that updates these documents as well.</em></p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/coding_guidelines.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/coding_guidelines.html b/content/docs/0.9/internals/coding_guidelines.html
deleted file mode 100644
index ef5db14..0000000
--- a/content/docs/0.9/internals/coding_guidelines.html
+++ /dev/null
@@ -1,207 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Coding Guidelines</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Coding Guidelines</h1>
-
-
-
-<p>The <em>Coding Guidelines</em> are located <a href="http://flink.apache.org/coding-guidelines.html">on the project website</a>.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[07/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/fig/projects_dependencies.svg
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/fig/projects_dependencies.svg b/content/docs/master/internals/fig/projects_dependencies.svg
deleted file mode 100644
index d537ab8..0000000
--- a/content/docs/master/internals/fig/projects_dependencies.svg
+++ /dev/null
@@ -1,586 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   width="184.83mm"
-   height="182.98mm"
-   id="svg2985"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="Picture1.emf">
-  <metadata
-     id="metadata3185">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="640"
-     inkscape:window-height="480"
-     id="namedview3183"
-     showgrid="false"
-     inkscape:zoom="1.5284853"
-     inkscape:cx="327.45474"
-     inkscape:cy="324.17715"
-     inkscape:window-x="-8"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1"
-     inkscape:current-layer="svg2985" />
-  <defs
-     id="defs2987" />
-  <g
-     id="g2989">
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 260.48364 21.380326   C 260.48364 18.510862 262.80922 16.185282 265.69744 16.185282   L 378.24423 16.185282   C 381.13245 16.185282 383.45803 18.510862 383.45803 21.380326   L 383.45803 42.216767   C 383.45803 45.086232 381.13245 47.411811 378.24423 47.411811   L 265.69744 47.411811   C 262.80922 47.411811 260.48364 45.086232 260.48364 42.216767   z"
-       id="path2991" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 260.48364 21.380326   C 260.48364 18.510862 262.80922 16.185282 265.69744 16.185282   L 378.24423 16.185282   C 381.13245 16.185282 383.45803 18.510862 383.45803 21.380326   L 383.45803 42.216767   C 383.45803 45.086232 381.13245 47.411811 378.24423 47.411811   L 265.69744 47.411811   C 262.80922 47.411811 260.48364 45.086232 260.48364 42.216767   z"
-       id="path2993" />
-    <text
-       xml:space="preserve"
-       x="275.28831"
-       y="39.668396"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text2995">flink</text>
-    <text
-       xml:space="preserve"
-       x="316.69863"
-       y="39.668396"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text2997">-</text>
-    <text
-       xml:space="preserve"
-       x="325.70087"
-       y="39.668396"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text2999">core</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 130.86073 96.502166   C 130.86073 93.670211 133.1488 91.372763 135.98075 91.372763   L 233.41127 91.372763   C 236.23385 91.372763 238.5313 93.670211 238.5313 96.502166   L 238.5313 116.98227   C 238.5313 119.81422 236.23385 122.10229 233.41127 122.10229   L 135.98075 122.10229   C 133.1488 122.10229 130.86073 119.81422 130.86073 116.98227   z"
-       id="path3001" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5037487px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 130.86073 96.502166   C 130.86073 93.670211 133.1488 91.372763 135.98075 91.372763   L 233.41127 91.372763   C 236.23385 91.372763 238.5313 93.670211 238.5313 96.502166   L 238.5313 116.98227   C 238.5313 119.81422 236.23385 122.10229 233.41127 122.10229   L 135.98075 122.10229   C 133.1488 122.10229 130.86073 119.81422 130.86073 116.98227   z"
-       id="path3003" />
-    <text
-       xml:space="preserve"
-       x="138.4718"
-       y="114.6131"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3005">flink</text>
-    <text
-       xml:space="preserve"
-       x="179.88211"
-       y="114.6131"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3007">-</text>
-    <text
-       xml:space="preserve"
-       x="188.88436"
-       y="114.6131"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3009">java</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 260.48364 96.567807   C 260.48364 93.754607 262.77171 91.466537 265.58491 91.466537   L 363.05295 91.466537   C 365.86615 91.466537 368.15422 93.754607 368.15422 96.567807   L 368.15422 117.0104   C 368.15422 119.8236 365.86615 122.11167 363.05295 122.11167   L 265.58491 122.11167   C 262.77171 122.11167 260.48364 119.8236 260.48364 117.0104   z"
-       id="path3011" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 260.48364 96.567807   C 260.48364 93.754607 262.77171 91.466537 265.58491 91.466537   L 363.05295 91.466537   C 365.86615 91.466537 368.15422 93.754607 368.15422 96.567807   L 368.15422 117.0104   C 368.15422 119.8236 365.86615 122.11167 363.05295 122.11167   L 265.58491 122.11167   C 262.77171 122.11167 260.48364 119.8236 260.48364 117.0104   z"
-       id="path3013" />
-    <text
-       xml:space="preserve"
-       x="264.04551"
-       y="114.65651"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3015">flink</text>
-    <text
-       xml:space="preserve"
-       x="305.45583"
-       y="114.65651"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3017">-</text>
-    <text
-       xml:space="preserve"
-       x="314.45807"
-       y="114.65651"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3019">scala</text>
-    <text
-       xml:space="preserve"
-       x="20.936318"
-       y="28.495681"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3021">c</text>
-    <text
-       xml:space="preserve"
-       x="28.738261"
-       y="28.495681"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3023">ore types, common API, utils,</text>
-    <text
-       xml:space="preserve"
-       x="102.25658"
-       y="46.500168"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3025">core data structures</text>
-    <text
-       xml:space="preserve"
-       x="277.67823"
-       y="145.73346"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3027">Scala API</text>
-    <text
-       xml:space="preserve"
-       x="152.42842"
-       y="145.73346"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3029">Java API</text>
-    <text
-       xml:space="preserve"
-       x="127.97233"
-       y="163.73794"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3031">Old Record API</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 260.48364 198.25564   C 260.48364 195.0861 263.05303 192.51671 266.20382 192.51671   L 399.26822 192.51671   C 402.419 192.51671 404.98839 195.0861 404.98839 198.25564   L 404.98839 221.13634   C 404.98839 224.30588 402.419 226.87527 399.26822 226.87527   L 266.20382 226.87527   C 263.05303 226.87527 260.48364 224.30588 260.48364 221.13634   z"
-       id="path3033" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 260.48364 198.25564   C 260.48364 195.0861 263.05303 192.51671 266.20382 192.51671   L 399.26822 192.51671   C 402.419 192.51671 404.98839 195.0861 404.98839 198.25564   L 404.98839 221.13634   C 404.98839 224.30588 402.419 226.87527 399.26822 226.87527   L 266.20382 226.87527   C 263.05303 226.87527 260.48364 224.30588 260.48364 221.13634   z"
-       id="path3035" />
-    <text
-       xml:space="preserve"
-       x="268.52797"
-       y="217.56563"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3037">flink</text>
-    <text
-       xml:space="preserve"
-       x="309.93829"
-       y="217.56563"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3039">-</text>
-    <text
-       xml:space="preserve"
-       x="318.94053"
-       y="217.56563"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3041">runtime</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 260.48364 262.94051   C 260.48364 259.77097 263.05303 257.22033 266.20382 257.22033   L 399.26822 257.22033   C 402.419 257.22033 404.98839 259.77097 404.98839 262.94051   L 404.98839 285.83996   C 404.98839 288.99074 402.419 291.56013 399.26822 291.56013   L 266.20382 291.56013   C 263.05303 291.56013 260.48364 288.99074 260.48364 285.83996   z"
-       id="path3043" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 260.48364 262.94051   C 260.48364 259.77097 263.05303 257.22033 266.20382 257.22033   L 399.26822 257.22033   C 402.419 257.22033 404.98839 259.77097 404.98839 262.94051   L 404.98839 285.83996   C 404.98839 288.99074 402.419 291.56013 399.26822 291.56013   L 266.20382 291.56013   C 263.05303 291.56013 260.48364 288.99074 260.48364 285.83996   z"
-       id="path3045" />
-    <text
-       xml:space="preserve"
-       x="264.77703"
-       y="282.25536"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3047">flink</text>
-    <text
-       xml:space="preserve"
-       x="306.18735"
-       y="282.25536"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3049">-</text>
-    <text
-       xml:space="preserve"
-       x="315.18959"
-       y="282.25536"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3051">compiler</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 260.48364 326.7439   C 260.48364 323.57436 263.05303 321.02373 266.20382 321.02373   L 399.26822 321.02373   C 402.419 321.02373 404.98839 323.57436 404.98839 326.7439   L 404.98839 349.64335   C 404.98839 352.79414 402.419 355.36353 399.26822 355.36353   L 266.20382 355.36353   C 263.05303 355.36353 260.48364 352.79414 260.48364 349.64335   z"
-       id="path3053" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 260.48364 326.7439   C 260.48364 323.57436 263.05303 321.02373 266.20382 321.02373   L 399.26822 321.02373   C 402.419 321.02373 404.98839 323.57436 404.98839 326.7439   L 404.98839 349.64335   C 404.98839 352.79414 402.419 355.36353 399.26822 355.36353   L 266.20382 355.36353   C 263.05303 355.36353 260.48364 352.79414 260.48364 349.64335   z"
-       id="path3055" />
-    <text
-       xml:space="preserve"
-       x="275.72976"
-       y="346.05788"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3057">flink</text>
-    <text
-       xml:space="preserve"
-       x="317.14008"
-       y="346.05788"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3059">-</text>
-    <text
-       xml:space="preserve"
-       x="326.14232"
-       y="346.05788"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3061">clients</text>
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 333.49558 397.91788   L 333.94569 363.25925   L 331.45132 363.22174   L 331.00121 397.88037   z  M 338.07172 370.17972   L 332.7454 360.74612   L 327.1565 370.02968   C 326.80016 370.62983 326.98771 371.39877 327.58786 371.75511   C 328.16926 372.11145 328.9382 371.92391 329.29454 371.32376   L 329.29454 371.32376   L 333.7769 363.87815   L 331.62011 363.8594   L 335.89618 371.41753   C 336.23376 372.01768 337.00271 372.22398 337.60286 371.8864   C 338.203 371.54881 338.40931 370.77987 338.07172 370.17972   z"
-       id="path3063" />
-    <text
-       xml:space="preserve"
-       x="90.010614"
-       y="280.17295"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3065">compiler </text>
-    <text
-       xml:space="preserve"
-       x="159.62796"
-       y="280.17295"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3067">/ </text>
-    <text
-       xml:space="preserve"
-       x="171.78098"
-       y="280.17295"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3069">optimizer</text>
-    <text
-       xml:space="preserve"
-       x="48.60059"
-       y="208.5999"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3071">l</text>
-    <text
-       xml:space="preserve"
-       x="52.651599"
-       y="208.5999"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3073">ocal/distributed execution,</text>
-    <text
-       xml:space="preserve"
-       x="71.706347"
-       y="226.60439"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3075">runtime </text>
-    <text
-       xml:space="preserve"
-       x="135.92234"
-       y="226.60439"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3077">web monitor</text>
-    <text
-       xml:space="preserve"
-       x="73.125502"
-       y="323.98799"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3079">local/remote execution</text>
-    <text
-       xml:space="preserve"
-       x="124.13821"
-       y="341.99247"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3081">CLI </text>
-    <text
-       xml:space="preserve"
-       x="154.44576"
-       y="341.99247"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3083">client</text>
-    <text
-       xml:space="preserve"
-       x="74.775913"
-       y="359.99696"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3085">compiler web frontend</text>
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 413.72807 12.678158   C 421.54877 12.678158 427.9066 13.72842 427.9066 15.041247   L 427.9066 68.229498   C 427.9066 69.52357 434.24568 70.592586 442.08513 70.592586   C 434.24568 70.592586 427.9066 71.642848 427.9066 72.955675   L 427.9066 126.14393   C 427.9066 127.45675 421.54877 128.50701 413.72807 128.50701 "
-       id="path3087" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 409.35823 181.56398   C 417.17893 181.56398 423.53676 182.61424 423.53676 183.92707   L 423.53676 273.18056   C 423.53676 274.49338 429.87584 275.54364 437.7153 275.54364   C 429.87584 275.54364 423.53676 276.61266 423.53676 277.90673   L 423.53676 367.17897   C 423.53676 368.47305 417.17893 369.54206 409.35823 369.54206 "
-       id="path3089" />
-    <text
-       xml:space="preserve"
-       x="464.00202"
-       y="69.388546"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3091">Needed to </text>
-    <text
-       xml:space="preserve"
-       x="486.95774"
-       y="90.393779"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3093">write </text>
-    <text
-       xml:space="preserve"
-       x="467.00277"
-       y="111.39901"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3095">programs</text>
-    <text
-       xml:space="preserve"
-       x="440.46593"
-       y="265.59638"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3097">Needed </text>
-    <text
-       xml:space="preserve"
-       x="512.93399"
-       y="265.59638"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3099">in addition for </text>
-    <text
-       xml:space="preserve"
-       x="472.87401"
-       y="286.60161"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3101">embedded </text>
-    <text
-       xml:space="preserve"
-       x="571.14849"
-       y="286.60161"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3103">and </text>
-    <text
-       xml:space="preserve"
-       x="445.41717"
-       y="307.60684"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3105">distributed execution</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 126.70657 484.20813   C 126.70657 479.61323 130.43875 475.88105 135.05239 475.88105   L 288.46561 475.88105   C 293.07926 475.88105 296.81144 479.61323 296.81144 484.20813   L 296.81144 517.57269   C 296.81144 522.16759 293.07926 525.91852 288.46561 525.91852   L 135.05239 525.91852   C 130.43875 525.91852 126.70657 522.16759 126.70657 517.57269   z"
-       id="path3107" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 126.70657 484.20813   C 126.70657 479.61323 130.43875 475.88105 135.05239 475.88105   L 288.46561 475.88105   C 293.07926 475.88105 296.81144 479.61323 296.81144 484.20813   L 296.81144 517.57269   C 296.81144 522.16759 293.07926 525.91852 288.46561 525.91852   L 135.05239 525.91852   C 130.43875 525.91852 126.70657 522.16759 126.70657 517.57269   z"
-       id="path3109" />
-    <text
-       xml:space="preserve"
-       x="161.02009"
-       y="496.75874"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3111">flink</text>
-    <text
-       xml:space="preserve"
-       x="202.4304"
-       y="496.75874"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3113">-</text>
-    <text
-       xml:space="preserve"
-       x="211.43265"
-       y="496.75874"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3115">java</text>
-    <text
-       xml:space="preserve"
-       x="253.59315"
-       y="496.75874"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3117">-</text>
-    <text
-       xml:space="preserve"
-       x="164.17087"
-       y="520.76472"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3119">examples</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 68.867157 548.64918   C 68.867157 544.12931 72.543072 540.45339 77.062948 540.45339   L 251.57517 540.45339   C 256.09505 540.45339 259.77097 544.12931 259.77097 548.64918   L 259.77097 581.43235   C 259.77097 585.95223 256.09505 589.62814 251.57517 589.62814   L 77.062948 589.62814   C 72.543072 589.62814 68.867157 585.95223 68.867157 581.43235   z"
-       id="path3121" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 68.867157 548.64918   C 68.867157 544.12931 72.543072 540.45339 77.062948 540.45339   L 251.57517 540.45339   C 256.09505 540.45339 259.77097 544.12931 259.77097 548.64918   L 259.77097 581.43235   C 259.77097 585.95223 256.09505 589.62814 251.57517 589.62814   L 77.062948 589.62814   C 72.543072 589.62814 68.867157 585.95223 68.867157 581.43235   z"
-       id="path3123" />
-    <text
-       xml:space="preserve"
-       x="109.65675"
-       y="560.90686"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3125">flink</text>
-    <text
-       xml:space="preserve"
-       x="151.06706"
-       y="560.90686"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3127">-</text>
-    <text
-       xml:space="preserve"
-       x="160.06931"
-       y="560.90686"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3129">scala</text>
-    <text
-       xml:space="preserve"
-       x="210.18179"
-       y="560.90686"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3131">-</text>
-    <text
-       xml:space="preserve"
-       x="116.85854"
-       y="584.91284"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3133">examples</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 273.3681 606.75116   C 273.3681 603.22528 276.25632 600.33706 279.7822 600.33706   L 402.92538 600.33706   C 406.48877 600.33706 409.37699 603.22528 409.37699 606.75116   L 409.37699 632.52008   C 409.37699 636.04595 406.48877 638.93417 402.92538 638.93417   L 279.7822 638.93417   C 276.25632 638.93417 273.3681 636.04595 273.3681 632.52008   z"
-       id="path3135" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 273.3681 606.75116   C 273.3681 603.22528 276.25632 600.33706 279.7822 600.33706   L 402.92538 600.33706   C 406.48877 600.33706 409.37699 603.22528 409.37699 606.75116   L 409.37699 632.52008   C 409.37699 636.04595 406.48877 638.93417 402.92538 638.93417   L 279.7822 638.93417   C 276.25632 638.93417 273.3681 636.04595 273.3681 632.52008   z"
-       id="path3137" />
-    <text
-       xml:space="preserve"
-       x="292.11598"
-       y="627.49492"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3139">flink</text>
-    <text
-       xml:space="preserve"
-       x="333.5263"
-       y="627.49492"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3141">-</text>
-    <text
-       xml:space="preserve"
-       x="342.52854"
-       y="627.49492"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3143">tests</text>
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 298.83695 81.395278   L 308.45809 60.108725   L 306.17002 59.077218   L 296.56763 80.382525   z  M 309.47085 68.098215   L 308.34557 57.333033   L 299.51212 63.615848   C 298.94948 64.009696 298.81819 64.797393 299.2308 65.360033   C 299.62464 65.922673 300.41234 66.053956 300.97498 65.641353   L 308.04549 60.615101   L 306.07625 59.733631   L 306.97648 68.36078   C 307.05149 69.054703 307.6704 69.542325 308.34557 69.467306   C 309.03949 69.411042 309.52711 68.792138 309.47085 68.098215   z"
-       id="path3145" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 214.32839 88.962788   L 264.78784 60.765138   L 263.56879 58.589596   L 213.10934 86.777869   z  M 260.83998 67.788763   L 266.34448 58.467691   L 255.52303 58.261389   C 254.82911 58.252012 254.25709 58.805275 254.24771 59.48982   C 254.23834 60.183743 254.78222 60.755761 255.47615 60.765138   L 264.15956 60.924553   L 263.09992 59.039708   L 258.69257 66.522823   C 258.33623 67.113595 258.53316 67.882536 259.13331 68.229498   C 259.72408 68.585836 260.49302 68.388912 260.83998 67.788763   z"
-       id="path3147" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 358.60809 184.69601   L 363.55932 174.3997   L 365.97867 169.27967   L 368.34176 164.19716   L 370.64859 159.1709   L 372.86164 154.20092   L 374.96216 149.30595   L 376.95016 144.50475   L 378.78812 139.77857   L 380.47604 135.16492   L 381.97641 130.6638   L 383.30799 126.31272   L 383.87063 124.21219   L 384.39576 122.11167   L 384.88338 120.06741   L 385.27723 118.06066   L 385.63357 116.09142   L 385.93365 114.17844   L 386.13995 112.30298   L 386.30874 110.48377   L 386.38376 108.70208   L 386.40251 106.97665   L 386.365 105.28873   L 386.27123 103.65707   L 386.10244 102.04417   L 385.87738 100.48753   L 385.61482 98.949651   L 385.29599 97.449277   L 384.48954 94.561058   L 383.49554 91.804121   L 382.33275 89.140957   L 381.01992 86.590322   L 379.55706 84.114705   L 377.98166 81.714107   L 376.29374 79.351018   L 374.53081 77.062948   L 372.67409 74.812388   L 370.76112 72.580582   L 368.4918 70.011192   L 370.36727 68.342026   L 372.67409 70.948925   L 374.6
 0582 73.21824   L 376.50005 75.54382   L 378.338 77.906909   L 380.08219 80.326261   L 381.7326 82.839387   L 383.23297 85.446287   L 384.62082 88.14696   L 385.83987 90.96016   L 386.89013 93.885889   L 387.73409 96.942901   L 388.07168 98.518293   L 388.353 100.1312   L 388.59681 101.80036   L 388.7656 103.48828   L 388.87813 105.23247   L 388.91564 107.01416   L 388.89688 108.83336   L 388.78436 110.69008   L 388.63432 112.60305   L 388.39051 114.55354   L 388.09043 116.54153   L 387.73409 118.56704   L 387.30274 120.63005   L 386.83387 122.73058   L 386.28998 124.84985   L 385.68984 127.04415   L 384.35825 131.47025   L 382.82037 136.02764   L 381.11369 140.6788   L 379.25698 145.44248   L 377.26899 150.29994   L 375.14971 155.23242   L 372.9179 160.22117   L 370.61108 165.26617   L 368.22924 170.34869   L 365.80988 175.46871   L 360.8774 185.76503   z  M 369.8984 77.944418   L 367.77912 67.310519   L 378.07544 70.705114   C 378.7131 70.93017 379.06944 71.624093 378.86313 72.280
 507   C 378.63808 72.93692 377.94416 73.293259 377.28774 73.086958   L 369.03569 70.36753   L 370.64859 68.923421   L 372.33651 77.456796   C 372.48655 78.131965 372.03643 78.788378 371.36127 78.919661   C 370.6861 79.050944 370.02968 78.619586 369.8984 77.944418   z"
-       id="path3149" />
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 259.48965 415.00339   C 259.48965 411.89011 262.02153 409.35823 265.1348 409.35823   L 399.36199 409.35823   C 402.47527 409.35823 404.98839 411.89011 404.98839 415.00339   L 404.98839 437.50899   C 404.98839 440.62227 402.47527 443.1354 399.36199 443.1354   L 265.1348 443.1354   C 262.02153 443.1354 259.48965 440.62227 259.48965 437.50899   z"
-       id="path3151" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 259.48965 415.00339   C 259.48965 411.89011 262.02153 409.35823 265.1348 409.35823   L 399.36199 409.35823   C 402.47527 409.35823 404.98839 411.89011 404.98839 415.00339   L 404.98839 437.50899   C 404.98839 440.62227 402.47527 443.1354 399.36199 443.1354   L 265.1348 443.1354   C 262.02153 443.1354 259.48965 440.62227 259.48965 437.50899   z"
-       id="path3153" />
-    <text
-       xml:space="preserve"
-       x="263.06067"
-       y="434.12154"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3155">flink</text>
-    <text
-       xml:space="preserve"
-       x="304.47099"
-       y="434.12154"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3157">-</text>
-    <text
-       xml:space="preserve"
-       x="313.47323"
-       y="434.12154"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3159">test</text>
-    <text
-       xml:space="preserve"
-       x="350.83254"
-       y="434.12154"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3161">-</text>
-    <text
-       xml:space="preserve"
-       x="359.83478"
-       y="434.12154"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3163">utils</text>
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 333.9832 252.40038   L 333.9832 237.32162   L 331.48883 237.32162   L 331.48883 252.40038   z  M 338.18425 244.18583   L 332.7454 234.84601   L 327.28779 244.18583   C 326.93145 244.78598 327.13775 245.55492 327.7379 245.91126   C 328.31929 246.24885 329.08823 246.04255 329.44457 245.46115   L 333.81441 237.95928   L 331.65762 237.95928   L 336.02746 245.46115   L 336.02746 245.46115   C 336.3838 246.04255 337.15274 246.24885 337.73414 245.91126   C 338.33429 245.55492 338.54059 244.78598 338.18425 244.18583   z"
-       id="path3165" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 333.9832 314.38457   L 333.9832 299.28706   L 331.48883 299.28706   L 331.48883 314.38457   z  M 338.18425 306.17002   L 332.7454 296.81144   L 327.28779 306.17002   C 326.93145 306.77017 327.13775 307.52036 327.7379 307.8767   C 328.31929 308.23304 329.08823 308.02674 329.44457 307.42659   L 333.81441 299.92472   L 331.65762 299.92472   L 336.02746 307.42659   L 336.02746 307.42659   C 336.3838 308.02674 337.15274 308.23304 337.73414 307.8767   C 338.33429 307.52036 338.54059 306.77017 338.18425 306.17002   z"
-       id="path3167" />
-    <text
-       xml:space="preserve"
-       x="165.18987"
-       y="432.03911"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3169">Test </text>
-    <text
-       xml:space="preserve"
-       x="129.63101"
-       y="450.0436"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3171">environments</text>
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 334.03947 589.66565   L 331.05747 457.10763   L 333.55185 457.05136   L 336.53384 589.60939   z  M 327.00647 464.08437   L 332.23902 454.61326   L 337.90293 463.84055   C 338.27802 464.42195 338.09048 465.19089 337.49033 465.54723   C 336.90893 465.92232 336.13999 465.73478 335.78365 465.13463   L 335.78365 465.13463   L 331.22627 457.74529   L 333.40181 457.68902   L 329.18201 465.28466   C 328.84442 465.88481 328.09424 466.10987 327.49409 465.77229   C 326.87518 465.4347 326.66888 464.68451 327.00647 464.08437   z"
-       id="path3173" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.037509345px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 266.72895 617.7789   L 259.33961 617.55385   L 252.1003 617.29128   L 248.49941 617.10374   L 244.97353 616.91619   L 241.56018 616.69113   L 238.18434 616.42857   L 234.92102 616.09098   L 231.77024 615.7534   L 228.73198 615.30329   L 225.80625 614.81567   L 223.03056 614.25303   L 220.44242 613.61537   L 217.9668 612.90269   L 215.71624 612.07748   L 213.61572 611.17726   L 211.70274 610.127   L 209.97731 609.03923   L 208.40192 607.87644   L 206.97656 606.60112   L 205.66374 605.28829   L 204.53846 603.90045   L 203.48819 602.43758   L 202.58797 600.97472   L 201.76276 599.47434   L 201.01258 597.93646   L 200.33741 596.36107   L 199.13711 593.21028   L 198.87454 592.38508   L 201.23763 591.59738   L 201.5002 592.34757   L 202.62548 595.38583   L 203.26314 596.84869   L 203.97582 598.27405   L 204.68849 599.66189   L 205.55121 601.01223   L 206.45143 602.28754   L 207.46418 603.56286   L 208.62697 604.72565   L 209.90229 605.85093   L 211.29014 606.9387   L 212.865
 53 607.95146   L 214.62847 608.85168   L 216.54145 609.7144   L 218.67948 610.50209   L 221.00506 611.17726   L 223.55569 611.81492   L 226.21886 612.34005   L 229.06957 612.82767   L 232.03281 613.24027   L 235.14608 613.61537   L 238.37188 613.91544   L 241.71022 614.17801   L 245.12357 614.40306   L 248.61194 614.62812   L 252.17532 614.77816   L 259.41463 615.04072   L 266.80397 615.26578   z  M 197.11161 600.26204   L 199.24964 589.6469   L 207.42668 596.73616   C 207.95181 597.18627 208.02682 597.97397 207.5392 598.4991   C 207.08909 599.02423 206.30139 599.06174 205.77626 598.61163   L 199.21213 592.94772   L 201.27514 592.23504   L 199.54971 600.74966   C 199.43718 601.42483 198.76202 601.87494 198.08685 601.7249   C 197.41168 601.57487 196.96157 600.93721 197.11161 600.26204   z"
-       id="path3175" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 310.91496 593.04149   L 306.28255 588.76543   L 301.70641 584.52687   L 297.28031 580.32582   L 295.12352 578.24406   L 293.04175 576.21855   L 291.01625 574.17429   L 289.08452 572.1863   L 287.22781 570.21706   L 285.46487 568.28532   L 283.7957 566.40986   L 282.23906 564.55314   L 280.81371 562.7527   L 279.50088 560.98976   L 278.33809 559.28308   L 277.28783 557.61392   L 276.36885 556.00101   L 275.58115 554.42562   L 274.86848 552.88774   L 274.26833 551.36861   L 273.76195 549.90575   L 273.34935 548.48039   L 272.97425 547.07379   L 272.69293 545.68594   L 272.26158 543.02278   L 271.98026 540.39713   L 271.9615 540.30335   L 274.45587 540.11581   L 274.45587 540.13456   L 274.73719 542.62893   L 275.13104 545.17957   L 275.41236 546.45489   L 275.73119 547.76771   L 276.12504 549.09929   L 276.61266 550.46839   L 277.15655 551.85623   L 277.79421 553.28159   L 278.54439 554.76321   L 279.42586 556.30109   L 280.4011 557.87648   L 281.52639 559.50814   L 282.
 76419 561.19606   L 284.17079 562.959   L 285.67117 564.75945   L 287.30282 566.61616   L 289.02825 568.51038   L 290.86621 570.44211   L 292.79794 572.41135   L 294.78594 574.4181   L 296.86771 576.46236   L 298.98699 578.52538   L 303.41309 582.70767   L 307.97047 586.92747   L 312.62163 591.20353   z  M 268.34185 547.50515   L 273.01176 537.73396   L 279.21956 546.60492   C 279.61341 547.18632 279.46337 547.95526 278.90073 548.34911   C 278.33809 548.74296 277.55039 548.61167 277.15655 548.04903   L 272.18656 540.92226   L 274.34335 540.75347   L 270.59241 548.57416   C 270.29234 549.21182 269.54215 549.47439 268.92325 549.17431   C 268.30434 548.87424 268.04178 548.12405 268.34185 547.50515   z"
-       id="path3177" />
-    <text
-       xml:space="preserve"
-       x="441.23605"
-       y="616.32234"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3179">integration tests</text>
-    <text
-       xml:space="preserve"
-       x="435.68466"
-       y="634.32683"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3181">(entire programs)</text>
-  </g>
-</svg>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/fig/slots.svg
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/fig/slots.svg b/content/docs/master/internals/fig/slots.svg
deleted file mode 100644
index 7d5dc2a..0000000
--- a/content/docs/master/internals/fig/slots.svg
+++ /dev/null
@@ -1,505 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="770.84375"
-   height="448.26599"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.5 r10040">
-  <defs
-     id="defs4" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.5"
-     inkscape:cx="200.03973"
-     inkscape:cy="568.73823"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:window-width="1600"
-     inkscape:window-height="838"
-     inkscape:window-x="1912"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(59.7139,-268.22389)">
-    <g
-       id="g2989"
-       transform="translate(-107.30765,87.786395)">
-      <path
-         id="path2991"
-         d="m 48.855921,209.35841 c 0,-15.26631 12.378084,-27.66315 27.663142,-27.66315 l 147.224177,0 c 15.2663,0 27.66314,12.39684 27.66314,27.66315 l 0,129.08841 c 0,15.28505 -12.39684,27.66314 -27.66314,27.66314 l -147.224177,0 c -15.285058,0 -27.663142,-12.37809 -27.663142,-27.66314 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text2993"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.08313"
-         x="57.055454"
-         xml:space="preserve">TaskManager</text>
-      <text
-         id="text2995"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.08313"
-         x="170.78378"
-         xml:space="preserve">1</text>
-      <path
-         id="path2997"
-         d="m 70.573832,246.90526 c 0,-7.25806 5.907721,-13.16578 13.16578,-13.16578 l 10.390088,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.390088,0 c -7.258059,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2999"
-         d="m 70.573832,246.90526 c 0,-7.25806 5.907721,-13.16578 13.16578,-13.16578 l 10.390088,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.390088,0 c -7.258059,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3001"
-         d="m 128.09441,246.90526 c 0,-7.25806 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3003"
-         d="m 128.09441,246.90526 c 0,-7.25806 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3005"
-         d="m 185.59624,246.90526 c 0,-7.25806 5.90772,-13.16578 13.18453,-13.16578 l 10.39009,0 c 7.25806,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.90772,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.18453,-5.88896 -13.18453,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3007"
-         d="m 185.59624,246.90526 c 0,-7.25806 5.90772,-13.16578 13.18453,-13.16578 l 10.39009,0 c 7.25806,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.90772,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.18453,-5.88896 -13.18453,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3009"
-         d="m 266.09129,209.35841 c 0,-15.26631 12.39684,-27.66315 27.66314,-27.66315 l 147.07414,0 c 15.2663,0 27.66314,12.39684 27.66314,27.66315 l 0,129.08841 c 0,15.28505 -12.39684,27.66314 -27.66314,27.66314 l -147.07414,0 c -15.2663,0 -27.66314,-12.37809 -27.66314,-27.66314 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3011"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.08313"
-         x="274.21527"
-         xml:space="preserve">TaskManager</text>
-      <text
-         id="text3013"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.08313"
-         x="387.94357"
-         xml:space="preserve">2</text>
-      <path
-         id="path3015"
-         d="m 287.65916,246.96152 c 0,-7.29556 5.92648,-13.22204 13.22205,-13.22204 l 10.44635,0 c 7.29557,0 13.22204,5.92648 13.22204,13.22204 l 0,84.35852 c 0,7.31432 -5.92647,13.22204 -13.22204,13.22204 l -10.44635,0 c -7.29557,0 -13.22205,-5.90772 -13.22205,-13.22204 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3017"
-         d="m 287.65916,246.96152 c 0,-7.29556 5.92648,-13.22204 13.22205,-13.22204 l 10.44635,0 c 7.29557,0 13.22204,5.92648 13.22204,13.22204 l 0,84.35852 c 0,7.31432 -5.92647,13.22204 -13.22204,13.22204 l -10.44635,0 c -7.29557,0 -13.22205,-5.90772 -13.22205,-13.22204 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3019"
-         d="m 345.17974,246.90526 c 0,-7.25806 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3021"
-         d="m 345.17974,246.90526 c 0,-7.25806 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3023"
-         d="m 402.68157,246.90526 c 0,-7.25806 5.90772,-13.16578 13.18453,-13.16578 l 10.39009,0 c 7.25806,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.90772,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.18453,-5.88896 -13.18453,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3025"
-         d="m 402.68157,246.90526 c 0,-7.25806 5.90772,-13.16578 13.18453,-13.16578 l 10.39009,0 c 7.25806,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.90772,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.18453,-5.88896 -13.18453,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3027"
-         d="m 178.65701,597.48635 c 7.20179,7.12677 7.20179,18.71716 0,25.84394 -7.2018,7.16428 -18.90471,7.16428 -26.10651,0 -7.20179,-7.12678 -7.20179,-18.71717 0,-25.84394 7.2018,-7.16429 18.90471,-7.16429 26.10651,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3029"
-         d="m 236.15883,597.48635 c 7.2018,7.12677 7.2018,18.71716 0,25.84394 -7.20179,7.16428 -18.8672,7.16428 -26.06899,0 -7.2018,-7.12678 -7.2018,-18.71717 0,-25.84394 7.20179,-7.16429 18.8672,-7.16429 26.06899,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3031"
-         d="m 293.54813,597.48635 c 7.16429,7.12677 7.16429,18.71716 0,25.84394 -7.16428,7.16428 -18.79218,7.16428 -25.95647,0 -7.20179,-7.12678 -7.20179,-18.71717 0,-25.84394 7.16429,-7.16429 18.79219,-7.16429 25.95647,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3033"
-         d="m 351.04996,597.48635 c 7.16428,7.12677 7.16428,18.71716 0,25.84394 -7.16429,7.16428 -18.79219,7.16428 -25.95647,0 -7.16429,-7.12678 -7.16429,-18.71717 0,-25.84394 7.16428,-7.16429 18.79218,-7.16429 25.95647,0"
-         style="fill:#ec5d57;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3035"
-         d="m 181.47021,516.03481 c 7.18304,7.14553 7.18304,18.71716 0,25.86269 -7.16429,7.14553 -18.79218,7.14553 -25.95647,0 -7.18304,-7.14553 -7.18304,-18.71716 0,-25.86269 7.16429,-7.12678 18.79218,-7.12678 25.95647,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3037"
-         d="m 237.09657,516.03481 c 7.20179,7.14553 7.20179,18.71716 0,25.86269 -7.2018,7.14553 -18.88596,7.14553 -26.08775,0 -7.2018,-7.14553 -7.2018,-18.71716 0,-25.86269 7.20179,-7.12678 18.88595,-7.12678 26.08775,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3039"
-         d="m 292.59164,516.03481 c 7.18304,7.14553 7.18304,18.71716 0,25.86269 -7.16428,7.14553 -18.79218,7.14553 -25.95646,0 -7.18304,-7.14553 -7.18304,-18.71716 0,-25.86269 7.16428,-7.12678 18.79218,-7.12678 25.95646,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3041"
-         d="m 348.23675,516.03481 c 7.16429,7.14553 7.16429,18.71716 0,25.86269 -7.16428,7.14553 -18.79218,7.14553 -25.97522,0 -7.16428,-7.14553 -7.16428,-18.71716 0,-25.86269 7.18304,-7.12678 18.81094,-7.12678 25.97522,0"
-         style="fill:#ec5d57;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3043"
-         d="m 207.38917,434.48949 c 7.20179,7.16429 7.20179,18.79218 0,25.95647 -7.2018,7.18304 -18.8672,7.18304 -26.069,0 -7.20179,-7.16429 -7.20179,-18.79218 0,-25.95647 7.2018,-7.18304 18.8672,-7.18304 26.069,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3045"
-         d="m 264.77846,434.48949 c 7.16429,7.16429 7.16429,18.79218 0,25.95647 -7.16428,7.18304 -18.79218,7.18304 -25.97522,0 -7.16428,-7.16429 -7.16428,-18.79218 0,-25.95647 7.18304,-7.18304 18.81094,-7.18304 25.97522,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3047"
-         d="m 322.29904,434.48949 c 7.16429,7.16429 7.16429,18.79218 0,25.95647 -7.18304,7.18304 -18.81093,7.18304 -25.97522,0 -7.16428,-7.16429 -7.16428,-18.79218 0,-25.95647 7.16429,-7.18304 18.79218,-7.18304 25.97522,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3049"
-         d="m 166.84156,610.50209 2.70068,-76.48155 -2.51313,-0.075 -2.66316,76.48155 2.47561,0.075 z m 1.46287,-76.51906 3.63841,2.62565 -3.48837,-7.61439 -4.0135,7.35183 3.86346,-2.36309 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3051"
-         d="m 224.3809,610.50209 0.90022,-76.51906 -2.51312,0 -0.90023,76.48155 2.51313,0.0375 z m -0.37509,-76.51906 3.75093,2.55063 -3.67592,-7.53937 -3.82595,7.42685 3.75094,-2.43811 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3053"
-         d="m 279.40711,610.50209 -0.90023,-76.51906 2.51313,0 0.90022,76.48155 -2.51312,0.0375 z m 0.33758,-76.51906 -3.71342,2.55063 3.67591,-7.53937 3.82596,7.42685 -3.78845,-2.43811 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3055"
-         d="m 336.7964,610.50209 -2.70067,-76.48155 2.51313,-0.075 2.66316,76.48155 -2.47562,0.075 z m -1.42535,-76.51906 -3.67592,2.62565 3.48837,-7.61439 4.0135,7.35183 -3.82595,-2.36309 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3057"
-         d="m 334.09573,529.25685 -24.38107,-76.72536 2.38184,-0.75019 24.38108,76.72536 -2.38185,0.75019 z m -23.19953,-77.10046 -2.8132,3.52588 1.29407,-8.28956 5.85146,6.00149 -4.33233,-1.23781 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3059"
-         d="m 334.39581,529.78198 -79.81989,-78.00068 1.74419,-1.80045 79.81988,78.00068 -1.74418,1.80045 z m -78.93842,-78.9009 -0.84396,4.4261 -2.73818,-7.91447 7.98949,2.55063 -4.40735,0.93774 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3061"
-         d="m 334.62086,529.96953 -136.55277,-78.99468 1.23781,-2.15679 136.57153,78.97593 -1.25657,2.17554 z M 198.687,449.88708 l 0.28132,4.50112 -4.61365,-6.99549 8.38334,0.50637 -4.05101,1.988 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3063"
-         d="m 278.7882,529.78198 -81.67659,-78.03819 1.72543,-1.80045 81.67659,78.03819 -1.72543,1.80045 z m -80.81388,-78.93841 -0.7877,4.44485 -2.83195,-7.89571 8.027,2.47561 -4.40735,0.97525 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3065"
-         d="m 278.48813,529.29436 -26.18152,-76.76287 2.36308,-0.80645 26.18153,76.76287 -2.36309,0.80645 z m -24.99998,-77.17548 -2.73818,3.58215 1.12528,-8.30832 5.96398,5.88896 -4.35108,-1.16279 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3067"
-         d="m 280.86997,529.31312 27.98197,-76.80039 -2.34433,-0.84396 -28.00073,76.78163 2.36309,0.86272 z m 26.81918,-77.23175 2.66317,3.63841 -0.95649,-8.32707 -6.09527,5.75768 4.38859,-1.06902 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3069"
-         d="m 222.88053,529.31312 -27.98198,-76.80039 2.34434,-0.84396 28.00072,76.78163 -2.36308,0.86272 z m -26.81919,-77.23175 -2.66316,3.63841 0.95649,-8.32707 6.09527,5.75768 -4.3886,-1.06902 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3071"
-         d="m 225.24361,529.29436 26.18153,-76.76287 -2.38185,-0.80645 -26.18152,76.76287 2.38184,0.80645 z m 24.99998,-77.17548 2.73818,3.58215 -1.12528,-8.30832 -5.98274,5.88896 4.36984,-1.16279 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3073"
-         d="m 224.92478,529.78198 81.6766,-78.03819 -1.72543,-1.80045 -81.69535,78.03819 1.74418,1.80045 z m 80.81389,-78.93841 0.78769,4.44485 2.83196,-7.89571 -8.027,2.47561 4.40735,0.97525 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3075"
-         d="m 169.03586,529.96953 136.57152,-78.99468 -1.25656,-2.15679 -136.57152,78.97593 1.25656,2.17554 z m 135.95262,-80.08245 -0.30007,4.50112 4.61364,-6.99549 -8.36458,0.50637 4.05101,1.988 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3077"
-         d="m 169.27967,529.78198 79.81989,-78.00068 -1.74419,-1.80045 -79.81988,78.00068 1.74418,1.80045 z m 78.95717,-78.9009 0.82521,4.4261 2.73818,-7.91447 -7.97074,2.55063 4.40735,0.93774 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3079"
-         d="m 169.5985,529.25685 24.38108,-76.72536 -2.38185,-0.75019 -24.38107,76.72536 2.38184,0.75019 z m 23.19953,-77.10046 2.8132,3.52588 -1.31283,-8.28956 -5.8327,6.00149 4.33233,-1.23781 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3081"
-         d="m 252.92551,408.6268 0,-12.20929 -11.53412,0 16.97298,-31.71415 16.95422,31.71415 -11.53412,0 0,12.20929 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3083"
-         d="m 478.80678,363.50306 19.14852,0 0,-20.66765 50.07498,30.40132 -50.07498,30.38257 0,-20.66765 -19.14852,0 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3085"
-         d="m 611.02722,243.43565 c 0,-15.26631 12.37809,-27.64439 27.6819,-27.64439 l 147.03663,0 c 15.30381,0 27.6819,12.37808 27.6819,27.64439 l 0,129.10716 c 0,15.2663 -12.37809,27.64439 -27.6819,27.64439 l -147.03663,0 c -15.30381,0 -27.6819,-12.37809 -27.6819,-27.64439 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3087"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="240.15894"
-         x="619.12134"
-         xml:space="preserve">TaskManager</text>
-      <text
-         id="text3089"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="240.15894"
-         x="732.84967"
-         xml:space="preserve">1</text>
-      <path
-         id="path3091"
-         d="m 632.5951,280.9825 c 0,-7.27681 5.88896,-13.16578 13.16578,-13.16578 l 10.39008,0 c 7.27682,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88896,13.16578 -13.16578,13.16578 l -10.39008,0 c -7.27682,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3093"
-         d="m 632.5951,280.9825 c 0,-7.27681 5.88896,-13.16578 13.16578,-13.16578 l 10.39008,0 c 7.27682,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88896,13.16578 -13.16578,13.16578 l -10.39008,0 c -7.27682,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3095"
-         d="m 690.09692,280.9825 c 0,-7.27681 5.92648,-13.16578 13.20329,-13.16578 l 10.39009,0 c 7.2393,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.92648,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.20329,-5.88896 -13.20329,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3097"
-         d="m 690.09692,280.9825 c 0,-7.27681 5.92648,-13.16578 13.20329,-13.16578 l 10.39009,0 c 7.2393,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.92648,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.20329,-5.88896 -13.20329,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3099"
-         d="m 747.63625,280.9825 c 0,-7.27681 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27682,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88896,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3101"
-         d="m 747.63625,280.9825 c 0,-7.27681 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27682,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88896,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3103"
-         d="m 614.62812,464.4407 c 0,-15.30381 12.37808,-27.68189 27.64439,-27.68189 l 147.22417,0 c 15.30382,0 27.6819,12.37808 27.6819,27.68189 l 0,129.06966 c 0,15.30381 -12.37808,27.68189 -27.6819,27.68189 l -147.22417,0 c -15.26631,0 -27.64439,-12.37808 -27.64439,-27.68189 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3105"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="461.10257"
-         x="622.8421"
-         xml:space="preserve">TaskManager</text>
-      <text
-         id="text3107"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="461.10257"
-         x="736.57043"
-         xml:space="preserve">2</text>
-      <path
-         id="path3109"
-         d="m 636.34603,501.98756 c 0,-7.27682 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3111"
-         d="m 636.34603,501.98756 c 0,-7.27682 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3113"
-         d="m 693.84785,501.98756 c 0,-7.27682 5.92648,-13.16578 13.20329,-13.16578 l 10.39009,0 c 7.23931,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.92647,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.20329,-5.88896 -13.20329,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3115"
-         d="m 693.84785,501.98756 c 0,-7.27682 5.92648,-13.16578 13.20329,-13.16578 l 10.39009,0 c 7.23931,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.92647,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.20329,-5.88896 -13.20329,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3117"
-         d="m 751.38719,501.98756 c 0,-7.27682 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3119"
-         d="m 751.38719,501.98756 c 0,-7.27682 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3121"
-         d="m 657.20123,356.52632 c 3.45085,3.45086 3.45085,9.03975 0,12.49061 -3.48837,3.45086 -9.15228,3.45086 -12.60314,0 -3.48837,-3.45086 -3.48837,-9.03975 0,-12.49061 3.45086,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3123"
-         d="m 657.46379,316.99147 c 3.52588,3.45086 3.52588,9.03975 0,12.49061 -3.48837,3.45086 -9.18979,3.45086 -12.71567,0 -3.48837,-3.45086 -3.48837,-9.03975 0,-12.49061 3.52588,-3.45086 9.2273,-3.45086 12.71567,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3125"
-         d="m 657.46379,277.45662 c 3.52588,3.45086 3.52588,9.03975 0,12.4531 -3.48837,3.45086 -9.18979,3.45086 -12.71567,0 -3.48837,-3.41335 -3.48837,-9.00224 0,-12.4531 3.52588,-3.45086 9.2273,-3.45086 12.71567,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3127"
-         d="m 652.13746,362.67785 0.18755,-34.50859 -2.47562,-0.0375 -0.22505,34.5461 2.51312,0 z m -1.05026,-34.5461 3.75094,2.55063 -3.71343,-7.53938 -3.78844,7.50187 3.75093,-2.51312 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3129"
-         d="m 649.77438,323.29304 0,-34.54611 2.51312,0 0,34.54611 -2.51312,0 z m 1.27531,-34.54611 -3.75093,2.51313 3.75093,-7.50187 3.75094,7.50187 -3.75094,-2.51313 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3131"
-         d="m 714.70305,356.52632 c 3.48837,3.45086 3.48837,9.03975 0,12.49061 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.48837,-3.45086 -3.48837,-9.03975 0,-12.49061 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3133"
-         d="m 714.85309,316.99147 c 3.48837,3.45086 3.48837,9.03975 0,12.49061 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.48837,-3.45086 -3.48837,-9.03975 0,-12.49061 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3135"
-         d="m 714.85309,277.45662 c 3.48837,3.45086 3.48837,9.03975 0,12.4531 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.48837,-3.41335 -3.48837,-9.00224 0,-12.4531 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3137"
-         d="m 709.63929,362.67785 0.22506,-34.50859 -2.51313,-0.0375 -0.18755,34.5461 2.47562,0 z m -1.05026,-34.5461 3.75093,2.55063 -3.71342,-7.53938 -3.78845,7.50187 3.75094,-2.51312 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3139"
-         d="m 709.78933,323.29304 0,-34.54611 -2.47562,0 0,34.54611 2.47562,0 z m -1.23781,-34.54611 3.75093,2.51313 -3.75093,-7.50187 -3.75094,7.50187 3.75094,-2.51313 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3141"
-         d="m 660.95216,577.38134 c 3.45086,3.48837 3.45086,9.11477 0,12.60314 -3.48837,3.48837 -9.15228,3.48837 -12.60314,0 -3.48837,-3.48837 -3.48837,-9.11477 0,-12.60314 3.45086,-3.48837 9.11477,-3.48837 12.60314,0"
-         style="fill:#ec5d57;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3143"
-         d="m 661.1022,537.84649 c 3.45086,3.48837 3.45086,9.11477 0,12.60314 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.48837,-3.48837 -3.48837,-9.11477 0,-12.60314 3.48837,-3.48837 9.11477,-3.48837 12.60314,0"
-         style="fill:#ec5d57;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3145"
-         d="m 655.8884,583.68291 0.18754,-34.54611 -2.47561,0 -0.22506,34.5086 2.51313,0.0375 z m -1.05026,-34.54611 3.75093,2.51313 -3.71342,-7.50187 -3.78845,7.46436 3.75094,-2.47562 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3147"
-         d="m 717.66629,577.34383 c 3.48837,3.45086 3.48837,9.03975 0,12.49061 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.48837,-3.45086 -3.48837,-9.03975 0,-12.49061 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3149"
-         d="m 717.81633,537.80898 c 3.48837,3.45086 3.48837,9.03975 0,12.49061 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.45086,-3.45086 -3.45086,-9.03975 0,-12.49061 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3151"
-         d="m 717.81633,498.27413 c 3.48837,3.45086 3.48837,9.03975 0,12.49061 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.45086,-3.45086 -3.45086,-9.03975 0,-12.49061 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3153"
-         d="m 712.60253,583.68291 0.22505,-34.54611 -2.51312,0 -0.18755,34.5086 2.47562,0.0375 z m -1.05026,-34.54611 3.75093,2.51313 -3.71343,-7.50187 -3.78844,7.46436 3.75094,-2.47562 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3155"
-         d="m 712.79007,544.11055 0,-34.5086 -2.51312,0 0,34.5086 2.51312,0 z m -1.27531,-34.5086 3.75093,2.51313 -3.75093,-7.50187 -3.75094,7.50187 3.75094,-2.51313 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-</svg>


[19/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/dataset_transformations.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/dataset_transformations.html b/content/docs/master/apis/dataset_transformations.html
deleted file mode 100644
index 8fa85de..0000000
--- a/content/docs/master/apis/dataset_transformations.html
+++ /dev/null
@@ -1,1722 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: DataSet Transformations</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>DataSet Transformations</h1>
-
-
-
-<p>This document gives a deep-dive into the available transformations on DataSets. For a general introduction to the
-Flink Java API, please refer to the <a href="programming_guide.html">Programming Guide</a>.</p>
-
-<p>For zipping elements in a data set with a dense index, please refer to the <a href="zip_elements_guide.html">Zip Elements Guide</a>.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#map" id="markdown-toc-map">Map</a></li>
-  <li><a href="#flatmap" id="markdown-toc-flatmap">FlatMap</a></li>
-  <li><a href="#mappartition" id="markdown-toc-mappartition">MapPartition</a></li>
-  <li><a href="#filter" id="markdown-toc-filter">Filter</a></li>
-  <li><a href="#project-tuple-datasets-only-javapython-api-only" id="markdown-toc-project-tuple-datasets-only-javapython-api-only">Project (Tuple DataSets only) (Java/Python API Only)</a></li>
-  <li><a href="#transformations-on-grouped-dataset" id="markdown-toc-transformations-on-grouped-dataset">Transformations on Grouped DataSet</a></li>
-  <li><a href="#transformations-on-grouped-dataset-1" id="markdown-toc-transformations-on-grouped-dataset-1">Transformations on Grouped DataSet</a></li>
-  <li><a href="#reduce-on-grouped-dataset" id="markdown-toc-reduce-on-grouped-dataset">Reduce on Grouped DataSet</a></li>
-  <li><a href="#groupreduce-on-grouped-dataset" id="markdown-toc-groupreduce-on-grouped-dataset">GroupReduce on Grouped DataSet</a></li>
-  <li><a href="#groupcombine-on-a-grouped-dataset" id="markdown-toc-groupcombine-on-a-grouped-dataset">GroupCombine on a Grouped DataSet</a></li>
-  <li><a href="#aggregate-on-grouped-tuple-dataset" id="markdown-toc-aggregate-on-grouped-tuple-dataset">Aggregate on Grouped Tuple DataSet</a></li>
-  <li><a href="#reduce-on-full-dataset" id="markdown-toc-reduce-on-full-dataset">Reduce on full DataSet</a></li>
-  <li><a href="#groupreduce-on-full-dataset" id="markdown-toc-groupreduce-on-full-dataset">GroupReduce on full DataSet</a></li>
-  <li><a href="#groupcombine-on-a-full-dataset" id="markdown-toc-groupcombine-on-a-full-dataset">GroupCombine on a full DataSet</a></li>
-  <li><a href="#aggregate-on-full-tuple-dataset" id="markdown-toc-aggregate-on-full-tuple-dataset">Aggregate on full Tuple DataSet</a></li>
-  <li><a href="#join" id="markdown-toc-join">Join</a></li>
-  <li><a href="#cross" id="markdown-toc-cross">Cross</a></li>
-  <li><a href="#cogroup" id="markdown-toc-cogroup">CoGroup</a></li>
-  <li><a href="#union" id="markdown-toc-union">Union</a></li>
-  <li><a href="#rebalance" id="markdown-toc-rebalance">Rebalance</a></li>
-  <li><a href="#hash-partition" id="markdown-toc-hash-partition">Hash-Partition</a></li>
-  <li><a href="#sort-partition" id="markdown-toc-sort-partition">Sort Partition</a></li>
-  <li><a href="#first-n" id="markdown-toc-first-n">First-n</a></li>
-</ul>
-
-<h3 id="map">Map</h3>
-
-<p>The Map transformation applies a user-defined map function on each element of a DataSet.
-It implements a one-to-one mapping, that is, exactly one element must be returned by
-the function.</p>
-
-<p>The following code transforms a DataSet of Integer pairs into a DataSet of Integers:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// MapFunction that adds two integer values</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">IntAdder</span> <span class="kd">implements</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">map</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">in</span><span class="o">.</span><span class="na">f0</span> <span class="o">+</span> <span class="n">in</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">intPairs</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">intSums</span> <span class="o">=</span> <span class="n">intPairs</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="nf">IntAdder</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">intPairs</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">Int</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">intSums</span> <span class="k">=</span> <span class="n">intPairs</span><span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">pair</span> <span class="k">=&gt;</span> <span class="n">pair</span><span class="o">.</span><span class="n">_1</span> <span class="o">+</span> <span class="n">pair</span><span class="o">.</span><span class="n">_2</span> <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="n">intSums</span> <span class="o">=</span> <span class="n">intPairs</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">sum</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="flatmap">FlatMap</h3>
-
-<p>The FlatMap transformation applies a user-defined flat-map function on each element of a DataSet.
-This variant of a map function can return arbitrary many result elements (including none) for each input element.</p>
-
-<p>The following code transforms a DataSet of text lines into a DataSet of words:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// FlatMapFunction that tokenizes a String by whitespace characters and emits all String tokens.</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Tokenizer</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">token</span> <span class="o">:</span> <span class="n">value</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot;\\W&quot;</span><span class="o">))</span> <span class="o">{</span>
-      <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">token</span><span class="o">);</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">textLines</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">words</span> <span class="o">=</span> <span class="n">textLines</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">textLines</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">words</span> <span class="k">=</span> <span class="n">textLines</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">)</span> <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="n">words</span> <span class="o">=</span> <span class="n">lines</span><span class="o">.</span><span class="n">flat_map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">c</span><span class="p">:</span> <span class="p">[</span><span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">x</span><span class="p">],</span> <span class="n">STRING</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="mappartition">MapPartition</h3>
-
-<p>MapPartition transforms a parallel partition in a single function call. The map-partition function
-gets the partition as Iterable and can produce an arbitrary number of result values. The number of elements in each partition depends on the degree-of-parallelism
-and previous operations.</p>
-
-<p>The following code transforms a DataSet of text lines into a DataSet of counts per partition:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">PartitionCounter</span> <span class="kd">implements</span> <span class="n">MapPartitionFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="o">{</span>
-
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">mapPartition</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">values</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="kt">long</span> <span class="n">c</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">s</span> <span class="o">:</span> <span class="n">values</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">c</span><span class="o">++;</span>
-    <span class="o">}</span>
-    <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">c</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">textLines</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">counts</span> <span class="o">=</span> <span class="n">textLines</span><span class="o">.</span><span class="na">mapPartition</span><span class="o">(</span><span class="k">new</span> <span class="nf">PartitionCounter</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">textLines</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="c1">// Some is required because the return value must be a Collection.</span>
-<span class="c1">// There is an implicit conversion from Option to a Collection.</span>
-<span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">texLines</span><span class="o">.</span><span class="n">mapPartition</span> <span class="o">{</span> <span class="n">in</span> <span class="k">=&gt;</span> <span class="nc">Some</span><span class="o">(</span><span class="n">in</span><span class="o">.</span><span class="n">size</span><span class="o">)</span> <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="n">counts</span> <span class="o">=</span> <span class="n">lines</span><span class="o">.</span><span class="n">map_partition</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">c</span><span class="p">:</span> <span class="p">[</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="n">x</span><span class="p">)],</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="filter">Filter</h3>
-
-<p>The Filter transformation applies a user-defined filter function on each element of a DataSet and retains only those elements for which the function returns <code>true</code>.</p>
-
-<p>The following code removes all Integers smaller than zero from a DataSet:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// FilterFunction that filters out all Integers smaller than zero.</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">NaturalNumberFilter</span> <span class="kd">implements</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Integer</span> <span class="n">number</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">number</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="o">;</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">intNumbers</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">naturalNumbers</span> <span class="o">=</span> <span class="n">intNumbers</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="nf">NaturalNumberFilter</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">intNumbers</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Int</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">naturalNumbers</span> <span class="k">=</span> <span class="n">intNumbers</span><span class="o">.</span><span class="n">filter</span> <span class="o">{</span> <span class="k">_</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="n">naturalNumbers</span> <span class="o">=</span> <span class="n">intNumbers</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<p><strong>IMPORTANT:</strong> The system assumes that the function does not modify the elements on which the predicate is applied. Violating this assumption
-can lead to incorrect results.</p>
-
-<h3 id="project-tuple-datasets-only-javapython-api-only">Project (Tuple DataSets only) (Java/Python API Only)</h3>
-
-<p>The Project transformation removes or moves Tuple fields of a Tuple DataSet.
-The <code>project(int...)</code> method selects Tuple fields that should be retained by their index and defines their order in the output Tuple.</p>
-
-<p>Projections do not require the definition of a user function.</p>
-
-<p>The following code shows different ways to apply a Project transformation on a DataSet:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="c1">// converts Tuple3&lt;Integer, Double, String&gt; into Tuple2&lt;String, Integer&gt;</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="mi">0</span><span class="o">);</span></code></pre></div>
-
-    <h4 id="projection-with-type-hint">Projection with Type Hint</h4>
-
-    <p>Note that the Java compiler cannot infer the return type of <code>project</code> operator. This can cause a problem if you call another operator on a result of <code>project</code> operator such as:</p>
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple5</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">String</span><span class="o">,</span><span class="n">String</span><span class="o">,</span><span class="n">String</span><span class="o">,</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">ds</span> <span class="o">=</span> <span class="o">....</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple1</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">ds2</span> <span class="o">=</span> <span class="n">ds</span><span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">distinct</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span></code></pre></div>
-
-    <p>This problem can be overcome by hinting the return type of <code>project</code> operator like this:</p>
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple1</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">ds2</span> <span class="o">=</span> <span class="n">ds</span><span class="o">.&lt;</span><span class="n">Tuple1</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span><span class="n">project</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">distinct</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span></code></pre></div>
-
-    <h3 id="transformations-on-grouped-dataset">Transformations on Grouped DataSet</h3>
-
-    <p>The reduce operations can operate on grouped data sets. Specifying the key to
-be used for grouping can be done in many ways:</p>
-
-    <ul>
-      <li>key expressions</li>
-      <li>a key-selector function</li>
-      <li>one or more field position keys (Tuple DataSet only)</li>
-      <li>Case Class fields (Case Classes only)</li>
-    </ul>
-
-    <p>Please look at the reduce examples to see how the grouping keys are specified.</p>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"><span class="n">out</span> <span class="o">=</span> <span class="ow">in</span><span class="o">.</span><span class="n">project</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">0</span><span class="p">);</span></code></pre></div>
-
-    <h3 id="transformations-on-grouped-dataset-1">Transformations on Grouped DataSet</h3>
-
-    <p>The reduce operations can operate on grouped data sets. Specifying the key to
-be used for grouping can be done using one or more field position keys (Tuple DataSet only).</p>
-
-    <p>Please look at the reduce examples to see how the grouping keys are specified.</p>
-
-  </div>
-</div>
-
-<h3 id="reduce-on-grouped-dataset">Reduce on Grouped DataSet</h3>
-
-<p>A Reduce transformation that is applied on a grouped DataSet reduces each group to a single
-element using a user-defined reduce function.
-For each group of input elements, a reduce function successively combines pairs of elements into one
-element until only a single element for each group remains.</p>
-
-<h4 id="reduce-on-dataset-grouped-by-keyselector-function">Reduce on DataSet Grouped by KeySelector Function</h4>
-
-<p>A key-selector function extracts a key value from each element of a DataSet. The extracted key
-value is used to group the DataSet.
-The following code shows how to group a POJO DataSet using a key-selector function and to reduce it
-with a reduce function.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// some ordinary POJO</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">WC</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="n">word</span><span class="o">;</span>
-  <span class="kd">public</span> <span class="kt">int</span> <span class="n">count</span><span class="o">;</span>
-  <span class="c1">// [...]</span>
-<span class="o">}</span>
-
-<span class="c1">// ReduceFunction that sums Integer attributes of a POJO</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">WordCounter</span> <span class="kd">implements</span> <span class="n">ReduceFunction</span><span class="o">&lt;</span><span class="n">WC</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">WC</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">WC</span> <span class="n">in1</span><span class="o">,</span> <span class="n">WC</span> <span class="n">in2</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="k">new</span> <span class="nf">WC</span><span class="o">(</span><span class="n">in1</span><span class="o">.</span><span class="na">word</span><span class="o">,</span> <span class="n">in1</span><span class="o">.</span><span class="na">count</span> <span class="o">+</span> <span class="n">in2</span><span class="o">.</span><span class="na">count</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">WC</span><span class="o">&gt;</span> <span class="n">words</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">WC</span><span class="o">&gt;</span> <span class="n">wordCounts</span> <span class="o">=</span> <span class="n">words</span>
-                         <span class="c1">// DataSet grouping on field &quot;word&quot;</span>
-                         <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="s">&quot;word&quot;</span><span class="o">)</span>
-                         <span class="c1">// apply ReduceFunction on grouped DataSet</span>
-                         <span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="k">new</span> <span class="nf">WordCounter</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="c1">// some ordinary POJO</span>
-<span class="k">class</span> <span class="nc">WC</span><span class="o">(</span><span class="k">val</span> <span class="n">word</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="k">val</span> <span class="n">count</span><span class="k">:</span> <span class="kt">Int</span><span class="o">)</span> <span class="o">{</span>
-  <span class="k">def</span> <span class="k">this</span><span class="o">()</span> <span class="o">{</span>
-    <span class="k">this</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="o">-</span><span class="mi">1</span><span class="o">)</span>
-  <span class="o">}</span>
-  <span class="c1">// [...]</span>
-<span class="o">}</span>
-
-<span class="k">val</span> <span class="n">words</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">WC</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">wordCounts</span> <span class="k">=</span> <span class="n">words</span><span class="o">.</span><span class="n">groupBy</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">word</span> <span class="o">}</span> <span class="n">reduce</span> <span class="o">{</span>
-  <span class="o">(</span><span class="n">w1</span><span class="o">,</span> <span class="n">w2</span><span class="o">)</span> <span class="k">=&gt;</span> <span class="k">new</span> <span class="nc">WC</span><span class="o">(</span><span class="n">w1</span><span class="o">.</span><span class="n">word</span><span class="o">,</span> <span class="n">w1</span><span class="o">.</span><span class="n">count</span> <span class="o">+</span> <span class="n">w2</span><span class="o">.</span><span class="n">count</span><span class="o">)</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"><span class="n">Not</span> <span class="n">supported</span><span class="o">.</span></code></pre></div>
-  </div>
-</div>
-
-<h4 id="reduce-on-dataset-grouped-by-field-position-keys-tuple-datasets-only">Reduce on DataSet Grouped by Field Position Keys (Tuple DataSets only)</h4>
-
-<p>Field position keys specify one or more fields of a Tuple DataSet that are used as grouping keys.
-The following code shows how to use field position keys and apply a reduce function</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">tuples</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">reducedTuples</span> <span class="o">=</span>
-                                         <span class="n">tuples</span>
-                                         <span class="c1">// group DataSet on first and second field of Tuple</span>
-                                         <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span><span class="mi">1</span><span class="o">)</span>
-                                         <span class="c1">// apply ReduceFunction on grouped DataSet</span>
-                                         <span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="k">new</span> <span class="nf">MyTupleReducer</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">tuples</span> <span class="k">=</span> <span class="nc">DataSet</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="c1">// group on the first and second Tuple field</span>
-<span class="k">val</span> <span class="n">reducedTuples</span> <span class="k">=</span> <span class="n">tuples</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="mi">1</span><span class="o">).</span><span class="n">reduce</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span></code></pre></div>
-
-    <h4 id="reduce-on-dataset-grouped-by-case-class-fields">Reduce on DataSet grouped by Case Class Fields</h4>
-
-    <p>When using Case Classes you can also specify the grouping key using the names of the fields:</p>
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">case</span> <span class="k">class</span> <span class="nc">MyClass</span><span class="o">(</span><span class="k">val</span> <span class="n">a</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">b</span><span class="k">:</span> <span class="kt">Int</span><span class="o">,</span> <span class="n">c</span><span class="k">:</span> <span class="kt">Double</span><span class="o">)</span>
-<span class="k">val</span> <span class="n">tuples</span> <span class="k">=</span> <span class="nc">DataSet</span><span class="o">[</span><span class="kt">MyClass</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="c1">// group on the first and second field</span>
-<span class="k">val</span> <span class="n">reducedTuples</span> <span class="k">=</span> <span class="n">tuples</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="s">&quot;a&quot;</span><span class="o">,</span> <span class="s">&quot;b&quot;</span><span class="o">).</span><span class="n">reduce</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="n">reducedTuples</span> <span class="o">=</span> <span class="n">tuples</span><span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">reduce</span><span class="p">(</span> <span class="o">...</span> <span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="groupreduce-on-grouped-dataset">GroupReduce on Grouped DataSet</h3>
-
-<p>A GroupReduce transformation that is applied on a grouped DataSet calls a user-defined
-group-reduce function for each group. The difference
-between this and <em>Reduce</em> is that the user defined function gets the whole group at once.
-The function is invoked with an Iterable over all elements of a group and can return an arbitrary
-number of result elements.</p>
-
-<h4 id="groupreduce-on-dataset-grouped-by-field-position-keys-tuple-datasets-only">GroupReduce on DataSet Grouped by Field Position Keys (Tuple DataSets only)</h4>
-
-<p>The following code shows how duplicate strings can be removed from a DataSet grouped by Integer.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">DistinctReduce</span>
-         <span class="kd">implements</span> <span class="n">GroupReduceFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">in</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-
-    <span class="n">Set</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">uniqStrings</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HashSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;();</span>
-    <span class="n">Integer</span> <span class="n">key</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
-
-    <span class="c1">// add all strings of the group to the set</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">t</span> <span class="o">:</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">key</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="na">f0</span><span class="o">;</span>
-      <span class="n">uniqStrings</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">t</span><span class="o">.</span><span class="na">f1</span><span class="o">);</span>
-    <span class="o">}</span>
-
-    <span class="c1">// emit all unique strings.</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">s</span> <span class="o">:</span> <span class="n">uniqStrings</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;(</span><span class="n">key</span><span class="o">,</span> <span class="n">s</span><span class="o">));</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">input</span>
-                           <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>            <span class="c1">// group DataSet by the first tuple field</span>
-                           <span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="nf">DistinctReduce</span><span class="o">());</span>  <span class="c1">// apply GroupReduceFunction</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">output</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">reduceGroup</span> <span class="o">{</span>
-      <span class="o">(</span><span class="n">in</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)])</span> <span class="k">=&gt;</span>
-        <span class="n">in</span><span class="o">.</span><span class="n">toSet</span> <span class="n">foreach</span> <span class="o">(</span><span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">)</span>
-    <span class="o">}</span></code></pre></div>
-
-    <h4 id="groupreduce-on-dataset-grouped-by-case-class-fields">GroupReduce on DataSet Grouped by Case Class Fields</h4>
-
-    <p>Works analogous to grouping by Case Class fields in <em>Reduce</em> transformations.</p>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="k">class</span> <span class="nc">DistinctReduce</span><span class="p">(</span><span class="n">GroupReduceFunction</span><span class="p">):</span>
-   <span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-     <span class="n">dic</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
-     <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">:</span>
-       <span class="n">dic</span><span class="p">[</span><span class="n">value</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="mi">1</span>
-     <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">dic</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
-       <span class="n">collector</span><span class="o">.</span><span class="n">collect</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-
- <span class="n">output</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">DistinctReduce</span><span class="p">(),</span> <span class="n">STRING</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h4 id="groupreduce-on-dataset-grouped-by-keyselector-function">GroupReduce on DataSet Grouped by KeySelector Function</h4>
-
-<p>Works analogous to key-selector functions in <em>Reduce</em> transformations.</p>
-
-<h4 id="groupreduce-on-sorted-groups">GroupReduce on sorted groups</h4>
-
-<p>A group-reduce function accesses the elements of a group using an Iterable. Optionally, the Iterable can hand out the elements of a group in a specified order. In many cases this can help to reduce the complexity of a user-defined
-group-reduce function and improve its efficiency.</p>
-
-<p>The following code shows another example how to remove duplicate Strings in a DataSet grouped by an Integer and sorted by String.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// GroupReduceFunction that removes consecutive identical elements</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">DistinctReduce</span>
-         <span class="kd">implements</span> <span class="n">GroupReduceFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">in</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">Integer</span> <span class="n">key</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
-    <span class="n">String</span> <span class="n">comp</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
-
-    <span class="k">for</span> <span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">t</span> <span class="o">:</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">key</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="na">f0</span><span class="o">;</span>
-      <span class="n">String</span> <span class="n">next</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-
-      <span class="c1">// check if strings are different</span>
-      <span class="k">if</span> <span class="o">(</span><span class="n">com</span> <span class="o">==</span> <span class="kc">null</span> <span class="o">||</span> <span class="o">!</span><span class="n">next</span><span class="o">.</span><span class="na">equals</span><span class="o">(</span><span class="n">comp</span><span class="o">))</span> <span class="o">{</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;(</span><span class="n">key</span><span class="o">,</span> <span class="n">next</span><span class="o">));</span>
-        <span class="n">comp</span> <span class="o">=</span> <span class="n">next</span><span class="o">;</span>
-      <span class="o">}</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">input</span>
-                         <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>                         <span class="c1">// group DataSet by first field</span>
-                         <span class="o">.</span><span class="na">sortGroup</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">Order</span><span class="o">.</span><span class="na">ASCENDING</span><span class="o">)</span>      <span class="c1">// sort groups on second tuple field</span>
-                         <span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="nf">DistinctReduce</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">output</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">sortGroup</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="nc">Order</span><span class="o">.</span><span class="nc">ASCENDING</span><span class="o">).</span><span class="n">reduceGroup</span> <span class="o">{</span>
-      <span class="o">(</span><span class="n">in</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)])</span> <span class="k">=&gt;</span>
-        <span class="k">var</span> <span class="n">prev</span><span class="k">:</span> <span class="o">(</span><span class="kt">Int</span><span class="o">,</span> <span class="kt">String</span><span class="o">)</span> <span class="k">=</span> <span class="kc">null</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">t</span> <span class="k">&lt;-</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-          <span class="k">if</span> <span class="o">(</span><span class="n">prev</span> <span class="o">==</span> <span class="kc">null</span> <span class="o">||</span> <span class="n">prev</span> <span class="o">!=</span> <span class="n">t</span><span class="o">)</span>
-            <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="n">t</span><span class="o">)</span>
-        <span class="o">}</span>
-    <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="k">class</span> <span class="nc">DistinctReduce</span><span class="p">(</span><span class="n">GroupReduceFunction</span><span class="p">):</span>
-   <span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-     <span class="n">dic</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
-     <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">:</span>
-       <span class="n">dic</span><span class="p">[</span><span class="n">value</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="mi">1</span>
-     <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">dic</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
-       <span class="n">collector</span><span class="o">.</span><span class="n">collect</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-
- <span class="n">output</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">sort_group</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">Order</span><span class="o">.</span><span class="n">ASCENDING</span><span class="p">)</span><span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">DistinctReduce</span><span class="p">(),</span> <span class="n">STRING</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<p><strong>Note:</strong> A GroupSort often comes for free if the grouping is established using a sort-based execution strategy of an operator before the reduce operation.</p>
-
-<h4 id="combinable-groupreducefunctions">Combinable GroupReduceFunctions</h4>
-
-<p>In contrast to a reduce function, a group-reduce function is not
-necessarily combinable. In order to make a group-reduce function
-combinable, you need to use the <code>RichGroupReduceFunction</code> variant,
-implement (override) the <code>combine()</code> method, and annotate the
-<code>RichGroupReduceFunction</code> with the <code>@Combinable</code> annotation as shown here:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// Combinable GroupReduceFunction that computes two sums.</span>
-<span class="c1">// Note that we use the RichGroupReduceFunction because it defines the combine method</span>
-<span class="nd">@Combinable</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyCombinableGroupReducer</span>
-         <span class="kd">extends</span> <span class="n">RichGroupReduceFunction</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span>
-                                     <span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">in</span><span class="o">,</span>
-                     <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-
-    <span class="n">String</span> <span class="n">key</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
-    <span class="kt">int</span> <span class="n">intSum</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-    <span class="kt">double</span> <span class="n">doubleSum</span> <span class="o">=</span> <span class="mf">0.0</span><span class="o">;</span>
-
-    <span class="k">for</span> <span class="o">(</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">curr</span> <span class="o">:</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">key</span> <span class="o">=</span> <span class="n">curr</span><span class="o">.</span><span class="na">f0</span><span class="o">;</span>
-      <span class="n">intSum</span> <span class="o">+=</span> <span class="n">curr</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-      <span class="n">doubleSum</span> <span class="o">+=</span> <span class="n">curr</span><span class="o">.</span><span class="na">f2</span><span class="o">;</span>
-    <span class="o">}</span>
-    <span class="c1">// emit a tuple with both sums</span>
-    <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;(</span><span class="n">key</span><span class="o">,</span> <span class="n">intSum</span><span class="o">,</span> <span class="n">doubleSum</span><span class="o">));</span>
-  <span class="o">}</span>
-
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">combine</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">in</span><span class="o">,</span>
-                      <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="c1">// in some cases combine() calls can simply be forwarded to reduce().</span>
-    <span class="k">this</span><span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="n">in</span><span class="o">,</span> <span class="n">out</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="c1">// Combinable GroupReduceFunction that computes two sums.</span>
-<span class="c1">// Note that we use the RichGroupReduceFunction because it defines the combine method</span>
-<span class="nd">@Combinable</span>
-<span class="k">class</span> <span class="nc">MyCombinableGroupReducer</span>
-  <span class="k">extends</span> <span class="nc">RichGroupReduceFunction</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)</span>, <span class="o">(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="o">{}</span>
-
-  <span class="k">def</span> <span class="n">reduce</span><span class="o">(</span>
-      <span class="n">in</span><span class="k">:</span> <span class="kt">java.lang.Iterable</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)],</span>
-      <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)])</span><span class="k">:</span> <span class="kt">Unit</span> <span class="o">=</span> <span class="o">{</span>
-
-    <span class="k">val</span> <span class="n">key</span><span class="k">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kc">null</span>
-    <span class="k">val</span> <span class="n">intSum</span> <span class="k">=</span> <span class="mi">0</span>
-    <span class="k">val</span> <span class="n">doubleSum</span> <span class="k">=</span> <span class="mf">0.0</span>
-
-    <span class="k">for</span> <span class="o">(</span><span class="n">curr</span> <span class="k">&lt;-</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">key</span> <span class="k">=</span> <span class="n">curr</span><span class="o">.</span><span class="n">_1</span>
-      <span class="n">intSum</span> <span class="o">+=</span> <span class="n">curr</span><span class="o">.</span><span class="n">_2</span>
-      <span class="n">doubleSum</span> <span class="o">+=</span> <span class="n">curr</span><span class="o">.</span><span class="n">_3</span>
-    <span class="o">}</span>
-    <span class="c1">// emit a tuple with both sums</span>
-    <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="n">key</span><span class="o">,</span> <span class="n">intSum</span><span class="o">,</span> <span class="n">doubleSum</span><span class="o">);</span>
-  <span class="o">}</span>
-
-  <span class="k">def</span> <span class="n">combine</span><span class="o">(</span>
-      <span class="n">in</span><span class="k">:</span> <span class="kt">java.lang.Iterable</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)],</span>
-      <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)])</span><span class="k">:</span> <span class="kt">Unit</span> <span class="o">=</span> <span class="o">{</span>
-    <span class="c1">// in some cases combine() calls can simply be forwarded to reduce().</span>
-    <span class="k">this</span><span class="o">.</span><span class="n">reduce</span><span class="o">(</span><span class="n">in</span><span class="o">,</span> <span class="n">out</span><span class="o">)</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="k">class</span> <span class="nc">GroupReduce</span><span class="p">(</span><span class="n">GroupReduceFunction</span><span class="p">):</span>
-   <span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-     <span class="n">key</span><span class="p">,</span> <span class="n">int_sum</span><span class="p">,</span> <span class="n">float_sum</span> <span class="o">=</span> <span class="n">iterator</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-     <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">:</span>
-       <span class="n">int_sum</span> <span class="o">+=</span> <span class="n">value</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
-       <span class="n">float_sum</span> <span class="o">+=</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
-     <span class="n">collector</span><span class="o">.</span><span class="n">collect</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">int_sum</span><span class="p">,</span> <span class="n">float_sum</span><span class="p">))</span>
-   <span class="c"># in some cases combine() calls can simply be forwarded to reduce().</span>
-   <span class="k">def</span> <span class="nf">combine</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-     <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">reduce</span><span class="p">(</span><span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">)</span>
-
-<span class="n">data</span><span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">GroupReduce</span><span class="p">(),</span> <span class="p">(</span><span class="n">STRING</span><span class="p">,</span> <span class="n">INT</span><span class="p">,</span> <span class="n">FLOAT</span><span class="p">),</span> <span class="n">combinable</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="groupcombine-on-a-grouped-dataset">GroupCombine on a Grouped DataSet</h3>
-
-<p>The GroupCombine transformation is the generalized form of the combine step in
-the Combinable GroupReduceFunction. It is generalized in the sense that it
-allows combining of input type <code>I</code> to an arbitrary output type <code>O</code>. In contrast,
-the combine step in the GroupReduce only allows combining from input type <code>I</code> to
-output type <code>I</code>. This is because the reduce step in the GroupReduceFunction
-expects input type <code>I</code>.</p>
-
-<p>In some applications, it is desirable to combine a DataSet into an intermediate
-format before performing additional transformations (e.g. to reduce data
-size). This can be achieved with a ComineGroup transformation with very little
-costs.</p>
-
-<p><strong>Note:</strong> The GroupCombine on a Grouped DataSet is performed in memory with a
-  greedy strategy which may not process all data at once but in multiple
-  steps. It is also performed on the individual partitions without a data
-  exchange like in a GroupReduce transformation. This may lead to partial
-  results.</p>
-
-<p>The following example demonstrates the use of a CombineGroup transformation for
-an alternative WordCount implementation. In the implementation,</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="o">[..]</span> <span class="c1">// The words received as input</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">groupedInput</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span> <span class="c1">// group identical words</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">combinedWords</span> <span class="o">=</span> <span class="n">groupedInput</span><span class="o">.</span><span class="na">combineGroup</span><span class="o">(</span><span class="k">new</span> <span class="n">GroupCombineFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">combine</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">words</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;)</span> <span class="o">{</span> <span class="c1">// combine</span>
-        <span class="kt">int</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">word</span> <span class="o">:</span> <span class="n">words</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">count</span><span class="o">++;</span>
-        <span class="o">}</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tuple2</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="o">}</span>
-<span class="o">});</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">groupedCombinedWords</span> <span class="o">=</span> <span class="n">combinedWords</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span> <span class="c1">// group by words again</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">combinedWords</span><span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="nf">GroupReduceFunction</span><span class="o">()</span> <span class="o">{</span> <span class="c1">// group reduce with full data exchange</span>
-
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;)</span> <span class="o">{</span>
-        <span class="kt">int</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="n">word</span> <span class="o">:</span> <span class="n">words</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">count</span><span class="o">++;</span>
-        <span class="o">}</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tuple2</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="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="o">[</span><span class="kt">..</span><span class="o">]</span> <span class="c1">// The words received as input</span>
-<span class="k">val</span> <span class="n">groupedInput</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-
-<span class="k">val</span> <span class="n">combinedWords</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span><span class="o">)]</span> <span class="k">=</span> <span class="n">groupedInput</span><span class="o">.</span><span class="n">combineGroup</span> <span class="o">{</span>
-    <span class="o">(</span><span class="n">words</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span><span class="o">)])</span> <span class="k">=&gt;</span>
-        <span class="k">var</span> <span class="n">count</span> <span class="k">=</span> <span class="mi">0</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">word</span> <span class="k">&lt;-</span> <span class="n">words</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">count</span><span class="o">++</span>
-        <span class="o">}</span>
-        <span class="n">out</span><span class="o">.</span><span class="n">collect</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="o">}</span>
-
-<span class="k">val</span> <span class="n">groupedCombinedWords</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span><span class="o">)]</span> <span class="k">=</span> <span class="n">combinedWords</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-
-<span class="k">val</span> <span class="n">output</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span><span class="o">)]</span> <span class="k">=</span> <span class="n">groupedInput</span><span class="o">.</span><span class="n">reduceGroup</span> <span class="o">{</span>
-    <span class="o">(</span><span class="n">words</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span><span class="o">)])</span> <span class="k">=&gt;</span>
-        <span class="k">var</span> <span class="n">count</span> <span class="k">=</span> <span class="mi">0</span>
-        <span class="k">for</span> <span class="o">((</span><span class="n">word</span><span class="o">,</span> <span class="nc">Int</span><span class="o">)</span> <span class="k">&lt;-</span> <span class="n">words</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">count</span><span class="o">++</span>
-        <span class="o">}</span>
-        <span class="n">out</span><span class="o">.</span><span class="n">collect</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="o">}</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>The above alternative WordCount implementation demonstrates how the GroupCombine
-combines words before performing the GroupReduce transformation. The above
-example is just a proof of concept. Note, how the combine step changes the type
-of the DataSet which would normally required an additional Map transformation
-before executing the GroupReduce.</p>
-
-<h3 id="aggregate-on-grouped-tuple-dataset">Aggregate on Grouped Tuple DataSet</h3>
-
-<p>There are some common aggregation operations that are frequently used. The Aggregate transformation provides the following build-in aggregation functions:</p>
-
-<ul>
-  <li>Sum,</li>
-  <li>Min, and</li>
-  <li>Max.</li>
-</ul>
-
-<p>The Aggregate transformation can only be applied on a Tuple DataSet and supports only field positions keys for grouping.</p>
-
-<p>The following code shows how to apply an Aggregation transformation on a DataSet grouped by field position keys:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">input</span>
-                                   <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>        <span class="c1">// group DataSet on second field</span>
-                                   <span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">SUM</span><span class="o">,</span> <span class="mi">0</span><span class="o">)</span> <span class="c1">// compute sum of the first field</span>
-                                   <span class="o">.</span><span class="na">and</span><span class="o">(</span><span class="n">MIN</span><span class="o">,</span> <span class="mi">2</span><span class="o">);</span>      <span class="c1">// compute minimum of the third field</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span>, <span class="kt">Dou

<TRUNCATED>

[08/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/fig/job_and_execution_graph.svg
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/fig/job_and_execution_graph.svg b/content/docs/master/internals/fig/job_and_execution_graph.svg
deleted file mode 100644
index 2f90ea1..0000000
--- a/content/docs/master/internals/fig/job_and_execution_graph.svg
+++ /dev/null
@@ -1,851 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="860.40625"
-   height="541.0625"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.5 r10040">
-  <defs
-     id="defs4" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.35"
-     inkscape:cx="430.20675"
-     inkscape:cy="270.53212"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:window-width="1600"
-     inkscape:window-height="838"
-     inkscape:window-x="1912"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(55.206749,-261.8318)">
-    <g
-       id="g2989"
-       transform="translate(-78.581749,159.5193)">
-      <path
-         id="path2991"
-         d="m 336.57135,443.36045 c 0,-3.6384 2.96324,-6.60164 6.60164,-6.60164 l 500.22462,0 c 3.63841,0 6.60165,2.96324 6.60165,6.60164 l 0,26.36907 c 0,3.63841 -2.96324,6.56414 -6.60165,6.56414 l -500.22462,0 c -3.6384,0 -6.60164,-2.92573 -6.60164,-6.56414 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2993"
-         d="m 336.57135,443.36045 c 0,-3.6384 2.96324,-6.60164 6.60164,-6.60164 l 500.22462,0 c 3.63841,0 6.60165,2.96324 6.60165,6.60164 l 0,26.36907 c 0,3.63841 -2.96324,6.56414 -6.60165,6.56414 l -500.22462,0 c -3.6384,0 -6.60164,-2.92573 -6.60164,-6.56414 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text2995"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="453.48053"
-         x="347.62067"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text2997"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="469.98465"
-         x="347.62067"
-         xml:space="preserve">Result</text>
-      <path
-         id="path2999"
-         d="m 336.57135,550.86223 c 0,-9.33982 7.57689,-16.8792 16.8792,-16.8792 l 479.6695,0 c 9.30232,0 16.87921,7.53938 16.87921,16.8792 l 0,67.51682 c 0,9.30232 -7.57689,16.87921 -16.87921,16.87921 l -479.6695,0 c -9.30231,0 -16.8792,-7.57689 -16.8792,-16.87921 z"
-         style="fill:#c5e0b4;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3001"
-         d="m 336.57135,550.86223 c 0,-9.33982 7.57689,-16.8792 16.8792,-16.8792 l 479.6695,0 c 9.30232,0 16.87921,7.53938 16.87921,16.8792 l 0,67.51682 c 0,9.30232 -7.57689,16.87921 -16.87921,16.87921 l -479.6695,0 c -9.30231,0 -16.8792,-7.57689 -16.8792,-16.87921 z"
-         style="fill:none;stroke:#548235;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3003"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="581.19519"
-         x="350.63596"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3005"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="599.19965"
-         x="350.63596"
-         xml:space="preserve">Job Vertex</text>
-      <path
-         id="path3007"
-         d="m 336.57135,345.1985 c 0,-9.33983 7.57689,-16.87921 16.91671,-16.87921 l 479.59448,0 c 9.33983,0 16.91672,7.53938 16.91672,16.87921 l 0,67.62935 c 0,9.33982 -7.57689,16.91671 -16.91672,16.91671 l -479.59448,0 c -9.33982,0 -16.91671,-7.57689 -16.91671,-16.91671 z"
-         style="fill:#c5e0b4;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3009"
-         d="m 336.57135,345.1985 c 0,-9.33983 7.57689,-16.87921 16.91671,-16.87921 l 479.59448,0 c 9.33983,0 16.91672,7.53938 16.91672,16.87921 l 0,67.62935 c 0,9.33982 -7.57689,16.91671 -16.91672,16.91671 l -479.59448,0 c -9.33982,0 -16.91671,-7.57689 -16.91671,-16.91671 z"
-         style="fill:none;stroke:#548235;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3011"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="375.60931"
-         x="350.63596"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3013"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="393.6138"
-         x="350.63596"
-         xml:space="preserve">Job Vertex</text>
-      <path
-         id="path3015"
-         d="m 336.57135,168.41696 c 0,-9.30232 7.57689,-16.87921 16.8792,-16.87921 l 479.6695,0 c 9.30232,0 16.87921,7.57689 16.87921,16.87921 l 0,67.51682 c 0,9.33982 -7.57689,16.8792 -16.87921,16.8792 l -479.6695,0 c -9.30231,0 -16.8792,-7.53938 -16.8792,-16.8792 z"
-         style="fill:#c5e0b4;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3017"
-         d="m 336.57135,168.41696 c 0,-9.30232 7.57689,-16.87921 16.8792,-16.87921 l 479.6695,0 c 9.30232,0 16.87921,7.57689 16.87921,16.87921 l 0,67.51682 c 0,9.33982 -7.57689,16.8792 -16.87921,16.8792 l -479.6695,0 c -9.30231,0 -16.8792,-7.53938 -16.8792,-16.8792 z"
-         style="fill:none;stroke:#548235;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3019"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="198.77649"
-         x="350.63596"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3021"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="216.78098"
-         x="350.63596"
-         xml:space="preserve">Job Vertex</text>
-      <path
-         id="path3023"
-         d="m 24.643639,116.76659 c 0,-7.31432 5.888967,-13.20329 13.16578,-13.20329 l 211.665231,0 c 7.27681,0 13.20329,5.88897 13.20329,13.20329 l 0,512.1901 c 0,7.27681 -5.92648,13.16578 -13.20329,13.16578 l -211.665231,0 c -7.276813,0 -13.16578,-5.88897 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3025"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="123.25767"
-         x="108.06521"
-         xml:space="preserve">JobGraph</text>
-      <path
-         id="path3027"
-         d="m 181.95783,550.29959 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.04872,17.17928 -62.228,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.04872,-17.17928 62.228,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3029"
-         d="m 181.95783,550.29959 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.04872,17.17928 -62.228,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.04872,-17.17928 62.228,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3031"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="578.25909"
-         x="119.9825"
-         xml:space="preserve">JobVertex</text>
-      <text
-         id="text3033"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="594.76318"
-         x="141.73792"
-         xml:space="preserve">(A)</text>
-      <path
-         id="path3035"
-         d="m 235.24923,198.02121 c 17.15115,17.17928 17.15115,45.02997 0,62.20924 -17.15115,17.18866 -44.95495,17.18866 -62.1061,0 -17.15114,-17.17927 -17.15114,-45.02996 0,-62.20924 17.15115,-17.18866 44.95495,-17.18866 62.1061,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3037"
-         d="m 235.24923,198.02121 c 17.15115,17.17928 17.15115,45.02997 0,62.20924 -17.15115,17.18866 -44.95495,17.18866 -62.1061,0 -17.15114,-17.17927 -17.15114,-45.02996 0,-62.20924 17.15115,-17.18866 44.95495,-17.18866 62.1061,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.50374866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3039"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="226.05666"
-         x="173.28711"
-         xml:space="preserve">JobVertex</text>
-      <text
-         id="text3041"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="242.56078"
-         x="194.59242"
-         xml:space="preserve">(D)</text>
-      <path
-         id="path3043"
-         d="m 127.8506,390.07843 c 17.19804,17.14177 17.19804,44.95495 0,62.09672 -17.17928,17.16052 -45.029967,17.16052 -62.209247,0 -17.17928,-17.14177 -17.17928,-44.95495 0,-62.09672 17.17928,-17.16053 45.029967,-17.16053 62.209247,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3045"
-         d="m 127.8506,390.07843 c 17.19804,17.14177 17.19804,44.95495 0,62.09672 -17.17928,17.16052 -45.029967,17.16052 -62.209247,0 -17.17928,-17.14177 -17.17928,-44.95495 0,-62.09672 17.17928,-17.16053 45.029967,-17.16053 62.209247,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3047"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="418.08206"
-         x="65.897766"
-         xml:space="preserve">JobVertex</text>
-      <text
-         id="text3049"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="434.58615"
-         x="87.653183"
-         xml:space="preserve">(B)</text>
-      <path
-         id="path3051"
-         d="m 495.49844,554.70694 -16.84169,-20.29255 2.88821,-2.4006 16.82295,20.29255 -2.86947,2.4006 z m -18.52962,-16.44785 -2.85071,-12.26555 11.51537,5.08251 -8.66466,7.18304 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3053"
-         d="m 50.412559,493.43543 c 0,-2.982 2.419353,-5.4201 5.4201,-5.4201 l 75.900161,0 c 3.00075,0 5.4201,2.4381 5.4201,5.4201 l 0,21.6804 c 0,2.98199 -2.41935,5.4201 -5.4201,5.4201 l -75.900161,0 c -3.000747,0 -5.4201,-2.43811 -5.4201,-5.4201 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3055"
-         d="m 50.412559,493.43543 c 0,-2.982 2.419353,-5.4201 5.4201,-5.4201 l 75.900161,0 c 3.00075,0 5.4201,2.4381 5.4201,5.4201 l 0,21.6804 c 0,2.98199 -2.41935,5.4201 -5.4201,5.4201 l -75.900161,0 c -3.000747,0 -5.4201,-2.43811 -5.4201,-5.4201 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3057"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="501.16693"
-         x="55.542233"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3059"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="517.67102"
-         x="66.945076"
-         xml:space="preserve">Data Set</text>
-      <path
-         id="path3061"
-         d="m 162.79056,493.43543 c 0,-2.982 2.41935,-5.4201 5.4201,-5.4201 l 75.90015,0 c 2.982,0 5.4201,2.4381 5.4201,5.4201 l 0,21.6804 c 0,2.98199 -2.4381,5.4201 -5.4201,5.4201 l -75.90015,0 c -3.00075,0 -5.4201,-2.43811 -5.4201,-5.4201 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3063"
-         d="m 162.79056,493.43543 c 0,-2.982 2.41935,-5.4201 5.4201,-5.4201 l 75.90015,0 c 2.982,0 5.4201,2.4381 5.4201,5.4201 l 0,21.6804 c 0,2.98199 -2.4381,5.4201 -5.4201,5.4201 l -75.90015,0 c -3.00075,0 -5.4201,-2.43811 -5.4201,-5.4201 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3065"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="501.16693"
-         x="167.96423"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3067"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="517.67102"
-         x="179.36708"
-         xml:space="preserve">Data Set</text>
-      <path
-         id="path3069"
-         d="m 118.47326,152.2223 c 17.18866,17.17928 17.18866,45.03934 0,62.21862 -17.1699,17.17928 -45.029963,17.17928 -62.209243,0 -17.17928,-17.17928 -17.17928,-45.03934 0,-62.21862 17.17928,-17.17928 45.039343,-17.17928 62.209243,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3071"
-         d="m 118.47326,152.2223 c 17.18866,17.17928 17.18866,45.03934 0,62.21862 -17.1699,17.17928 -45.029963,17.17928 -62.209243,0 -17.17928,-17.17928 -17.17928,-45.03934 0,-62.21862 17.17928,-17.17928 45.039343,-17.17928 62.209243,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.50374866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3073"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="180.25125"
-         x="56.508911"
-         xml:space="preserve">JobVertex</text>
-      <text
-         id="text3075"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="196.75536"
-         x="77.814217"
-         xml:space="preserve">(C)</text>
-      <path
-         id="path3077"
-         d="m 181.65776,551.49989 19.26104,-20.78017 -2.73818,-2.55064 -19.26105,20.78018 2.73819,2.55063 z m 20.74266,-16.86045 3.52588,-12.07801 -11.77793,4.42611 8.25205,7.6519 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3079"
-         d="m 95.57381,485.98982 0,-11.57163 -3.750935,0 0,11.57163 3.750935,0 z m 3.750934,-9.69616 -5.626401,-11.25281 -5.626402,11.25281 11.252803,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3081"
-         d="m 115.41625,326.10624 52.00671,-45.40506 -2.45686,-2.8132 -52.02546,45.40506 2.47561,2.8132 z m 53.05697,-41.3353 4.78244,-11.64665 -12.17178,3.16954 7.38934,8.47711 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3083"
-         d="m 217.64797,484.90205 0,-194.74852 -3.75093,0 0,194.74852 3.75093,0 z m 3.75094,-192.87305 -5.62641,-11.2528 -5.6264,11.2528 11.25281,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3085"
-         d="m 95.104943,321.88644 0.28132,-85.16497 -3.750934,-0.0188 -0.28132,85.18372 3.750934,0 z m 4.032255,-83.2895 -5.588893,-11.27156 -5.663911,11.23405 11.252804,0.0375 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3087"
-         d="m 55.101227,332.7829 c 0,-3.00074 2.419353,-5.4201 5.4201,-5.4201 l 75.750123,0 c 2.98199,0 5.4201,2.41936 5.4201,5.4201 l 0,21.66165 c 0,3.00075 -2.43811,5.4201 -5.4201,5.4201 l -75.750123,0 c -3.000747,0 -5.4201,-2.41935 -5.4201,-5.4201 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3089"
-         d="m 55.101227,332.7829 c 0,-3.00074 2.419353,-5.4201 5.4201,-5.4201 l 75.750123,0 c 2.98199,0 5.4201,2.41936 5.4201,5.4201 l 0,21.66165 c 0,3.00075 -2.43811,5.4201 -5.4201,5.4201 l -75.750123,0 c -3.000747,0 -5.4201,-2.41935 -5.4201,-5.4201 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3091"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="340.54807"
-         x="60.154701"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3093"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="357.05219"
-         x="71.557541"
-         xml:space="preserve">Data Set</text>
-      <path
-         id="path3095"
-         d="m 326.59386,117.55429 c 0,-7.72693 6.26406,-13.99099 13.99099,-13.99099 l 527.94402,0 c 7.72693,0 13.99099,6.26406 13.99099,13.99099 l 0,510.6147 c 0,7.68942 -6.26406,13.95348 -13.99099,13.95348 l -527.94402,0 c -7.72693,0 -13.99099,-6.26406 -13.99099,-13.95348 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3097"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="123.49081"
-         x="546.51147"
-         xml:space="preserve">ExecutionGraph</text>
-      <path
-         id="path3099"
-         d="m 560.50214,552.51264 c 17.14177,17.17928 17.14177,45.01122 0,62.1905 -17.14178,17.17928 -44.97371,17.17928 -62.11548,0 -17.14177,-17.17928 -17.14177,-45.01122 0,-62.1905 17.14177,-17.21678 44.9737,-17.21678 62.11548,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3101"
-         d="m 560.50214,552.51264 c 17.14177,17.17928 17.14177,45.01122 0,62.1905 -17.14178,17.17928 -44.97371,17.17928 -62.11548,0 -17.14177,-17.17928 -17.14177,-45.01122 0,-62.1905 17.14177,-17.21678 44.9737,-17.21678 62.11548,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3103"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="572.29529"
-         x="499.31607"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3105"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="588.79938"
-         x="509.66867"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3107"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="605.30347"
-         x="508.76843"
-         xml:space="preserve">A (0/2)</text>
-      <path
-         id="path3109"
-         d="m 766.16587,550.29959 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.04872,17.17928 -62.228,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.04872,-17.17928 62.228,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3111"
-         d="m 766.16587,550.29959 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.04872,17.17928 -62.228,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.04872,-17.17928 62.228,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3113"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="570.00702"
-         x="704.90192"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3115"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="586.51111"
-         x="715.25446"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3117"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="603.01526"
-         x="714.35425"
-         xml:space="preserve">A (1/2)</text>
-      <path
-         id="path3119"
-         d="m 336.57135,494.29814 c 0,-3.45086 2.8132,-6.26406 6.30157,-6.26406 l 500.86228,0 c 3.45086,0 6.26406,2.8132 6.26406,6.26406 l 0,25.13126 c 0,3.45086 -2.8132,6.26406 -6.26406,6.26406 l -500.86228,0 c -3.48837,0 -6.30157,-2.8132 -6.30157,-6.26406 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3121"
-         d="m 336.57135,494.29814 c 0,-3.45086 2.8132,-6.26406 6.30157,-6.26406 l 500.86228,0 c 3.45086,0 6.26406,2.8132 6.26406,6.26406 l 0,25.13126 c 0,3.45086 -2.8132,6.26406 -6.26406,6.26406 l -500.86228,0 c -3.48837,0 -6.30157,-2.8132 -6.30157,-6.26406 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3123"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="503.78391"
-         x="347.53018"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3125"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="520.28802"
-         x="347.53018"
-         xml:space="preserve">Result</text>
-      <path
-         id="path3127"
-         d="m 434.09564,496.3424 c 0,-2.79444 2.25056,-5.04501 5.04501,-5.04501 l 79.33226,0 c 2.7757,0 5.02626,2.25057 5.02626,5.04501 l 0,20.10501 c 0,2.77569 -2.25056,5.02625 -5.02626,5.02625 l -79.33226,0 c -2.79445,0 -5.04501,-2.25056 -5.04501,-5.02625 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3129"
-         d="m 434.09564,496.3424 c 0,-2.79444 2.25056,-5.04501 5.04501,-5.04501 l 79.33226,0 c 2.7757,0 5.02626,2.25057 5.02626,5.04501 l 0,20.10501 c 0,2.77569 -2.25056,5.02625 -5.02626,5.02625 l -79.33226,0 c -2.79445,0 -5.04501,-2.25056 -5.04501,-5.02625 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3131"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="503.60291"
-         x="444.14053"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3133"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="518.60663"
-         x="436.7887"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3135"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="518.60663"
-         x="475.49835"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3137"
-         d="m 631.65736,496.36116 c 0,-2.8132 2.25056,-5.06377 5.02625,-5.06377 l 79.33227,0 c 2.77569,0 5.02625,2.25057 5.02625,5.06377 l 0,20.105 c 0,2.7757 -2.25056,5.02626 -5.02625,5.02626 l -79.33227,0 c -2.77569,0 -5.02625,-2.25056 -5.02625,-5.02626 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3139"
-         d="m 631.65736,496.36116 c 0,-2.8132 2.25056,-5.06377 5.02625,-5.06377 l 79.33227,0 c 2.77569,0 5.02625,2.25057 5.02625,5.06377 l 0,20.105 c 0,2.7757 -2.25056,5.02626 -5.02625,5.02626 l -79.33227,0 c -2.77569,0 -5.02625,-2.25056 -5.02625,-5.02626 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3141"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="503.60291"
-         x="641.72223"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3143"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="518.60663"
-         x="634.37042"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3145"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="518.60663"
-         x="673.08008"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3147"
-         d="m 116.78534,552.36261 -16.71041,-20.42384 2.90698,-2.36309 16.71041,20.40508 -2.90698,2.38185 z m -18.417084,-16.59789 -2.794446,-12.26555 11.49661,5.13878 -8.702164,7.12677 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3149"
-         d="m 506.09483,345.06721 c 17.16053,17.14178 17.16053,44.95495 0,62.09672 -17.14177,17.16053 -44.95495,17.16053 -62.09672,0 -17.16052,-17.14177 -17.16052,-44.95494 0,-62.09672 17.14177,-17.16052 44.95495,-17.16052 62.09672,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3151"
-         d="m 506.09483,345.06721 c 17.16053,17.14178 17.16053,44.95495 0,62.09672 -17.14177,17.16053 -44.95495,17.16053 -62.09672,0 -17.16052,-17.14177 -17.16052,-44.95494 0,-62.09672 17.14177,-17.16052 44.95495,-17.16052 62.09672,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3153"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="364.74869"
-         x="444.95163"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3155"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="381.25281"
-         x="455.3042"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3157"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="397.75693"
-         x="454.40399"
-         xml:space="preserve">B (0/2)</text>
-      <path
-         id="path3159"
-         d="m 702.24995,347.56159 c 17.14177,17.17928 17.14177,44.9737 0,62.11547 -17.14177,17.14177 -44.9362,17.14177 -62.11548,0 -17.14177,-17.14177 -17.14177,-44.93619 0,-62.11547 17.17928,-17.14177 44.97371,-17.14177 62.11548,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3161"
-         d="m 702.24995,347.56159 c 17.14177,17.17928 17.14177,44.9737 0,62.11547 -17.14177,17.14177 -44.9362,17.14177 -62.11548,0 -17.14177,-17.14177 -17.14177,-44.93619 0,-62.11547 17.17928,-17.14177 44.97371,-17.14177 62.11548,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3163"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="367.29498"
-         x="641.09949"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3165"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="383.7991"
-         x="651.45203"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3167"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="400.30319"
-         x="650.55182"
-         xml:space="preserve">B (1/2)</text>
-      <path
-         id="path3169"
-         d="m 551.10604,540.0783 14.4411,-53.91969 -3.61965,-0.97524 -14.4411,53.93844 3.61965,0.95649 z m 17.59189,-51.14399 -2.53188,-12.32182 -8.34583,9.41484 10.87771,2.90698 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3171"
-         d="m 770.55446,543.36036 14.4411,-53.90092 -3.6384,-0.97525 -14.4411,53.93844 3.6384,0.93773 z m 17.59189,-51.12523 -2.55064,-12.34058 -8.32707,9.41485 10.87771,2.92573 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3173"
-         d="m 694.448,553.30034 -16.84169,-20.44259 2.88822,-2.36309 16.84169,20.40508 -2.88822,2.4006 z m -18.56712,-16.57913 -2.8132,-12.26555 11.51537,5.10127 -8.70217,7.16428 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3175"
-         d="m 336.57135,275.50614 c 0,-3.63841 2.96324,-6.60165 6.60164,-6.60165 l 500.22462,0 c 3.63841,0 6.60165,2.96324 6.60165,6.60165 l 0,26.36906 c 0,3.63841 -2.96324,6.56414 -6.60165,6.56414 l -500.22462,0 c -3.6384,0 -6.60164,-2.92573 -6.60164,-6.56414 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3177"
-         d="m 336.57135,275.50614 c 0,-3.63841 2.96324,-6.60165 6.60164,-6.60165 l 500.22462,0 c 3.63841,0 6.60165,2.96324 6.60165,6.60165 l 0,26.36906 c 0,3.63841 -2.96324,6.56414 -6.60165,6.56414 l -500.22462,0 c -3.6384,0 -6.60164,-2.92573 -6.60164,-6.56414 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3179"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="285.63223"
-         x="347.62067"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3181"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="302.13635"
-         x="347.62067"
-         xml:space="preserve">Result</text>
-      <path
-         id="path3183"
-         d="m 628.39405,278.76945 c 0,-2.77569 2.25056,-5.02625 5.02625,-5.02625 l 79.4823,0 c 2.77569,0 5.02625,2.25056 5.02625,5.02625 l 0,20.14252 c 0,2.77569 -2.25056,5.02625 -5.02625,5.02625 l -79.4823,0 c -2.77569,0 -5.02625,-2.25056 -5.02625,-5.02625 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3185"
-         d="m 628.39405,278.76945 c 0,-2.77569 2.25056,-5.02625 5.02625,-5.02625 l 79.4823,0 c 2.77569,0 5.02625,2.25056 5.02625,5.02625 l 0,20.14252 c 0,2.77569 -2.25056,5.02625 -5.02625,5.02625 l -79.4823,0 c -2.77569,0 -5.02625,-2.25056 -5.02625,-5.02625 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3187"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="286.06693"
-         x="638.53546"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3189"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="301.07068"
-         x="631.18365"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3191"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="301.07068"
-         x="669.89331"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3193"
-         d="m 430.34471,278.7882 c 0,-2.79444 2.25056,-5.045 5.04501,-5.045 l 79.33226,0 c 2.77569,0 5.02625,2.25056 5.02625,5.045 l 0,20.10501 c 0,2.77569 -2.25056,5.02625 -5.02625,5.02625 l -79.33226,0 c -2.79445,0 -5.04501,-2.25056 -5.04501,-5.02625 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3195"
-         d="m 430.34471,278.7882 c 0,-2.79444 2.25056,-5.045 5.04501,-5.045 l 79.33226,0 c 2.77569,0 5.02625,2.25056 5.02625,5.045 l 0,20.10501 c 0,2.77569 -2.25056,5.02625 -5.02625,5.02625 l -79.33226,0 c -2.79445,0 -5.04501,-2.25056 -5.04501,-5.02625 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3197"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="286.06693"
-         x="440.48862"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3199"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="301.07068"
-         x="433.13678"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3201"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="301.07068"
-         x="471.84641"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3203"
-         d="m 475.99358,326.25628 0,-8.73968 -3.75093,0 0,8.73968 3.75093,0 z m 3.75094,-6.86421 -5.62641,-11.2528 -5.6264,11.2528 11.25281,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3205"
-         d="m 674.94315,327.38156 0,-9.86496 -3.75094,0 0,9.86496 3.75094,0 z m 3.75093,-7.98949 -5.6264,-11.2528 -5.6264,11.2528 11.2528,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3207"
-         d="m 458.64551,268.60442 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.62641 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.62641 0,-2.8132 2.8132,-0.0187 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0187 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.81321,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.
 0188 z m -0.0188,-5.62641 -0.0188,-2.8132 2.8132,-0.0187 0.0188,2.8132 -2.8132,0.0187 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0188,-5.62641 -0.0188,-2.8132 2.8132,-0.0187 0.0188,2.8132 -2.8132,0.0187 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0187 0.0188,2.8132 -2.81321,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.6264 0,-0.16879 2.8132,0 0,0.15003 -2.8132,0.0188 z m -2.79445,1.25656 4.16354,-8.45836 4.27607,8.42085 -8.43961,0.0375 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3209"
-         d="m 654.16297,263.76571 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.0375,-2.8132 2.77569,-0.0375 0.075,2.8132 -2.8132,0.0375 z m -0.11253,-5.6264 -0.0375,-2.81321 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.62641 -0.0375,-2.8132 2.81321,-0.0375 0.0375,2.8132 -2.81321,0.0375 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.075,-2.8132 2.8132,-0.0375 0.075,2.8132 -2.8132,0.0375 z m -0.11253,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.58889 -0.0375,-2.8132 2.8132,-0.075 0.0375,2.8132 -2.8132,0.075 z m -0.075,-5.62641 -0.0375,-2.8132 2.8132,-0.075 0.0375,2.8132 -2.8132,0.075 z m -0.075,-5.6264 -0.075,-2.8132 2.8132,-0.075 0.075,2.8132 -2.8132,0.075 z m -0.11253,-5.6264 -0.0375,-2.8132 2.8132,-0.075 0.0375,2.8132 -2.81321,0.075 z m -0.075,-5.6264 -0.0375,-2.813
 2 2.8132,-0.075 0.0375,2.8132 -2.8132,0.075 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.075 0.0375,2.8132 -2.8132,0.075 z m -0.075,-5.6264 -0.075,-2.8132 2.8132,-0.075 0.075,2.8132 -2.8132,0.075 z m -0.11253,-5.62641 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.7757 -2.8132,0.075 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.075,-2.8132 2.8132,-0.0375 0.075,2.8132 -2.81321,0.0375 z m -0.11252,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -2.85071,-3.75094 4.08852,-8.47711 4.35108,8.36458 -8.4396,0.11253 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3211"
-         d="m 607.35131,168.64201 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.01122,17.17928 -62.1905,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.01122,-17.17928 62.1905,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3213"
-         d="m 607.35131,168.64201 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.01122,17.17928 -62.1905,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.01122,-17.17928 62.1905,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3215"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="188.31085"
-         x="546.13019"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3217"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="204.81496"
-         x="556.48279"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3219"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="221.31908"
-         x="555.13245"
-         xml:space="preserve">D (0/2)</text>
-      <path
-         id="path3221"
-         d="m 803.48767,171.11763 c 17.21679,17.14177 17.21679,44.9737 0,62.11547 -17.17928,17.14177 -45.01121,17.14177 -62.19049,0 -17.17928,-17.14177 -17.17928,-44.9737 0,-62.11547 17.17928,-17.14177 45.01121,-17.14177 62.19049,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3223"
-         d="m 803.48767,171.11763 c 17.21679,17.14177 17.21679,44.9737 0,62.11547 -17.17928,17.14177 -45.01121,17.14177 -62.19049,0 -17.17928,-17.14177 -17.17928,-44.9737 0,-62.11547 17.17928,-17.14177 45.01121,-17.14177 62.19049,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3225"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="190.85715"
-         x="742.27802"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3227"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="207.36125"
-         x="752.63055"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3229"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="223.86537"
-         x="751.28021"
-         xml:space="preserve">D (1/2)</text>
-      <path
-         id="path3231"
-         d="m 789.04657,432.7078 -0.60015,-173.63076 3.75094,0 0.60015,173.63076 -3.75094,0 z m -4.35108,-171.75529 5.58889,-11.2528 5.66391,11.21529 -11.2528,0.0375 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3233"
-         d="m 580.85095,432.7078 -0.43135,-173.64951 3.75093,0 0.43136,173.63075 -3.75094,0.0188 z m -4.18229,-171.75529 5.58889,-11.27156 5.66392,11.23405 -11.25281,0.0375 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3235"
-         d="m 491.55996,267.1228 46.5491,-24.39983 -1.74419,-3.31958 -46.54909,24.39983 1.74418,3.31958 z m 46.62412,-20.19879 7.35183,-10.22129 -12.58439,0.24381 5.23256,9.97748 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3237"
-         d="m 685.37074,265.41612 46.51159,-24.26854 -1.72543,-3.30083 -46.5491,24.23104 1.76294,3.33833 z m 46.58661,-20.0675 7.38934,-10.20254 -12.56563,0.22506 5.17629,9.97748 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3239"
-         d="m 275.46863,368.81063 19.93621,0 0,-24.26855 19.91746,48.5371 -19.91746,48.51833 0,-24.24979 -19.93621,0 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3241"
-         d="m 275.46863,368.81063 19.93621,0 0,-24.26855 19.91746,48.5371 -19.91746,48.51833 0,-24.24979 -19.93621,0 z"
-         style="fill:none;stroke:#000000;stroke-width:1.25656307px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3243"
-         d="m 487.6965,488.55921 157.72679,-54.01345 -1.2003,-3.56339 -157.72679,54.01345 1.2003,3.56339 z m 157.16415,-49.84992 8.85221,-8.96473 -12.49062,-1.68792 3.63841,10.65265 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3245"
-         d="m 657.95141,488.70925 -164.14089,-55.88892 1.2003,-3.56339 164.14089,55.88892 -1.2003,3.56339 z m -163.57825,-51.72539 -8.8522,-8.96473 12.49061,-1.68792 -3.63841,10.65265 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3247"
-         d="m 518.19159,446.64252 c 0,-2.79445 2.25057,-5.04501 5.02626,-5.04501 l 79.33226,0 c 2.77569,0 5.02625,2.25056 5.02625,5.04501 l 0,20.10501 c 0,2.77569 -2.25056,5.02625 -5.02625,5.02625 l -79.33226,0 c -2.77569,0 -5.02626,-2.25056 -5.02626,-5.02625 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3249"
-         d="m 518.19159,446.66127 c 0,-2.8132 2.25057,-5.06376 5.02626,-5.06376 l 79.33226,0 c 2.77569,0 5.02625,2.25056 5.02625,5.06376 l 0,20.10501 c 0,2.77569 -2.25056,5.02626 -5.02625,5.02626 l -79.33226,0 c -2.77569,0 -5.02626,-2.25057 -5.02626,-5.02626 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3251"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="453.91522"
-         x="528.3172"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3253"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="468.91898"
-         x="520.96539"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3255"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="468.91898"
-         x="559.67505"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3257"
-         d="m 746.2109,446.66127 c 0,-2.8132 2.25056,-5.06376 5.02625,-5.06376 l 79.36978,0 c 2.77569,0 5.02625,2.25056 5.02625,5.06376 l 0,20.10501 c 0,2.77569 -2.25056,5.02626 -5.02625,5.02626 l -79.36978,0 c -2.77569,0 -5.02625,-2.25057 -5.02625,-5.02626 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3259"
-         d="m 746.2109,446.66127 c 0,-2.8132 2.25056,-5.06376 5.02625,-5.06376 l 79.36978,0 c 2.77569,0 5.02625,2.25056 5.02625,5.06376 l 0,20.10501 c 0,2.77569 -2.25056,5.02626 -5.02625,5.02626 l -79.36978,0 c -2.77569,0 -5.02625,-2.25057 -5.02625,-5.02626 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3261"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="453.91522"
-         x="756.29614"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3263"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="468.91898"
-         x="748.94434"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3265"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="468.91898"
-         x="787.65393"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3267"
-         d="m 463.63425,485.7085 -0.78769,-54.38855 3.75093,-0.0563 0.7877,54.38855 -3.75094,0.0563 z m -4.51987,-52.45682 5.45761,-11.34657 5.79519,11.17778 -11.2528,0.16879 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3269"
-         d="m 678.54404,488.03408 0,-54.08847 -3.75093,0 0,54.08847 3.75093,0 z m 3.75094,-52.21301 -5.6264,-11.2528 -5.62641,11.2528 11.25281,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3271"
-         d="m 96.98041,377.21272 0,-7.8207 3.75093,0 0,7.8207 -3.75093,0 z m -3.750934,-5.94523 5.626401,-11.2528 5.626403,11.2528 -11.252804,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-</svg>


[39/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/fig/ClientJmTm.svg
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/fig/ClientJmTm.svg b/content/docs/0.9/internals/fig/ClientJmTm.svg
deleted file mode 100644
index b158b7d..0000000
--- a/content/docs/0.9/internals/fig/ClientJmTm.svg
+++ /dev/null
@@ -1,348 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="817.49274"
-   height="463.47787"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.5 r10040">
-  <defs
-     id="defs4" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.7"
-     inkscape:cx="118.68649"
-     inkscape:cy="265.49231"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:window-width="1600"
-     inkscape:window-height="838"
-     inkscape:window-x="1912"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(0.17493185,-2.7660971)">
-    <g
-       id="g2989"
-       transform="translate(-24.016809,-116.88402)">
-      <path
-         id="path2991"
-         d="m 400.33723,121.08016 0,124.38099 248.19934,0 0,-124.38099 -248.19934,0 z"
-         style="fill:#f2dcdb;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2993"
-         d="m 400.33723,121.08016 248.19934,0 0,124.38099 -248.19934,0 z"
-         style="fill:none;stroke:#000000;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text2995"
-         style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="162.61018"
-         x="447.93558"
-         xml:space="preserve">JobManager</text>
-      <path
-         id="path2997"
-         d="m 40.510092,137.88435 164.103378,0 0,37.75316 163.46573,0 0,-12.58439 25.16877,25.16877 -25.16877,25.16877 0,-12.58438 -163.46573,0 0,37.75315 -164.103378,0 z"
-         style="fill:#b9cde5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2999"
-         d="m 40.510092,137.88435 164.103378,0 0,37.75316 163.46573,0 0,-12.58439 25.16877,25.16877 -25.16877,25.16877 0,-12.58438 -163.46573,0 0,37.75315 -164.103378,0 z"
-         style="fill:none;stroke:#000000;stroke-width:2.55063534px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3001"
-         d="m 55.288774,144.86109 0,36.45908 132.483006,0 0,-36.45908 -132.483006,0 z"
-         style="fill:#b9cde5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3003"
-         style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="171.84125"
-         x="85.103935"
-         xml:space="preserve">Client</text>
-      <path
-         id="path3005"
-         d="m 24.46547,120.27371 42.507465,0 0,42.46058 -7.079889,7.07989 -35.427576,0 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3007"
-         d="m 59.893046,169.81418 1.415978,-5.66391 5.663911,-1.41598 z"
-         style="fill:#cdcdcd;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3009"
-         d="m 59.893046,169.81418 1.415978,-5.66391 5.663911,-1.41598 -7.079889,7.07989 -35.427576,0 0,-49.54047 42.507465,0 0,42.46058"
-         style="fill:none;stroke:#000000;stroke-width:1.24718571px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3011"
-         d="m 29.78242,124.80297 26.584747,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3013"
-         d="m 29.78242,129.18218 31.901697,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3015"
-         d="m 29.78242,133.71144 21.267798,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3017"
-         d="m 29.78242,138.24069 31.901697,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3019"
-         d="m 29.78242,142.77932 31.901697,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3021"
-         d="m 29.78242,147.30857 13.287685,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3023"
-         d="m 29.78242,151.83783 26.556615,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3025"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="229.55898"
-         x="239.21106"
-         xml:space="preserve">Submit Job</text>
-      <text
-         id="text3027"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.73724"
-         x="78.214714"
-         xml:space="preserve">Compiler/</text>
-      <text
-         id="text3029"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="227.74248"
-         x="78.814865"
-         xml:space="preserve">Optimizer</text>
-      <text
-         id="text3031"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.94733"
-         x="473.13199"
-         xml:space="preserve">Scheduling,</text>
-      <text
-         id="text3033"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="227.95258"
-         x="424.21982"
-         xml:space="preserve">Resource Management</text>
-      <path
-         id="path3035"
-         d="m 591.89746,422.65529 0,124.38099 248.16182,0 0,-124.38099 -248.16182,0 z"
-         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3037"
-         d="m 591.89746,422.65529 248.16182,0 0,124.38099 -248.16182,0 z"
-         style="fill:none;stroke:#000000;stroke-width:2.55063534px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3039"
-         d="m 621.82991,437.28394 0,36.30904 187.99684,0 0,-36.30904 -187.99684,0 z"
-         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3041"
-         style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="464.15421"
-         x="631.76624"
-         xml:space="preserve">TaskManager</text>
-      <path
-         id="path3043"
-         d="m 177.34418,422.65529 0,124.38099 248.16182,0 0,-124.38099 -248.16182,0 z"
-         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3045"
-         d="m 177.34418,422.65529 248.16182,0 0,124.38099 -248.16182,0 z"
-         style="fill:none;stroke:#000000;stroke-width:2.55063534px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3047"
-         d="m 207.42668,437.28394 0,36.30904 187.84679,0 0,-36.30904 -187.84679,0 z"
-         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3049"
-         style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="464.15421"
-         x="217.23552"
-         xml:space="preserve">TaskManager</text>
-      <path
-         id="path3051"
-         d="m 416.89761,258.47689 -147.58052,146.38022 3.95724,3.99475 147.58052,-146.38022 z m -143.26694,128.76958 -6.30157,23.53712 23.59338,-6.11403 c 1.50037,-0.37509 2.40059,-1.91297 2.0255,-3.41335 -0.39385,-1.51913 -1.93173,-2.41935 -3.4321,-2.0255 l -18.92347,4.89497 3.43211,3.45086 5.045,-18.8672 c 0.39385,-1.51913 -0.48762,-3.05701 -1.98799,-3.45086 -1.50038,-0.41261 -3.05701,0.48762 -3.45086,1.98799 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3053"
-         d="m 612.90269,257.57667 140.0974,144.26094 -4.05101,3.93848 -140.0974,-144.26094 z m 136.12141,126.59404 5.85146,23.63088 -23.48085,-6.52662 c -1.50038,-0.45011 -2.36309,-1.988 -1.95049,-3.48837 0.41261,-1.50038 1.95049,-2.36309 3.45086,-1.95049 l 18.82969,5.25131 -3.48837,3.37584 -4.68866,-18.94222 c -0.3751,-1.53788 0.56264,-3.03825 2.06301,-3.41335 1.50037,-0.37509 3.03826,0.52513 3.41335,2.06302 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3055"
-         d="m 320.29229,409.69582 134.95862,-137.19043 -4.0135,-3.93848 -134.93986,137.19042 z m 130.85135,-119.52353 6.0015,-23.61213 -23.49961,6.39534 c -1.50037,0.39385 -2.38184,1.95049 -1.96924,3.45086 0.39385,1.50037 1.95049,2.38184 3.45086,1.96924 l 18.84845,-5.12003 -3.46962,-3.41335 -4.80119,18.94222 c -0.39385,1.50038 0.52513,3.03826 2.0255,3.41335 1.50037,0.3751 3.03826,-0.52513 3.41335,-2.0255 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3057"
-         d="m 713.84034,414.29071 -141.48525,-148.76206 4.08852,-3.90097 141.48524,148.79957 z m -137.69681,-131.05765 -5.58889,-23.70591 23.40583,6.7892 c 1.46286,0.45011 2.32558,1.98799 1.91298,3.48837 -0.45012,1.50037 -1.988,2.36308 -3.48837,1.91297 l -18.79218,-5.43885 3.52587,-3.33833 4.50113,19.01723 c 0.37509,1.50038 -0.56264,3.00075 -2.10053,3.37584 -1.50037,0.33759 -3.00074,-0.60015 -3.37584,-2.10052 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3059"
-         d="m 294.48586,342.57284 c 0.95649,1.01276 1.61291,2.21305 1.95049,3.6009 0.35634,1.38785 0.31883,2.75694 -0.11253,4.08852 -0.26256,0.8252 -0.63766,1.53788 -1.10652,2.1943 -0.48763,0.63765 -1.08777,1.29407 -1.80045,1.98799 l -2.49437,2.38184 -6.67667,-11.27155 2.15679,-2.04426 c 0.67517,-0.63766 1.33158,-1.18155 1.96924,-1.6129 0.63766,-0.43136 1.33158,-0.71268 2.08177,-0.84396 0.73143,-0.13129 1.42535,-0.0563 2.10052,0.18754 0.69393,0.26257 1.33158,0.69392 1.93173,1.33158 z m -1.2003,1.33159 c -0.45011,-0.46887 -0.91897,-0.7877 -1.4066,-0.97525 -0.50637,-0.18754 -1.01275,-0.22505 -1.57539,-0.13128 -0.54388,0.0938 -1.05026,0.28132 -1.50037,0.58139 -0.46887,0.28132 -0.97524,0.69393 -1.55664,1.25657 l -1.03151,0.97524 5.19505,8.8147 1.29407,-1.21906 c 0.58139,-0.56264 1.06902,-1.12528 1.44411,-1.66916 0.37509,-0.52513 0.65641,-1.12528 0.84396,-1.74419 0.30007,-1.01275 0.28132,-2.04426 -0.0563,-3.09452 -0.33759,-1.05026 -0.88147,-1.98799 -1.65042,-2.79444 z m 8.90847,-5.87022 
 c -0.0938,-0.13128 -0.16879,-0.24381 -0.24381,-0.33758 -0.0563,-0.0938 -0.15003,-0.18755 -0.24381,-0.28132 -0.4126,-0.45011 -0.86271,-0.67517 -1.35033,-0.69392 -0.46887,-0.0188 -0.97525,0.22505 -1.51913,0.73143 -0.5814,0.56264 -0.93774,1.23781 -1.05026,2.04426 -0.0938,0.78769 0.0563,1.55664 0.45011,2.30682 z m 1.85672,6.60165 c -0.97525,0.91898 -1.93173,1.4066 -2.90698,1.48162 -0.97524,0.075 -1.87546,-0.33759 -2.70067,-1.2003 -1.21905,-1.27532 -1.85671,-2.73818 -1.91298,-4.42611 -0.0563,-1.66916 0.50638,-3.05701 1.68792,-4.18229 0.7877,-0.75018 1.5754,-1.12528 2.36309,-1.14403 0.7877,0 1.51913,0.35634 2.1943,1.06901 0.11253,0.11253 0.28132,0.33759 0.50638,0.63766 0.22505,0.30008 0.45011,0.65642 0.71267,1.08777 l -5.10127,4.87622 c 0.0938,0.13128 0.18755,0.26256 0.28132,0.39385 0.0938,0.13128 0.18755,0.24381 0.28132,0.33758 0.56264,0.5814 1.18155,0.88147 1.85671,0.86272 0.67517,0 1.33159,-0.31883 1.988,-0.93774 0.45011,-0.43136 0.84396,-0.95649 1.14403,-1.59414 0.31883,-0.63766 0.525
 14,-1.23781 0.63766,-1.76294 l 0.075,-0.075 0.95649,1.51913 c -0.15004,0.26256 -0.26256,0.50637 -0.37509,0.73143 -0.11253,0.22505 -0.26257,0.48762 -0.45011,0.78769 -0.20631,0.30008 -0.3751,0.56264 -0.54389,0.7877 -0.16879,0.22506 -0.4126,0.46887 -0.69392,0.75019 z m 6.69541,-15.71642 c 0.65642,0.67517 1.16279,1.42536 1.51913,2.23181 0.3751,0.80645 0.5814,1.59415 0.61891,2.34433 0.0563,0.7877 -0.0188,1.51913 -0.26257,2.21305 -0.22505,0.71268 -0.6189,1.31283 -1.14403,1.81921 -0.3751,0.35634 -0.75019,0.63766 -1.14404,0.84396 -0.39385,0.2063 -0.80645,0.35634 -1.21905,0.45011 l 2.11928,3.56339 -1.18155,1.10652 -6.8267,-11.59039 1.16279,-1.10652 0.52513,0.88147 c 0.13128,-0.63766 0.30008,-1.21905 0.50638,-1.74419 0.2063,-0.52513 0.54388,-0.99399 0.994,-1.42535 0.67516,-0.63766 1.38784,-0.91898 2.13803,-0.84396 0.75018,0.075 1.48162,0.50638 2.19429,1.25656 z m -1.01275,1.38785 c -0.46886,-0.48762 -0.93773,-0.76894 -1.4066,-0.84396 -0.46886,-0.0563 -0.93773,0.13128 -1.4066,0.58139 -0.33758,
 0.33759 -0.6189,0.75019 -0.8252,1.27532 -0.20631,0.52513 -0.35634,1.03151 -0.48763,1.55664 l 2.83196,4.80119 c 0.4126,-0.11252 0.76894,-0.24381 1.08777,-0.4126 0.30008,-0.16879 0.63766,-0.4126 0.994,-0.73143 0.4126,-0.4126 0.71268,-0.88147 0.84396,-1.4066 0.15004,-0.54389 0.16879,-1.06902 0.075,-1.6129 -0.0938,-0.5814 -0.28132,-1.14404 -0.56264,-1.66917 -0.30008,-0.54388 -0.67517,-1.05026 -1.14404,-1.53788 z m 0.63766,-10.39009 6.95798,11.77793 -1.16279,1.10653 -6.95798,-11.77793 z m 11.81544,-1.38785 c 0.5814,0.63766 1.05027,1.31283 1.40661,2.06302 0.35633,0.75018 0.56264,1.51913 0.6189,2.26931 0.0563,0.76894 -0.0375,1.51913 -0.28132,2.21305 -0.22506,0.69393 -0.65641,1.33159 -1.29407,1.93174 -0.82521,0.78769 -1.68792,1.16279 -2.58815,1.14403 -0.91898,-0.0375 -1.76294,-0.46887 -2.55063,-1.29407 -0.60015,-0.61891 -1.06902,-1.31283 -1.4066,-2.04426 -0.35634,-0.75019 -0.56264,-1.50037 -0.61891,-2.28807 -0.0563,-0.75019 0.0375,-1.48162 0.30008,-2.21305 0.26256,-0.73143 0.69392,-1.36909 
 1.27531,-1.93173 0.80646,-0.76895 1.65042,-1.14404 2.56939,-1.12528 0.90023,0 1.76294,0.43135 2.56939,1.27531 z m 0.5814,4.44486 c -0.075,-0.54388 -0.28132,-1.10652 -0.5814,-1.65041 -0.28132,-0.54389 -0.65641,-1.05026 -1.12528,-1.53788 -0.54388,-0.5814 -1.10652,-0.88147 -1.66916,-0.91898 -0.56264,-0.0375 -1.08777,0.18754 -1.59415,0.65641 -0.4126,0.39385 -0.67517,0.82521 -0.80645,1.33158 -0.13128,0.48762 -0.16879,1.01276 -0.075,1.5754 0.0938,0.54388 0.28132,1.08777 0.5814,1.63165 0.30007,0.56264 0.65641,1.06902 1.10652,1.53789 0.54389,0.58139 1.10653,0.88146 1.66917,0.91897 0.58139,0.0563 1.10652,-0.16879 1.63165,-0.65641 0.39385,-0.37509 0.65642,-0.82521 0.80646,-1.31283 0.13128,-0.50637 0.15003,-1.0315 0.0563,-1.57539 z m 8.27081,0.56264 -1.29407,1.21905 -0.80645,-4.89496 -7.46436,-5.32633 1.2003,-1.14404 5.90772,4.23856 -1.59415,-8.32708 1.25656,-1.21905 z m 8.92722,-29.01348 -3.28206,3.13203 5.90772,10.015 -1.23781,1.18154 -5.92648,-10.01499 -3.28206,3.15078 -0.76895,-1.27531 7.8
 3946,-7.46436 z m 8.66466,0.43136 c -0.6189,0.63766 -1.14403,1.21905 -1.57539,1.76294 -0.4126,0.54389 -0.73143,1.03151 -0.91898,1.48162 -0.2063,0.45011 -0.28132,0.88147 -0.24381,1.27532 0.0563,0.4126 0.24381,0.78769 0.5814,1.12528 0.28132,0.30007 0.60014,0.43135 0.95648,0.39385 0.33759,-0.0375 0.73144,-0.26257 1.16279,-0.65642 0.3751,-0.35634 0.67517,-0.80645 0.91898,-1.35033 0.22506,-0.54389 0.39385,-1.08778 0.50638,-1.65042 z m 2.10053,3.56339 c -0.0563,0.16879 -0.11253,0.4126 -0.18755,0.71268 -0.075,0.31883 -0.18755,0.60015 -0.30008,0.88147 -0.11252,0.30007 -0.28132,0.60015 -0.46886,0.90022 -0.2063,0.31883 -0.46887,0.63766 -0.82521,0.95649 -0.54388,0.52513 -1.14403,0.78769 -1.78169,0.80645 -0.65642,0 -1.23781,-0.26257 -1.72543,-0.76894 -0.52513,-0.56264 -0.84396,-1.14404 -0.95649,-1.74419 -0.11253,-0.60015 -0.0563,-1.25656 0.18755,-1.95048 0.24381,-0.67517 0.65641,-1.38785 1.2003,-2.11928 0.56264,-0.73143 1.25656,-1.51913 2.08176,-2.34434 -0.0938,-0.15003 -0.16879,-0.26256 -0.225
 05,-0.37509 -0.0563,-0.0938 -0.13128,-0.18755 -0.22506,-0.28132 -0.18754,-0.2063 -0.37509,-0.31883 -0.58139,-0.37509 -0.18755,-0.0375 -0.39385,-0.0375 -0.61891,0.0187 -0.2063,0.075 -0.43135,0.18755 -0.65641,0.33759 -0.2063,0.15003 -0.43136,0.33758 -0.67517,0.56264 -0.33758,0.33758 -0.69392,0.76894 -1.03151,1.31282 -0.33758,0.54389 -0.60014,1.01276 -0.78769,1.38785 l -0.0563,0.0563 -0.88147,-1.38784 c 0.1688,-0.28132 0.45012,-0.67517 0.84396,-1.18155 0.3751,-0.52513 0.76895,-0.97524 1.2003,-1.36909 0.84396,-0.8252 1.63166,-1.29407 2.30683,-1.44411 0.69392,-0.13128 1.31283,0.075 1.87547,0.65642 0.0938,0.11252 0.2063,0.24381 0.30007,0.39384 0.11253,0.15004 0.2063,0.28132 0.28132,0.41261 l 3.3946,5.73893 -1.16279,1.10652 z m 6.22655,-4.20105 c -0.50638,0.48762 -1.03151,0.86272 -1.5754,1.12528 -0.52513,0.26257 -0.99399,0.45011 -1.4066,0.56264 l -0.93773,-1.50037 0.075,-0.0563 c 0.15004,-0.0188 0.35634,-0.0375 0.58139,-0.0563 0.24381,-0.0375 0.50638,-0.11253 0.82521,-0.2063 0.28132,-0.093
 8 0.58139,-0.22506 0.90022,-0.39385 0.31883,-0.16879 0.61891,-0.39385 0.90023,-0.65641 0.58139,-0.56264 0.93773,-1.10653 1.06901,-1.63166 0.11253,-0.52513 -0.0188,-1.01275 -0.4126,-1.42535 -0.2063,-0.22506 -0.45011,-0.30008 -0.73143,-0.26257 -0.28132,0.0375 -0.6189,0.16879 -1.01275,0.4126 -0.2063,0.11253 -0.43136,0.24381 -0.69393,0.41261 -0.28132,0.16879 -0.56264,0.33758 -0.84396,0.50637 -0.6189,0.31883 -1.16279,0.46887 -1.63165,0.43136 -0.48762,-0.0563 -0.90023,-0.24381 -1.25657,-0.6189 -0.30007,-0.33759 -0.52513,-0.69393 -0.65641,-1.10653 -0.13128,-0.43136 -0.16879,-0.88147 -0.11253,-1.38785 0.0563,-0.46886 0.22506,-0.97524 0.50638,-1.50037 0.26256,-0.52513 0.65641,-1.03151 1.16279,-1.50037 0.4126,-0.39385 0.88147,-0.73144 1.38784,-1.03151 0.50638,-0.28132 0.97525,-0.46887 1.3691,-0.5814 l 0.88147,1.44411 -0.0563,0.0563 c -0.11253,0 -0.28132,0.0375 -0.50637,0.0563 -0.22506,0.0375 -0.48763,0.11253 -0.76895,0.22506 -0.26256,0.075 -0.52513,0.2063 -0.8252,0.37509 -0.30008,0.16879 -0.5
 6264,0.3751 -0.82521,0.61891 -0.52513,0.50637 -0.84396,1.01275 -0.95649,1.53788 -0.11252,0.52513 0.0188,0.97524 0.3751,1.35034 0.18754,0.2063 0.43136,0.30007 0.73143,0.28132 0.28132,0 0.6189,-0.13129 1.01275,-0.35634 0.26257,-0.13129 0.50638,-0.30008 0.76894,-0.46887 0.28132,-0.15004 0.52513,-0.31883 0.7877,-0.46887 0.60015,-0.33758 1.12528,-0.48762 1.6129,-0.46886 0.48762,0.0187 0.90023,0.22505 1.27532,0.60015 0.30007,0.31883 0.50638,0.71267 0.65641,1.16279 0.13129,0.45011 0.16879,0.91897 0.0938,1.4066 -0.075,0.52513 -0.24381,1.0315 -0.54389,1.57539 -0.28132,0.52513 -0.69392,1.03151 -1.21905,1.53788 z m 10.67141,-10.48386 -1.4066,1.35034 -5.12003,-0.93774 -0.22506,1.76294 1.61291,2.71943 -1.18155,1.12528 -6.95798,-11.77793 1.18154,-1.12528 4.46361,7.55813 0.75019,-7.33308 1.53788,-1.46286 -0.84396,7.05175 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3061"
-         d="m 383.62682,392.9854 c -0.58139,0.60015 -1.2003,1.08777 -1.83796,1.50038 -0.65641,0.4126 -1.35033,0.75018 -2.11927,1.01275 l -1.10653,-1.65041 0.0938,-0.0938 c 0.75019,-0.0188 1.50038,-0.22505 2.26932,-0.60015 0.75019,-0.37509 1.38784,-0.8252 1.91297,-1.35033 0.84397,-0.88147 1.33159,-1.70668 1.44411,-2.51313 0.0938,-0.80645 -0.11252,-1.46286 -0.63765,-1.98799 -0.28132,-0.28132 -0.60015,-0.41261 -0.95649,-0.43136 -0.35634,-0.0188 -0.73143,0.075 -1.12528,0.30007 -0.33759,0.20631 -0.71268,0.45012 -1.14404,0.75019 -0.4126,0.30008 -0.8252,0.5814 -1.23781,0.82521 -0.76894,0.50637 -1.50037,0.75018 -2.19429,0.76894 -0.69393,0.0188 -1.29408,-0.22506 -1.80045,-0.73143 -0.86272,-0.86272 -1.23781,-1.93174 -1.08777,-3.24456 0.15003,-1.29407 0.78769,-2.53188 1.93173,-3.69467 0.6189,-0.63766 1.25656,-1.16279 1.89422,-1.53789 0.65641,-0.39384 1.23781,-0.69392 1.80045,-0.90022 l 1.03151,1.55664 -0.0938,0.0938 c -0.54388,0.0188 -1.18154,0.22506 -1.89422,0.56264 -0.71268,0.35634 -1.36909,
 0.82521 -1.95048,1.4066 -0.73144,0.75019 -1.14404,1.50038 -1.25657,2.26932 -0.11253,0.75018 0.0938,1.38784 0.60015,1.87546 0.26257,0.26257 0.5814,0.41261 0.93774,0.46887 0.35633,0.0375 0.78769,-0.0938 1.29407,-0.4126 0.31883,-0.2063 0.73143,-0.46887 1.23781,-0.82521 0.52513,-0.33758 0.95648,-0.6189 1.31282,-0.84396 0.73144,-0.4126 1.4066,-0.6189 2.00675,-0.6189 0.61891,0 1.16279,0.24381 1.63166,0.71268 0.39385,0.39384 0.71268,0.88147 0.90022,1.46286 0.20631,0.58139 0.28132,1.2003 0.22506,1.8192 -0.075,0.67517 -0.26257,1.35034 -0.5814,2.00675 -0.33758,0.67517 -0.8252,1.35034 -1.50037,2.04426 z m 6.32033,-15.11626 c -0.0938,-0.13129 -0.1688,-0.24381 -0.24382,-0.33759 -0.075,-0.075 -0.16879,-0.16879 -0.26256,-0.26256 -0.43136,-0.43136 -0.90022,-0.65642 -1.36909,-0.65642 -0.48762,0 -0.97524,0.26257 -1.50038,0.7877 -0.56264,0.58139 -0.90022,1.27532 -0.97524,2.08177 -0.075,0.78769 0.0938,1.55664 0.52513,2.30682 z m 2.08176,6.54538 c -0.93773,0.93773 -1.87546,1.46286 -2.85071,1.57539 -0.97
 524,0.0938 -1.89422,-0.28132 -2.75693,-1.10653 -1.23781,-1.2378 -1.93173,-2.68191 -2.04426,-4.35108 -0.13128,-1.66917 0.37509,-3.09452 1.51913,-4.25731 0.76894,-0.76894 1.53788,-1.18154 2.32558,-1.21905 0.78769,-0.0188 1.53788,0.30007 2.2318,0.97524 0.13128,0.13128 0.30008,0.33758 0.52513,0.63766 0.24381,0.28132 0.48762,0.63766 0.76894,1.06901 l -4.93247,5.04501 c 0.0938,0.13128 0.18754,0.26257 0.28132,0.39385 0.11252,0.11253 0.2063,0.22505 0.31882,0.31883 0.56265,0.56264 1.2003,0.8252 1.85672,0.80645 0.67517,-0.0375 1.33158,-0.37509 1.96924,-1.01275 0.43136,-0.45012 0.80645,-0.994 1.08777,-1.65041 0.30007,-0.63766 0.48762,-1.23781 0.58139,-1.7817 l 0.075,-0.0563 0.994,1.46286 c -0.13128,0.28132 -0.24381,0.52513 -0.33758,0.75019 -0.0938,0.22506 -0.24381,0.48762 -0.43136,0.80645 -0.18755,0.31883 -0.35634,0.58139 -0.52513,0.80645 -0.15004,0.22506 -0.3751,0.48762 -0.65642,0.7877 z m 5.45761,-16.44785 c 0.0938,0.0938 0.22506,0.24381 0.3751,0.4126 0.13128,0.18755 0.26256,0.35634 0.35634,
 0.50638 l 3.4321,5.38259 -1.12528,1.14403 -3.0195,-4.70742 c -0.16879,-0.26256 -0.31883,-0.48762 -0.45011,-0.67517 -0.13129,-0.16879 -0.28132,-0.33758 -0.45012,-0.50637 -0.33758,-0.33759 -0.67516,-0.50638 -1.01275,-0.50638 -0.33758,0 -0.73143,0.22506 -1.16279,0.67517 -0.30007,0.30007 -0.54388,0.73143 -0.75018,1.27532 -0.18755,0.54388 -0.33759,1.10652 -0.45012,1.68792 l 3.93848,6.18904 -1.12528,1.14403 -5.28881,-8.28956 1.12528,-1.14404 0.58139,0.91898 c 0.13128,-0.73143 0.30008,-1.36909 0.50638,-1.91297 0.2063,-0.54389 0.50637,-1.01276 0.91898,-1.42536 0.58139,-0.58139 1.18154,-0.90022 1.80045,-0.93773 0.63765,-0.0375 1.2378,0.2063 1.80044,0.76894 z m 4.40735,-12.99699 7.35183,11.55288 -1.12528,1.14403 -0.54388,-0.86271 c -0.15004,0.86271 -0.33759,1.51913 -0.50638,1.95049 -0.18755,0.43135 -0.46887,0.84396 -0.8252,1.21905 -0.63766,0.63766 -1.35034,0.95649 -2.11928,0.93773 -0.7877,-0.0375 -1.55664,-0.43135 -2.34434,-1.18154 -0.65641,-0.65641 -1.18154,-1.36909 -1.55663,-2.13803 -0.3938
 5,-0.7877 -0.63766,-1.55664 -0.73144,-2.34434 -0.0938,-0.76894 -0.0375,-1.51913 0.1688,-2.25056 0.2063,-0.71268 0.58139,-1.35033 1.10652,-1.87547 0.35634,-0.35633 0.71268,-0.65641 1.08777,-0.88147 0.3751,-0.24381 0.76894,-0.4126 1.2003,-0.52513 l -2.30682,-3.58214 z m 1.89422,5.90772 c -0.4126,0.13129 -0.78769,0.30008 -1.10652,0.48763 -0.31883,0.2063 -0.63766,0.45011 -0.91898,0.75018 -0.4126,0.4126 -0.69392,0.90023 -0.80645,1.42536 -0.13128,0.54388 -0.13128,1.10652 0,1.68792 0.11253,0.52513 0.33758,1.06901 0.67517,1.63165 0.33758,0.56264 0.71267,1.05027 1.14403,1.46287 0.48762,0.48762 0.97524,0.75019 1.46287,0.80645 0.46886,0.0375 0.93773,-0.18755 1.4066,-0.65641 0.33758,-0.35634 0.60015,-0.7877 0.76894,-1.31283 0.18754,-0.52513 0.31883,-1.03151 0.4126,-1.53788 z m 15.2288,-3.99474 c -0.5814,0.58139 -1.18155,1.08777 -1.83796,1.50037 -0.63766,0.4126 -1.35034,0.75019 -2.11928,1.01275 l -1.08777,-1.65041 0.075,-0.0938 c 0.75019,-0.0187 1.51913,-0.22506 2.26931,-0.60015 0.75019,-0.37509
  1.38785,-0.82521 1.91298,-1.35034 0.86272,-0.88147 1.33158,-1.70667 1.44411,-2.51312 0.11253,-0.80645 -0.11253,-1.46287 -0.63766,-1.988 -0.28132,-0.28132 -0.60015,-0.43135 -0.95649,-0.45011 -0.33758,-0.0188 -0.71267,0.0938 -1.12528,0.31883 -0.31883,0.2063 -0.71267,0.45011 -1.12528,0.75019 -0.43135,0.30007 -0.84396,0.56264 -1.23781,0.8252 -0.78769,0.50638 -1.51912,0.75019 -2.19429,0.76894 -0.69392,0 -1.29407,-0.24381 -1.8192,-0.75018 -0.86272,-0.84396 -1.21906,-1.91298 -1.08778,-3.22581 0.15004,-1.29407 0.7877,-2.53188 1.93174,-3.69467 0.63765,-0.63766 1.25656,-1.16279 1.91297,-1.55663 0.63766,-0.3751 1.23781,-0.67517 1.7817,-0.88147 l 1.0315,1.55663 -0.075,0.0938 c -0.56264,0.0187 -1.20029,0.2063 -1.91297,0.56264 -0.71268,0.35634 -1.36909,0.8252 -1.95049,1.4066 -0.71268,0.75018 -1.14403,1.50037 -1.23781,2.26931 -0.11252,0.75019 0.075,1.38785 0.5814,1.87547 0.26256,0.26257 0.58139,0.4126 0.93773,0.45011 0.3751,0.0375 0.80645,-0.0938 1.29407,-0.39385 0.31883,-0.2063 0.73144,-0.46886 
 1.25657,-0.8252 0.50637,-0.33759 0.93773,-0.61891 1.31282,-0.84396 0.73144,-0.43136 1.38785,-0.63766 2.00675,-0.61891 0.60015,0 1.14404,0.24381 1.61291,0.71268 0.4126,0.39385 0.71267,0.88147 0.91897,1.46287 0.20631,0.58139 0.26257,1.18154 0.20631,1.8192 -0.0563,0.67517 -0.26257,1.33158 -0.5814,2.00675 -0.31883,0.67517 -0.8252,1.35034 -1.50037,2.04426 z m 3.26331,-17.32932 0.73143,1.12528 -2.34433,2.36309 2.43811,3.82595 c 0.13128,0.2063 0.28132,0.41261 0.45011,0.65642 0.16879,0.22505 0.31883,0.4126 0.45011,0.52513 0.30008,0.30007 0.5814,0.43136 0.88147,0.43136 0.30007,-0.0188 0.63766,-0.22506 1.03151,-0.61891 0.16879,-0.16879 0.33758,-0.39385 0.50637,-0.69392 0.1688,-0.28132 0.28132,-0.48762 0.31883,-0.60015 l 0.0563,-0.0563 0.78769,1.18155 c -0.16879,0.28132 -0.35634,0.58139 -0.58139,0.86271 -0.2063,0.30008 -0.43136,0.54389 -0.61891,0.75019 -0.54388,0.56264 -1.10652,0.88147 -1.65041,0.93773 -0.54388,0.075 -1.08777,-0.15003 -1.63165,-0.67516 -0.13129,-0.13129 -0.24381,-0.26257 -0.35
 634,-0.41261 -0.11253,-0.15003 -0.22506,-0.31883 -0.35634,-0.50637 l -2.85071,-4.44486 -0.75019,0.76894 -0.73143,-1.12528 0.76894,-0.76894 -1.51913,-2.38184 1.12528,-1.16279 1.51913,2.38184 z m 7.95198,-1.63166 c -0.60015,0.63766 -1.10652,1.25657 -1.50037,1.80045 -0.4126,0.56264 -0.71268,1.06902 -0.88147,1.51913 -0.18755,0.46887 -0.26257,0.90023 -0.18755,1.29407 0.0563,0.39385 0.26257,0.75019 0.60015,1.08778 0.30008,0.30007 0.61891,0.4126 0.97524,0.37509 0.33759,-0.0563 0.73144,-0.28132 1.14404,-0.71268 0.35634,-0.37509 0.65641,-0.8252 0.86271,-1.36909 0.20631,-0.54389 0.35634,-1.10653 0.45012,-1.66917 z m 2.21305,3.48837 c -0.0375,0.1688 -0.0938,0.41261 -0.16879,0.71268 -0.0563,0.30008 -0.15004,0.60015 -0.24381,0.88147 -0.11253,0.30008 -0.26257,0.61891 -0.45011,0.93773 -0.18755,0.31883 -0.45011,0.63766 -0.7877,0.97525 -0.52513,0.54388 -1.12528,0.8252 -1.76294,0.86271 -0.65641,0.0188 -1.23781,-0.2063 -1.74418,-0.71268 -0.54389,-0.54388 -0.88147,-1.10652 -1.01275,-1.70667 -0.15004,-0
 .60015 -0.0938,-1.25656 0.11252,-1.96924 0.22506,-0.67517 0.60015,-1.4066 1.14404,-2.15679 0.52513,-0.75019 1.18154,-1.55664 1.98799,-2.41935 -0.0938,-0.13128 -0.16879,-0.24381 -0.24381,-0.33758 -0.0563,-0.11253 -0.13128,-0.20631 -0.22505,-0.28133 -0.2063,-0.2063 -0.39385,-0.31882 -0.60015,-0.35633 -0.18755,-0.0375 -0.39385,-0.0375 -0.61891,0.0375 -0.2063,0.075 -0.43135,0.18754 -0.63766,0.35633 -0.2063,0.1688 -0.43135,0.35634 -0.65641,0.5814 -0.33758,0.35634 -0.67517,0.80645 -0.994,1.35034 -0.31883,0.56264 -0.56264,1.0315 -0.73143,1.42535 l -0.0563,0.0563 -0.93774,-1.35033 c 0.1688,-0.30008 0.43136,-0.71268 0.80645,-1.23781 0.35634,-0.52513 0.73144,-0.994 1.14404,-1.4066 0.82521,-0.84396 1.59415,-1.35034 2.26931,-1.51913 0.67517,-0.15004 1.31283,0.0375 1.89423,0.60015 0.0938,0.11253 0.2063,0.24381 0.31883,0.37509 0.11252,0.15004 0.2063,0.28132 0.28132,0.41261 l 3.60089,5.6264 -1.12528,1.12528 z m 2.02551,-14.29106 0.71268,1.12528 -2.32558,2.38185 2.4381,3.82595 c 0.13129,0.18755 0.2
 6257,0.4126 0.45012,0.63766 0.16879,0.24381 0.31882,0.4126 0.43135,0.54388 0.30008,0.28132 0.60015,0.43136 0.90023,0.41261 0.28132,0 0.63766,-0.2063 1.0315,-0.61891 0.1688,-0.16879 0.33759,-0.39384 0.50638,-0.67516 0.16879,-0.30008 0.26257,-0.48763 0.31883,-0.60015 l 0.0563,-0.075 0.7877,1.18154 c -0.16879,0.30008 -0.37509,0.5814 -0.5814,0.88147 -0.22505,0.28132 -0.43135,0.54389 -0.6189,0.73143 -0.56264,0.56264 -1.10652,0.88147 -1.65041,0.95649 -0.56264,0.0563 -1.10653,-0.16879 -1.63166,-0.69392 -0.13128,-0.13128 -0.24381,-0.26257 -0.35634,-0.4126 -0.11252,-0.13129 -0.24381,-0.30008 -0.37509,-0.50638 l -2.83195,-4.44486 -0.76895,0.76894 -0.71267,-1.10652 0.76894,-0.7877 -1.51913,-2.38184 1.12528,-1.16279 1.51913,2.38184 z m 6.88296,-7.033 5.30757,8.27081 -1.12528,1.14404 -0.60015,-0.90023 c -0.13128,0.71268 -0.28132,1.35034 -0.48762,1.89422 -0.2063,0.54389 -0.50637,1.03151 -0.91898,1.44411 -0.58139,0.5814 -1.18154,0.90023 -1.80044,0.93774 -0.61891,0.0375 -1.21906,-0.22506 -1.7817,-0
 .76894 -0.13128,-0.13129 -0.26256,-0.28132 -0.37509,-0.43136 -0.11253,-0.15004 -0.24381,-0.31883 -0.3751,-0.50638 l -3.4321,-5.38259 1.12528,-1.14403 3.0195,4.70742 c 0.11253,0.2063 0.26257,0.4126 0.43136,0.63766 0.18755,0.24381 0.31883,0.4126 0.45011,0.52513 0.33759,0.35634 0.69392,0.52513 1.05026,0.50638 0.33759,0 0.73144,-0.20631 1.14404,-0.63766 0.30007,-0.30008 0.54388,-0.73144 0.75019,-1.29408 0.2063,-0.56264 0.35633,-1.12528 0.45011,-1.66916 l -3.95724,-6.18904 z m 9.78994,4.03226 c -0.50637,0.50637 -1.01275,0.90022 -1.53788,1.18154 -0.52513,0.28132 -0.994,0.48762 -1.4066,0.6189 l -0.97525,-1.46286 0.0563,-0.075 c 0.16879,0 0.35634,-0.0375 0.60015,-0.075 0.22505,-0.0375 0.50637,-0.11253 0.80645,-0.22505 0.28132,-0.11253 0.58139,-0.24381 0.88147,-0.43136 0.31883,-0.16879 0.60015,-0.4126 0.88147,-0.69392 0.56264,-0.56264 0.90022,-1.12528 1.01275,-1.65041 0.11253,-0.54389 -0.0563,-1.01276 -0.46887,-1.42536 -0.2063,-0.2063 -0.45011,-0.28132 -0.73143,-0.22506 -0.28132,0.0563 -0.61
 89,0.18755 -0.994,0.43136 -0.18754,0.13128 -0.43135,0.28132 -0.69392,0.46887 -0.26256,0.16879 -0.52513,0.33758 -0.80645,0.50637 -0.6189,0.35634 -1.14403,0.50638 -1.63166,0.48763 -0.48762,-0.0188 -0.90022,-0.20631 -1.27531,-0.56264 -0.31883,-0.31883 -0.54389,-0.67517 -0.67517,-1.08778 -0.15004,-0.4126 -0.2063,-0.86271 -0.16879,-1.36909 0.0375,-0.48762 0.18754,-0.99399 0.45011,-1.51912 0.24381,-0.54389 0.6189,-1.06902 1.10652,-1.55664 0.39385,-0.41261 0.84396,-0.76894 1.35034,-1.06902 0.50638,-0.30007 0.95649,-0.50638 1.35034,-0.6189 l 0.93773,1.38784 -0.0563,0.075 c -0.11253,0 -0.28132,0.0375 -0.50638,0.075 -0.22506,0.0563 -0.46887,0.13128 -0.76894,0.24381 -0.24381,0.0938 -0.52513,0.22506 -0.80645,0.4126 -0.28132,0.18755 -0.56264,0.39385 -0.80645,0.65642 -0.48763,0.50637 -0.7877,1.01275 -0.90023,1.55663 -0.0938,0.52514 0.0375,0.97525 0.4126,1.33159 0.20631,0.2063 0.45012,0.28132 0.75019,0.26256 0.28132,-0.0188 0.61891,-0.15004 1.01275,-0.39385 0.24381,-0.15003 0.48763,-0.31883 0.7501
 9,-0.48762 0.26257,-0.16879 0.50638,-0.33758 0.76894,-0.50637 0.5814,-0.35634 1.10653,-0.52513 1.59415,-0.52513 0.48762,0 0.90022,0.18754 1.27532,0.56264 0.31883,0.30007 0.56264,0.69392 0.71267,1.12528 0.15004,0.45011 0.20631,0.91897 0.15004,1.4066 -0.0563,0.52513 -0.22505,1.05026 -0.48762,1.59414 -0.28132,0.54389 -0.67517,1.06902 -1.16279,1.5754 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3063"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="507.19437"
-         x="233.59662"
-         xml:space="preserve">Task Execution,</text>
-      <text
-         id="text3065"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="528.19958"
-         x="236.89745"
-         xml:space="preserve">Data Exchange</text>
-      <text
-         id="text3067"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="507.19437"
-         x="646.51672"
-         xml:space="preserve">Task Execution,</text>
-      <text
-         id="text3069"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="528.19958"
-         x="649.8175"
-         xml:space="preserve">Data Exchange</text>
-      <path
-         id="path3071"
-         d="m 564.90948,478.2629 -122.78684,1.87546 0.0938,5.62641 122.76808,-1.87547 z m -15.24755,15.32256 20.8552,-12.60314 -21.23029,-11.94672 c -1.35034,-0.76894 -3.05701,-0.28132 -3.82595,1.06901 -0.75019,1.35034 -0.28132,3.07577 1.06901,3.84471 l 17.02925,9.58364 -0.075,-4.85746 -16.72917,10.09001 c -1.33158,0.80645 -1.74418,2.53188 -0.93773,3.86347 0.78769,1.33158 2.53188,1.76294 3.8447,0.95648 z m -92.21672,-23.14326 -20.85519,12.60314 21.23028,11.94672 c 1.35034,0.76895 3.07577,0.28133 3.82596,-1.06901 0.76894,-1.35034 0.28132,-3.07577 -1.06902,-3.82595 l 0,0 -17.02924,-9.6024 0.075,4.87622 16.72917,-10.10877 c 1.33158,-0.80645 1.76293,-2.53188 0.95648,-3.86346 -0.80645,-1.33158 -2.53188,-1.76294 -3.86346,-0.95649 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3073"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="516.58087"
-         x="466.24557"
-         xml:space="preserve">Exchange </text>
-      <text
-         id="text3075"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="537.58606"
-         x="451.39188"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3077"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="558.59131"
-         x="476.7482"
-         xml:space="preserve">Results</text>
-      <text
-         id="text3079"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="579.59656"
-         x="418.08359"
-         xml:space="preserve">(</text>
-      <text
-         id="text3081"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="579.59656"
-         x="426.03558"
-         xml:space="preserve">shuffle</text>
-      <text
-         id="text3083"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="579.59656"
-         x="490.85172"
-         xml:space="preserve">/ </text>
-      <text
-         id="text3085"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="579.59656"
-         x="504.95523"
-         xml:space="preserve">broadcast</text>
-      <text
-         id="text3087"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="579.59656"
-         x="591.22675"
-         xml:space="preserve">) </text>
-    </g>
-  </g>
-</svg>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/fig/LICENSE.txt
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/fig/LICENSE.txt b/content/docs/0.9/internals/fig/LICENSE.txt
deleted file mode 100644
index 35b8673..0000000
--- a/content/docs/0.9/internals/fig/LICENSE.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-All image files in the folder and its subfolders are
-licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
\ No newline at end of file


[33/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/types_serialization.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/types_serialization.html b/content/docs/0.9/internals/types_serialization.html
deleted file mode 100644
index 8637ada..0000000
--- a/content/docs/0.9/internals/types_serialization.html
+++ /dev/null
@@ -1,438 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Type Extraction and Serialization</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Type Extraction and Serialization</h1>
-
-
-
-<p>Flink handles types in a unique way, containing its own type descriptors,
-generic type extraction, and type serialization framework.
-This document describes the concepts and the rationale behind them.</p>
-
-<p>There are fundamental differences in the way that the Scala API and
-the Java API handle type information, so most of the issues described 
-here relate only to one of the to APIs.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#type-handling-in-flink" id="markdown-toc-type-handling-in-flink">Type handling in Flink</a></li>
-  <li><a href="#flinks-typeinformation-class" id="markdown-toc-flinks-typeinformation-class">Flink’s TypeInformation class</a></li>
-  <li><a href="#type-information-in-the-scala-api" id="markdown-toc-type-information-in-the-scala-api">Type Information in the Scala API</a></li>
-  <li><a href="#type-information-in-the-java-api" id="markdown-toc-type-information-in-the-java-api">Type Information in the Java API</a></li>
-</ul>
-
-<h2 id="type-handling-in-flink">Type handling in Flink</h2>
-
-<p>Flink tries to know as much information about what types enter and leave user functions as possible.
-This stands in contrast to the approach to just assuming nothing and letting the
-programming language and serialization framework handle all types dynamically.</p>
-
-<ul>
-  <li>
-    <p>To allow using POJOs and grouping/joining them by referring to field names, Flink needs the type
-information to make checks (for typos and type compatibility) before the job is executed.</p>
-  </li>
-  <li>
-    <p>The more we know, the better serialization and data layout schemes the compiler/optimizer can develop.
-That is quite important for the memory usage paradigm in Flink (work on serialized data
-inside/outside the heap and make serialization very cheap).</p>
-  </li>
-  <li>
-    <p>For the upcoming logical programs (see roadmap draft) we need this to know the “schema” of functions.</p>
-  </li>
-  <li>
-    <p>Finally, it also spares users having to worry about serialization frameworks and having to register
-types at those frameworks.</p>
-  </li>
-</ul>
-
-<h2 id="flinks-typeinformation-class">Flink’s TypeInformation class</h2>
-
-<p>The class <a href="https://github.com/apache/flink/blob/master//flink-core/src/main/java/org/apache/flink/api/common/typeinfo/TypeInformation.java">TypeInformation</a>
-is the base class for all type descriptors. It reveals some basic properties of the type and can generate serializers
-and, in specializations, comparators for the types.
-(<em>Note that comparators in Flink do much more than defining an order - they are basically the utility to handle keys</em>)</p>
-
-<p>Internally, Flink makes the following distinctions between types:</p>
-
-<ul>
-  <li>
-    <p>Basic types: All Java primitives and their boxed form, plus <code>void</code>, <code>String</code>, and <code>Date</code>.</p>
-  </li>
-  <li>
-    <p>Primitive arrays and Object arrays</p>
-  </li>
-  <li>
-    <p>Composite types</p>
-
-    <ul>
-      <li>
-        <p>Flink Java Tuples (part of the Flink Java API)</p>
-      </li>
-      <li>
-        <p>Scala <em>case classes</em> (including Scala tuples)</p>
-      </li>
-      <li>
-        <p>POJOs: classes that follow a certain bean-like pattern</p>
-      </li>
-    </ul>
-  </li>
-  <li>
-    <p>Scala auxiliary types (Option, Either, Lists, Maps, …)</p>
-  </li>
-  <li>
-    <p>Generic types: These will not be serialized by Flink itself, but by Kryo.</p>
-  </li>
-</ul>
-
-<p>POJOs are of particular interest, because they support the creation of complex types and the use of field
-names in the definition of keys: <code>dataSet.join(another).where("name").equalTo("personName")</code>.
-They are also transparent to the runtime and can be handled very efficiently by Flink.</p>
-
-<p><strong>Rules for POJO types</strong></p>
-
-<p>Flink recognizes a data type as a POJO type (and allows “by-name” field referencing) if the following
-conditions are fulfilled:</p>
-
-<ul>
-  <li>The class is public and standalone (no non-static inner class)</li>
-  <li>The class has a public no-argument constructor</li>
-  <li>All fields in the class (and all superclasses) are either public or
-or have a public getter and a setter method that follows the Java beans
-naming conventions for getters and setters.</li>
-</ul>
-
-<h2 id="type-information-in-the-scala-api">Type Information in the Scala API</h2>
-
-<p>Scala has very elaborate concepts for runtime type information though <em>type manifests</em> and <em>class tags</em>. In
-general, types and methods have access to the types of their generic parameters - thus, Scala programs do
-not suffer from type erasure as Java programs do.</p>
-
-<p>In addition, Scala allows to run custom code in the Scala Compiler through Scala Macros - that means that some Flink
-code gets executed whenever you compile a Scala program written against Flink’s Scala API.</p>
-
-<p>We use the Macros to look at the parameter types and return types of all user functions during compilation - that
-is the point in time when certainly all type information is perfectly available. Within the macro, we create
-a <em>TypeInformation</em> for the function’s return types (or parameter types) and make it part of the operation.</p>
-
-<h4 id="no-implicit-value-for-evidence-parameter-error">No Implicit Value for Evidence Parameter Error</h4>
-
-<p>In the case where TypeInformation could not be created, programs fail to compile with an error
-stating <em>“could not find implicit value for evidence parameter of type TypeInformation”</em>.</p>
-
-<p>A frequent reason if that the code that generates the TypeInformation has not been imported.
-Make sure to import the entire flink.api.scala package.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala._</span></code></pre></div>
-
-<p>Another common cause are generic methods, which can be fixed as described in the following section.</p>
-
-<h4 id="generic-methods">Generic Methods</h4>
-
-<p>Consider the following case below:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">def</span><span class="o">[</span><span class="kt">T</span><span class="o">]</span> <span class="n">selectFirst</span><span class="o">(</span><span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">T</span>, <span class="k">_</span><span class="o">)])</span> <span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">T</span><span class="o">]</span> <span class="k">=</span> <span class="o">{</span>
-  <span class="n">input</span><span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">v</span> <span class="k">=&gt;</span> <span class="n">v</span><span class="o">.</span><span class="n">_1</span> <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="k">val</span> <span class="n">data</span> <span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Long</span><span class="o">)</span> <span class="kt">=</span> <span class="kt">...</span>
-
-<span class="kt">val</span> <span class="kt">result</span> <span class="kt">=</span> <span class="kt">selectFirst</span><span class="o">(</span><span class="kt">data</span><span class="o">)</span></code></pre></div>
-
-<p>For such generic methods, the data types of the function parameters and return type may not be the same
-for every call and are not known at the site where the method is defined. The code above will result
-in an error that not enough implicit evidence is available.</p>
-
-<p>In such cases, the type information has to be generated at the invocation site and passed to the
-method. Scala offers <em>implicit parameters</em> for that.</p>
-
-<p>The following code tells Scala to bring a type information for <em>T</em> into the function. The type
-information will then be generated at the sites where the method is invoked, rather than where the
-method is defined.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">def</span><span class="o">[</span><span class="kt">T</span> <span class="kt">:</span> <span class="kt">TypeInformation</span><span class="o">]</span> <span class="n">selectFirst</span><span class="o">(</span><span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">T</span>, <span class="k">_</span><span class="o">)])</span> <span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">T</span><span class="o">]</span> <span class="k">=</span> <span class="o">{</span>
-  <span class="n">input</span><span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">v</span> <span class="k">=&gt;</span> <span class="n">v</span><span class="o">.</span><span class="n">_1</span> <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<h2 id="type-information-in-the-java-api">Type Information in the Java API</h2>
-
-<p>Java in general erases generic type information. Only for subclasses of generic classes, the subclass
-stores the type to which the generic type variables bind.</p>
-
-<p>Flink uses reflection on the (anonymous) classes that implement the user functions to figure out the types of
-the generic parameters of the function. This logic also contains some simple type inference for cases where
-the return types of functions are dependent on input types, such as in the generic utility method below:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">AppendOne</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="kd">extends</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="kd">public</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="nf">map</span><span class="o">(</span><span class="n">T</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;(</span><span class="n">value</span><span class="o">,</span> <span class="mi">1L</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>Not in all cases can Flink figure out the data types of functions reliably in Java.
-Some issues remain with generic lambdas (we are trying to solve this with the Java community,
-see below) and with generic type variables that we cannot infer.</p>
-
-<h4 id="type-hints-in-the-java-api">Type Hints in the Java API</h4>
-
-<p>To help cases where Flink cannot reconstruct the erased generic type information, the Java API
-offers so called <em>type hints</em> from version 0.9 on. The type hints tell the system the type of
-the data set produced by a function. The following gives an example:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">SomeType</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">dataSet</span>
-    <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MyGenericNonInferrableFunction</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">SomeType</span><span class="o">&gt;())</span>
-        <span class="o">.</span><span class="na">returns</span><span class="o">(</span><span class="n">SomeType</span><span class="o">.</span><span class="na">class</span><span class="o">);</span></code></pre></div>
-
-<p>The <code>returns</code> statement specifies the produced type, in this case via a class. The hints support
-type definition through</p>
-
-<ul>
-  <li>Classes, for non-parameterized types (no generics)</li>
-  <li>Strings in the form of <code>returns("Tuple2&lt;Integer, my.SomeType&gt;")</code>, which are parsed and converted
-to a TypeInformation.</li>
-  <li>A TypeInformation directly</li>
-</ul>
-
-<h4 id="type-extraction-for-java-8-lambdas">Type extraction for Java 8 lambdas</h4>
-
-<p>Type extraction for Java 8 lambdas works differently than for non-lambdas, because lambdas are not associated
-with an implementing class that extends the function interface.</p>
-
-<p>Currently, Flink tries to figure out which method implements the lambda and uses Java’s generic signatures to
-determine the parameter types and the return type. However, these signatures are not generated for lambdas
-by all compilers (as of writing this document only reliably by the Eclipse JDT compiler 4.5 from Milestone 2
-onwards)</p>
-
-<p><strong>Improving Type information for Java Lambdas</strong></p>
-
-<p>One of the Flink committers (Timo Walther) has actually become active in the Eclipse JDT compiler community and
-in the OpenJDK community and submitted patches to the compiler to improve availability of type information 
-available for Java 8 lambdas.</p>
-
-<p>The Eclipse JDT compiler has added support for this as of version 4.5 M4. Discussion about the feature in the
-OpenJDK compiler is pending.</p>
-
-<h4 id="serialization-of-pojo-types">Serialization of POJO types</h4>
-
-<p>The PojoTypeInformation is creating serializers for all the fields inside the POJO. Standard types such as 
-int, long, String etc. are handled by serializers we ship with Flink.
-For all other types, we fall back to Kryo.</p>
-
-<p>If Kryo is not able to handle the type, you can ask the PojoTypeInfo to serialize the POJO using Avro.
-To do so, you have to call</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">enableForceAvro</span><span class="o">();</span></code></pre></div>
-
-<p>Note that Flink is automatically serializing POJOs generated by Avro with the Avro serializer.</p>
-
-<p>If you want your <strong>entire</strong> POJO Type to be treated by the Kryo serializer, set</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">enableForceKryo</span><span class="o">();</span></code></pre></div>
-
-<p>If Kryo is not able to serialize your POJO, you can add a custom serializer to Kryo, using</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">addDefaultKryoSerializer</span><span class="o">(</span><span class="n">Class</span><span class="o">&lt;?&gt;</span> <span class="n">type</span><span class="o">,</span> <span class="n">Class</span><span class="o">&lt;?</span> <span class="kd">extends</span> <span class="n">Serializer</span><span class="o">&lt;?&gt;&gt;</span> <span class="n">serializerClass</span><span class="o">)</span></code></pre></div>
-
-<p>There are different variants of these methods available.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/LICENSE.txt
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/LICENSE.txt b/content/docs/0.9/libs/fig/LICENSE.txt
deleted file mode 100644
index 35b8673..0000000
--- a/content/docs/0.9/libs/fig/LICENSE.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-All image files in the folder and its subfolders are
-licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/gelly-example-graph.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/gelly-example-graph.png b/content/docs/0.9/libs/fig/gelly-example-graph.png
deleted file mode 100644
index abef960..0000000
Binary files a/content/docs/0.9/libs/fig/gelly-example-graph.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/gelly-filter.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/gelly-filter.png b/content/docs/0.9/libs/fig/gelly-filter.png
deleted file mode 100644
index cb09744..0000000
Binary files a/content/docs/0.9/libs/fig/gelly-filter.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/gelly-gsa-sssp-result.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/gelly-gsa-sssp-result.png b/content/docs/0.9/libs/fig/gelly-gsa-sssp-result.png
deleted file mode 100644
index 6ae74dd..0000000
Binary files a/content/docs/0.9/libs/fig/gelly-gsa-sssp-result.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/gelly-gsa-sssp1.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/gelly-gsa-sssp1.png b/content/docs/0.9/libs/fig/gelly-gsa-sssp1.png
deleted file mode 100644
index 1141e14..0000000
Binary files a/content/docs/0.9/libs/fig/gelly-gsa-sssp1.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/gelly-gsa-sssp2.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/gelly-gsa-sssp2.png b/content/docs/0.9/libs/fig/gelly-gsa-sssp2.png
deleted file mode 100644
index edf19b8..0000000
Binary files a/content/docs/0.9/libs/fig/gelly-gsa-sssp2.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/gelly-reduceOnEdges.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/gelly-reduceOnEdges.png b/content/docs/0.9/libs/fig/gelly-reduceOnEdges.png
deleted file mode 100644
index ffb674d..0000000
Binary files a/content/docs/0.9/libs/fig/gelly-reduceOnEdges.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/gelly-reduceOnNeighbors.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/gelly-reduceOnNeighbors.png b/content/docs/0.9/libs/fig/gelly-reduceOnNeighbors.png
deleted file mode 100644
index 63137b8..0000000
Binary files a/content/docs/0.9/libs/fig/gelly-reduceOnNeighbors.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/gelly-union.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/gelly-union.png b/content/docs/0.9/libs/fig/gelly-union.png
deleted file mode 100644
index b00f831..0000000
Binary files a/content/docs/0.9/libs/fig/gelly-union.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/gelly-vc-sssp1.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/gelly-vc-sssp1.png b/content/docs/0.9/libs/fig/gelly-vc-sssp1.png
deleted file mode 100644
index 5feab62..0000000
Binary files a/content/docs/0.9/libs/fig/gelly-vc-sssp1.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/gelly-vc-sssp2.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/gelly-vc-sssp2.png b/content/docs/0.9/libs/fig/gelly-vc-sssp2.png
deleted file mode 100644
index 67976b3..0000000
Binary files a/content/docs/0.9/libs/fig/gelly-vc-sssp2.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/spargel_example.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/spargel_example.png b/content/docs/0.9/libs/fig/spargel_example.png
deleted file mode 100644
index 21d20f8..0000000
Binary files a/content/docs/0.9/libs/fig/spargel_example.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/fig/spargel_example_input.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/fig/spargel_example_input.png b/content/docs/0.9/libs/fig/spargel_example_input.png
deleted file mode 100644
index 01ead46..0000000
Binary files a/content/docs/0.9/libs/fig/spargel_example_input.png and /dev/null differ


[54/68] [abbrv] flink-web git commit: regenerate site

Posted by an...@apache.org.
regenerate site


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/094bb9b3
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/094bb9b3
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/094bb9b3

Branch: refs/heads/master
Commit: 094bb9b3e64275d19849b800edf5df3f9af7f717
Parents: bf8c853
Author: Maximilian Michels <mx...@apache.org>
Authored: Wed Jul 1 11:59:03 2015 +0200
Committer: Maximilian Michels <mx...@apache.org>
Committed: Wed Jul 1 11:59:03 2015 +0200

----------------------------------------------------------------------
 content/faq.html | 51 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 48 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/094bb9b3/content/faq.html
----------------------------------------------------------------------
diff --git a/content/faq.html b/content/faq.html
index 1eb3f37..b1e7c3d 100644
--- a/content/faq.html
+++ b/content/faq.html
@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    <title>Apache Flink: F.A.Q.</title>
+    <title>Apache Flink: Frequently Asked Questions (FAQ)</title>
     <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
     <link rel="icon" href="/favicon.ico" type="image/x-icon">
 
@@ -140,9 +140,28 @@
 <div class="row">
   <div class="col-sm-8 col-sm-offset-2">
     <div class="row">
-      <div class="col-sm-12"><h1>F.A.Q.</h1></div>
+      <div class="col-sm-12"><h1>Frequently Asked Questions (FAQ)</h1></div>
     </div>
 
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
 <p>The following questions are frequently asked with regard to the Flink project <strong>in general</strong>. If you have further questions, make sure to consult the <a href="">documentation</a> or <a href="">ask the community</a>.</p>
 
 <div class="page-toc">
@@ -164,6 +183,7 @@
       <li><a href="#in-scala-api-i-get-an-error-about-implicit-values-and-evidence-parameters">In Scala API, I get an error about implicit values and evidence parameters</a></li>
       <li><a href="#i-get-an-error-message-saying-that-not-enough-buffers-are-available-how-do-i-fix-this">I get an error message saying that not enough buffers are available. How do I fix this?</a></li>
       <li><a href="#my-job-fails-early-with-a-javaioeofexception-what-could-be-the-cause">My job fails early with a java.io.EOFException. What could be the cause?</a></li>
+      <li><a href="#my-job-fails-with-various-exceptions-from-the-hdfshadoop-code-what-can-i-do">My job fails with various exceptions from the HDFS/Hadoop code. What can I do?</a></li>
       <li><a href="#in-eclipse-i-get-compilation-errors-in-the-scala-projects">In Eclipse, I get compilation errors in the Scala projects</a></li>
       <li><a href="#my-program-does-not-compute-the-correct-result-why-are-my-custom-key-types">My program does not compute the correct result. Why are my custom key types</a></li>
       <li><a href="#i-get-a-javalanginstantiationexception-for-my-data-type-what-is-wrong">I get a java.lang.InstantiationException for my data type, what is wrong?</a></li>
@@ -273,7 +293,7 @@ parallelism has to be 1 and set it accordingly.</p>
 <p>The parallelism can be set in numerous ways to ensure a fine-grained control
 over the execution of a Flink program. See
 the <a href="http://ci.apache.org/projects/flink/flink-docs-master/setup/config.html#common-options">Configuration guide</a> for detailed instructions on how to
-set the parallelism. Also check out <a href="http://ci.apache.org/projects/flink/flink-docs-master/setup/config.html#configuring-taskmanager-processing-slots">this figure</a> detailing 
+set the parallelism. Also check out <a href="http://ci.apache.org/projects/flink/flink-docs-master/setup/config.html#configuring-taskmanager-processing-slots">this figure</a> detailing
 how the processing slots and parallelism are related to each other.</p>
 
 <h2 id="errors">Errors</h2>
@@ -343,6 +363,31 @@ breaks.</p>
 the https://github.com/apache/flink/tree/master/README.md
 for details on how to set up Flink for different Hadoop and HDFS versions.</p>
 
+<h3 id="my-job-fails-with-various-exceptions-from-the-hdfshadoop-code-what-can-i-do">My job fails with various exceptions from the HDFS/Hadoop code. What can I do?</h3>
+
+<p>Flink is shipping with the Hadoop 2.2 binaries by default. These binaries are used
+to connect to HDFS or YARN.
+It seems that there are some bugs in the HDFS client which cause exceptions while writing to HDFS
+(in particular under high load).
+Among the exceptions are the following:</p>
+
+<ul>
+  <li><code>HDFS client trying to connect to the standby Namenode "org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby"</code></li>
+  <li>
+    <p><code>java.io.IOException: Bad response ERROR for block BP-1335380477-172.22.5.37-1424696786673:blk_1107843111_34301064 from datanode 172.22.5.81:50010
+at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer$ResponseProcessor.run(DFSOutputStream.java:732)</code></p>
+  </li>
+  <li><code>Caused by: org.apache.hadoop.ipc.RemoteException(java.lang.ArrayIndexOutOfBoundsException): 0
+      at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.getDatanodeStorageInfos(DatanodeManager.java:478)
+      at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.updatePipelineInternal(FSNamesystem.java:6039)
+      at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.updatePipeline(FSNamesystem.java:6002)</code></li>
+</ul>
+
+<p>If you are experiencing any of these, we recommend using a Flink build with a Hadoop version matching
+your local HDFS version.
+You can also manually build Flink against the exact Hadoop version (for example
+when using a Hadoop distribution with a custom patch level)</p>
+
 <h3 id="in-eclipse-i-get-compilation-errors-in-the-scala-projects">In Eclipse, I get compilation errors in the Scala projects</h3>
 
 <p>Flink uses a new feature of the Scala compiler (called “quasiquotes”) that have not yet been properly


[46/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/hadoop_compatibility.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/hadoop_compatibility.html b/content/docs/0.9/apis/hadoop_compatibility.html
deleted file mode 100644
index cbbafe7..0000000
--- a/content/docs/0.9/apis/hadoop_compatibility.html
+++ /dev/null
@@ -1,423 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Hadoop Compatibility</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Hadoop Compatibility <span class="badge">Beta</span></h1>
-
-
-
-<p>Flink is compatible with Apache Hadoop MapReduce interfaces and therefore allows
-reusing code that was implemented for Hadoop MapReduce.</p>
-
-<p>You can:</p>
-
-<ul>
-  <li>use Hadoop’s <code>Writable</code> <a href="programming_guide.html#data-types">data types</a> in Flink programs.</li>
-  <li>use any Hadoop <code>InputFormat</code> as a <a href="programming_guide.html#data-sources">DataSource</a>.</li>
-  <li>use any Hadoop <code>OutputFormat</code> as a <a href="programming_guide.html#data-sinks">DataSink</a>.</li>
-  <li>use a Hadoop <code>Mapper</code> as <a href="dataset_transformations.html#flatmap">FlatMapFunction</a>.</li>
-  <li>use a Hadoop <code>Reducer</code> as <a href="dataset_transformations.html#groupreduce-on-grouped-dataset">GroupReduceFunction</a>.</li>
-</ul>
-
-<p>This document shows how to use existing Hadoop MapReduce code with Flink. Please refer to the
-<a href="example_connectors.html">Connecting to other systems</a> guide for reading from Hadoop supported file systems.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#project-configuration" id="markdown-toc-project-configuration">Project Configuration</a></li>
-  <li><a href="#using-hadoop-data-types" id="markdown-toc-using-hadoop-data-types">Using Hadoop Data Types</a></li>
-  <li><a href="#using-hadoop-inputformats" id="markdown-toc-using-hadoop-inputformats">Using Hadoop InputFormats</a></li>
-  <li><a href="#using-hadoop-outputformats" id="markdown-toc-using-hadoop-outputformats">Using Hadoop OutputFormats</a></li>
-  <li><a href="#using-hadoop-mappers-and-reducers" id="markdown-toc-using-hadoop-mappers-and-reducers">Using Hadoop Mappers and Reducers</a></li>
-  <li><a href="#complete-hadoop-wordcount-example" id="markdown-toc-complete-hadoop-wordcount-example">Complete Hadoop WordCount Example</a></li>
-</ul>
-
-<h3 id="project-configuration">Project Configuration</h3>
-
-<p>Support for Haddop input/output formats is part of the <code>flink-java</code> and
-<code>flink-scala</code> Maven modules that are always required when writing Flink jobs.
-The code is located in <code>org.apache.flink.api.java.hadoop</code> and
-<code>org.apache.flink.api.scala.hadoop</code> in an additional sub-package for the
-<code>mapred</code> and <code>mapreduce</code> API.</p>
-
-<p>Support for Hadoop Mappers and Reducers is contained in the <code>flink-staging</code>
-Maven module.
-This code resides in the <code>org.apache.flink.hadoopcompatibility</code>
-package.</p>
-
-<p>Add the following dependency to your <code>pom.xml</code> if you want to reuse Mappers
-and Reducers.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>flink-hadoop-compatibility<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<h3 id="using-hadoop-data-types">Using Hadoop Data Types</h3>
-
-<p>Flink supports all Hadoop <code>Writable</code> and <code>WritableComparable</code> data types
-out-of-the-box. You do not need to include the Hadoop Compatibility dependency,
-if you only want to use your Hadoop data types. See the
-<a href="programming_guide.html#data-types">Programming Guide</a> for more details.</p>
-
-<h3 id="using-hadoop-inputformats">Using Hadoop InputFormats</h3>
-
-<p>Hadoop input formats can be used to create a data source by using
-one of the methods <code>readHadoopFile</code> or <code>createHadoopInput</code> of the
-<code>ExecutionEnvironment</code>. The former is used for input formats derived
-from <code>FileInputFormat</code> while the latter has to be used for general purpose
-input formats.</p>
-
-<p>The resulting <code>DataSet</code> contains 2-tuples where the first field
-is the key and the second field is the value retrieved from the Hadoop
-InputFormat.</p>
-
-<p>The following example shows how to use Hadoop’s <code>TextInputFormat</code>.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span>
-    <span class="n">env</span><span class="o">.</span><span class="na">readHadoopFile</span><span class="o">(</span><span class="k">new</span> <span class="nf">TextInputFormat</span><span class="o">(),</span> <span class="n">LongWritable</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Text</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">textPath</span><span class="o">);</span>
-
-<span class="c1">// Do something with the data.</span>
-<span class="o">[...]</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-		
-<span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">LongWritable</span>, <span class="kt">Text</span><span class="o">)]</span> <span class="k">=</span>
-  <span class="n">env</span><span class="o">.</span><span class="n">readHadoopFile</span><span class="o">(</span><span class="k">new</span> <span class="nc">TextInputFormat</span><span class="o">,</span> <span class="n">classOf</span><span class="o">[</span><span class="kt">LongWritable</span><span class="o">],</span> <span class="n">classOf</span><span class="o">[</span><span class="kt">Text</span><span class="o">],</span> <span class="n">textPath</span><span class="o">)</span>
-
-<span class="c1">// Do something with the data.</span>
-<span class="o">[</span><span class="kt">...</span><span class="o">]</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<h3 id="using-hadoop-outputformats">Using Hadoop OutputFormats</h3>
-
-<p>Flink provides a compatibility wrapper for Hadoop <code>OutputFormats</code>. Any class
-that implements <code>org.apache.hadoop.mapred.OutputFormat</code> or extends
-<code>org.apache.hadoop.mapreduce.OutputFormat</code> is supported.
-The OutputFormat wrapper expects its input data to be a DataSet containing
-2-tuples of key and value. These are to be processed by the Hadoop OutputFormat.</p>
-
-<p>The following example shows how to use Hadoop’s <code>TextOutputFormat</code>.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// Obtain the result we want to emit</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;&gt;</span> <span class="n">hadoopResult</span> <span class="o">=</span> <span class="o">[...]</span>
-		
-<span class="c1">// Set up the Hadoop TextOutputFormat.</span>
-<span class="n">HadoopOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;</span> <span class="n">hadoopOF</span> <span class="o">=</span> 
-  <span class="c1">// create the Flink wrapper.</span>
-  <span class="k">new</span> <span class="n">HadoopOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;(</span>
-    <span class="c1">// set the Hadoop OutputFormat and specify the job.</span>
-    <span class="k">new</span> <span class="n">TextOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;(),</span> <span class="n">job</span>
-  <span class="o">);</span>
-<span class="n">hadoopOF</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">().</span><span class="na">set</span><span class="o">(</span><span class="s">&quot;mapreduce.output.textoutputformat.separator&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">);</span>
-<span class="n">TextOutputFormat</span><span class="o">.</span><span class="na">setOutputPath</span><span class="o">(</span><span class="n">job</span><span class="o">,</span> <span class="k">new</span> <span class="nf">Path</span><span class="o">(</span><span class="n">outputPath</span><span class="o">));</span>
-		
-<span class="c1">// Emit data using the Hadoop TextOutputFormat.</span>
-<span class="n">hadoopResult</span><span class="o">.</span><span class="na">output</span><span class="o">(</span><span class="n">hadoopOF</span><span class="o">);</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="c1">// Obtain your result to emit.</span>
-<span class="k">val</span> <span class="n">hadoopResult</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Text</span>, <span class="kt">IntWritable</span><span class="o">)]</span> <span class="k">=</span> <span class="o">[</span><span class="kt">...</span><span class="o">]</span>
-
-<span class="k">val</span> <span class="n">hadoopOF</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">HadoopOutputFormat</span><span class="o">[</span><span class="kt">Text</span>,<span class="kt">IntWritable</span><span class="o">](</span>
-  <span class="k">new</span> <span class="nc">TextOutputFormat</span><span class="o">[</span><span class="kt">Text</span>, <span class="kt">IntWritable</span><span class="o">],</span>
-  <span class="k">new</span> <span class="nc">JobConf</span><span class="o">)</span>
-
-<span class="n">hadoopOF</span><span class="o">.</span><span class="n">getJobConf</span><span class="o">.</span><span class="n">set</span><span class="o">(</span><span class="s">&quot;mapred.textoutputformat.separator&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">)</span>
-<span class="nc">FileOutputFormat</span><span class="o">.</span><span class="n">setOutputPath</span><span class="o">(</span><span class="n">hadoopOF</span><span class="o">.</span><span class="n">getJobConf</span><span class="o">,</span> <span class="k">new</span> <span class="nc">Path</span><span class="o">(</span><span class="n">resultPath</span><span class="o">))</span>
-
-<span class="n">hadoopResult</span><span class="o">.</span><span class="n">output</span><span class="o">(</span><span class="n">hadoopOF</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<h3 id="using-hadoop-mappers-and-reducers">Using Hadoop Mappers and Reducers</h3>
-
-<p>Hadoop Mappers are semantically equivalent to Flink’s <a href="dataset_transformations.html#flatmap">FlatMapFunctions</a> and Hadoop Reducers are equivalent to Flink’s <a href="dataset_transformations.html#groupreduce-on-grouped-dataset">GroupReduceFunctions</a>. Flink provides wrappers for implementations of Hadoop MapReduce’s <code>Mapper</code> and <code>Reducer</code> interfaces, i.e., you can reuse your Hadoop Mappers and Reducers in regular Flink programs. At the moment, only the Mapper and Reduce interfaces of Hadoop’s mapred API (<code>org.apache.hadoop.mapred</code>) are supported.</p>
-
-<p>The wrappers take a <code>DataSet&lt;Tuple2&lt;KEYIN,VALUEIN&gt;&gt;</code> as input and produce a <code>DataSet&lt;Tuple2&lt;KEYOUT,VALUEOUT&gt;&gt;</code> as output where <code>KEYIN</code> and <code>KEYOUT</code> are the keys and <code>VALUEIN</code> and <code>VALUEOUT</code> are the values of the Hadoop key-value pairs that are processed by the Hadoop functions. For Reducers, Flink offers a wrapper for a GroupReduceFunction with (<code>HadoopReduceCombineFunction</code>) and without a Combiner (<code>HadoopReduceFunction</code>). The wrappers accept an optional <code>JobConf</code> object to configure the Hadoop Mapper or Reducer.</p>
-
-<p>Flink’s function wrappers are</p>
-
-<ul>
-  <li><code>org.apache.flink.hadoopcompatibility.mapred.HadoopMapFunction</code>,</li>
-  <li><code>org.apache.flink.hadoopcompatibility.mapred.HadoopReduceFunction</code>, and</li>
-  <li><code>org.apache.flink.hadoopcompatibility.mapred.HadoopReduceCombineFunction</code>.</li>
-</ul>
-
-<p>and can be used as regular Flink <a href="dataset_transformations.html#flatmap">FlatMapFunctions</a> or <a href="dataset_transformations.html#groupreduce-on-grouped-dataset">GroupReduceFunctions</a>.</p>
-
-<p>The following example shows how to use Hadoop <code>Mapper</code> and <code>Reducer</code> functions.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="c1">// Obtain data to process somehow.</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="o">[...]</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">text</span>
-  <span class="c1">// use Hadoop Mapper (Tokenizer) as MapFunction</span>
-  <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="n">HadoopMapFunction</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">()</span>
-  <span class="o">))</span>
-  <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-  <span class="c1">// use Hadoop Reducer (Counter) as Reduce- and CombineFunction</span>
-  <span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="n">HadoopReduceCombineFunction</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="nf">Counter</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">Counter</span><span class="o">()</span>
-  <span class="o">));</span></code></pre></div>
-
-<p><strong>Please note:</strong> The Reducer wrapper works on groups as defined by Flink’s <a href="dataset_transformations.html#transformations-on-grouped-dataset">groupBy()</a> operation. It does not consider any custom partitioners, sort or grouping comparators you might have set in the <code>JobConf</code>.</p>
-
-<h3 id="complete-hadoop-wordcount-example">Complete Hadoop WordCount Example</h3>
-
-<p>The following example shows a complete WordCount implementation using Hadoop data types, Input- and OutputFormats, and Mapper and Reducer implementations.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-		
-<span class="c1">// Set up the Hadoop TextInputFormat.</span>
-<span class="n">Job</span> <span class="n">job</span> <span class="o">=</span> <span class="n">Job</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span>
-<span class="n">HadoopInputFormat</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">&gt;</span> <span class="n">hadoopIF</span> <span class="o">=</span> 
-  <span class="k">new</span> <span class="n">HadoopInputFormat</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="nf">TextInputFormat</span><span class="o">(),</span> <span class="n">LongWritable</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Text</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">job</span>
-  <span class="o">);</span>
-<span class="n">TextInputFormat</span><span class="o">.</span><span class="na">addInputPath</span><span class="o">(</span><span class="n">job</span><span class="o">,</span> <span class="k">new</span> <span class="nf">Path</span><span class="o">(</span><span class="n">inputPath</span><span class="o">));</span>
-		
-<span class="c1">// Read data using the Hadoop TextInputFormat.</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">&gt;&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">createInput</span><span class="o">(</span><span class="n">hadoopIF</span><span class="o">);</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">text</span>
-  <span class="c1">// use Hadoop Mapper (Tokenizer) as MapFunction</span>
-  <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="n">HadoopMapFunction</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">()</span>
-  <span class="o">))</span>
-  <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-  <span class="c1">// use Hadoop Reducer (Counter) as Reduce- and CombineFunction</span>
-  <span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="n">HadoopReduceCombineFunction</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="nf">Counter</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">Counter</span><span class="o">()</span>
-  <span class="o">));</span>
-
-<span class="c1">// Set up the Hadoop TextOutputFormat.</span>
-<span class="n">HadoopOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;</span> <span class="n">hadoopOF</span> <span class="o">=</span> 
-  <span class="k">new</span> <span class="n">HadoopOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="n">TextOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;(),</span> <span class="n">job</span>
-  <span class="o">);</span>
-<span class="n">hadoopOF</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">().</span><span class="na">set</span><span class="o">(</span><span class="s">&quot;mapreduce.output.textoutputformat.separator&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">);</span>
-<span class="n">TextOutputFormat</span><span class="o">.</span><span class="na">setOutputPath</span><span class="o">(</span><span class="n">job</span><span class="o">,</span> <span class="k">new</span> <span class="nf">Path</span><span class="o">(</span><span class="n">outputPath</span><span class="o">));</span>
-		
-<span class="c1">// Emit data using the Hadoop TextOutputFormat.</span>
-<span class="n">result</span><span class="o">.</span><span class="na">output</span><span class="o">(</span><span class="n">hadoopOF</span><span class="o">);</span>
-
-<span class="c1">// Execute Program</span>
-<span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="s">&quot;Hadoop WordCount&quot;</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/index.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/index.html b/content/docs/0.9/apis/index.html
deleted file mode 100644
index d68e2e7..0000000
--- a/content/docs/0.9/apis/index.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Programming Guides</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Programming Guides</h1>
-
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/iterations.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/iterations.html b/content/docs/0.9/apis/iterations.html
deleted file mode 100644
index e5065fe..0000000
--- a/content/docs/0.9/apis/iterations.html
+++ /dev/null
@@ -1,399 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Iterations</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Iterations</h1>
-
-
-
-<p>Iterative algorithms occur in many domains of data analysis, such as <em>machine learning</em> or <em>graph analysis</em>. Such algorithms are crucial in order to realize the promise of Big Data to extract meaningful information out of your data. With increasing interest to run these kinds of algorithms on very large data sets, there is a need to execute iterations in a massively parallel fashion.</p>
-
-<p>Flink programs implement iterative algorithms by defining a <strong>step function</strong> and embedding it into a special iteration operator. There are two  variants of this operator: <strong>Iterate</strong> and <strong>Delta Iterate</strong>. Both operators repeatedly invoke the step function on the current iteration state until a certain termination condition is reached.</p>
-
-<p>Here, we provide background on both operator variants and outline their usage. The <a href="programming_guide.html">programming guide</a> explains how to implement the operators in both Scala and Java. We also support both <strong>vertex-centric and gather-sum-apply iterations</strong> through Flink’s graph processing API, <a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Gelly</a>.</p>
-
-<p>The following table provides an overview of both operators:</p>
-
-<table class="table table-striped table-hover table-bordered">
-	<thead>
-		<th></th>
-		<th class="text-center">Iterate</th>
-		<th class="text-center">Delta Iterate</th>
-	</thead>
-	<tr>
-		<td class="text-center" width="20%"><strong>Iteration Input</strong></td>
-		<td class="text-center" width="40%"><strong>Partial Solution</strong></td>
-		<td class="text-center" width="40%"><strong>Workset</strong> and <strong>Solution Set</strong></td>
-	</tr>
-	<tr>
-		<td class="text-center"><strong>Step Function</strong></td>
-		<td colspan="2" class="text-center">Arbitrary Data Flows</td>
-	</tr>
-	<tr>
-		<td class="text-center"><strong>State Update</strong></td>
-		<td class="text-center">Next <strong>partial solution</strong></td>
-		<td>
-			<ul>
-				<li>Next workset</li>
-				<li><strong>Changes to solution set</strong></li>
-			</ul>
-		</td>
-	</tr>
-	<tr>
-		<td class="text-center"><strong>Iteration Result</strong></td>
-		<td class="text-center">Last partial solution</td>
-		<td class="text-center">Solution set state after last iteration</td>
-	</tr>
-	<tr>
-		<td class="text-center"><strong>Termination</strong></td>
-		<td>
-			<ul>
-				<li><strong>Maximum number of iterations</strong> (default)</li>
-				<li>Custom aggregator convergence</li>
-			</ul>
-		</td>
-		<td>
-			<ul>
-				<li><strong>Maximum number of iterations or empty workset</strong> (default)</li>
-				<li>Custom aggregator convergence</li>
-			</ul>
-		</td>
-	</tr>
-</table>
-
-<ul id="markdown-toc">
-  <li><a href="#iterate-operator" id="markdown-toc-iterate-operator">Iterate Operator</a>    <ul>
-      <li><a href="#example-incrementing-numbers" id="markdown-toc-example-incrementing-numbers">Example: Incrementing Numbers</a></li>
-    </ul>
-  </li>
-  <li><a href="#delta-iterate-operator" id="markdown-toc-delta-iterate-operator">Delta Iterate Operator</a>    <ul>
-      <li><a href="#example-propagate-minimum-in-graph" id="markdown-toc-example-propagate-minimum-in-graph">Example: Propagate Minimum in Graph</a></li>
-    </ul>
-  </li>
-  <li><a href="#superstep-synchronization" id="markdown-toc-superstep-synchronization">Superstep Synchronization</a></li>
-</ul>
-
-<h2 id="iterate-operator">Iterate Operator</h2>
-
-<p>The <strong>iterate operator</strong> covers the <em>simple form of iterations</em>: in each iteration, the <strong>step function</strong> consumes the <strong>entire input</strong> (the <em>result of the previous iteration</em>, or the <em>initial data set</em>), and computes the <strong>next version of the partial solution</strong> (e.g. <code>map</code>, <code>reduce</code>, <code>join</code>, etc.).</p>
-
-<p class="text-center">
-    <img alt="Iterate Operator" width="60%" src="fig/iterations_iterate_operator.png" />
-</p>
-
-<ol>
-  <li><strong>Iteration Input</strong>: Initial input for the <em>first iteration</em> from a <em>data source</em> or <em>previous operators</em>.</li>
-  <li><strong>Step Function</strong>: The step function will be executed in each iteration. It is an arbitrary data flow consisting of operators like <code>map</code>, <code>reduce</code>, <code>join</code>, etc. and depends on your specific task at hand.</li>
-  <li><strong>Next Partial Solution</strong>: In each iteration, the output of the step function will be fed back into the <em>next iteration</em>.</li>
-  <li><strong>Iteration Result</strong>: Output of the <em>last iteration</em> is written to a <em>data sink</em> or used as input to the <em>following operators</em>.</li>
-</ol>
-
-<p>There are multiple options to specify <strong>termination conditions</strong> for an iteration:</p>
-
-<ul>
-  <li><strong>Maximum number of iterations</strong>: Without any further conditions, the iteration will be executed this many times.</li>
-  <li><strong>Custom aggregator convergence</strong>: Iterations allow to specify <em>custom aggregators</em> and <em>convergence criteria</em> like sum aggregate the number of emitted records (aggregator) and terminate if this number is zero (convergence criterion).</li>
-</ul>
-
-<p>You can also think about the iterate operator in pseudo-code:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">IterationState</span> <span class="n">state</span> <span class="o">=</span> <span class="n">getInitialState</span><span class="o">();</span>
-
-<span class="k">while</span> <span class="o">(!</span><span class="n">terminationCriterion</span><span class="o">())</span> <span class="o">{</span>
-	<span class="n">state</span> <span class="o">=</span> <span class="n">step</span><span class="o">(</span><span class="n">state</span><span class="o">);</span>
-<span class="o">}</span>
-
-<span class="n">setFinalState</span><span class="o">(</span><span class="n">state</span><span class="o">);</span></code></pre></div>
-
-<div class="panel panel-default">
-	<div class="panel-body">
-	See the <strong><a href="programming_guide.html">Programming Guide</a> </strong> for details and code examples.</div>
-</div>
-
-<h3 id="example-incrementing-numbers">Example: Incrementing Numbers</h3>
-
-<p>In the following example, we <strong>iteratively incremenet a set numbers</strong>:</p>
-
-<p class="text-center">
-    <img alt="Iterate Operator Example" width="60%" src="fig/iterations_iterate_operator_example.png" />
-</p>
-
-<ol>
-  <li><strong>Iteration Input</strong>: The inital input is read from a data source and consists of five single-field records (integers <code>1</code> to <code>5</code>).</li>
-  <li><strong>Step function</strong>: The step function is a single <code>map</code> operator, which increments the integer field from <code>i</code> to <code>i+1</code>. It will be applied to every record of the input.</li>
-  <li><strong>Next Partial Solution</strong>: The output of the step function will be the output of the map operator, i.e. records with incremented integers.</li>
-  <li><strong>Iteration Result</strong>: After ten iterations, the initial numbers will have been incremented ten times, resulting in integers <code>11</code> to <code>15</code>.</li>
-</ol>
-
-<div class="highlight"><pre><code>// 1st           2nd                       10th
-map(1) -&gt; 2      map(2) -&gt; 3      ...      map(10) -&gt; 11
-map(2) -&gt; 3      map(3) -&gt; 4      ...      map(11) -&gt; 12
-map(3) -&gt; 4      map(4) -&gt; 5      ...      map(12) -&gt; 13
-map(4) -&gt; 5      map(5) -&gt; 6      ...      map(13) -&gt; 14
-map(5) -&gt; 6      map(6) -&gt; 7      ...      map(14) -&gt; 15
-</code></pre></div>
-
-<p>Note that <strong>1</strong>, <strong>2</strong>, and <strong>4</strong> can be arbitrary data flows.</p>
-
-<h2 id="delta-iterate-operator">Delta Iterate Operator</h2>
-
-<p>The <strong>delta iterate operator</strong> covers the case of <strong>incremental iterations</strong>. Incremental iterations <strong>selectively modify elements</strong> of their <strong>solution</strong> and evolve the solution rather than fully recompute it.</p>
-
-<p>Where applicable, this leads to <strong>more efficient algorithms</strong>, because not every element in the solution set changes in each iteration. This allows to <strong>focus on the hot parts</strong> of the solution and leave the <strong>cold parts untouched</strong>. Frequently, the majority of the solution cools down comparatively fast and the later iterations operate only on a small subset of the data.</p>
-
-<p class="text-center">
-    <img alt="Delta Iterate Operator" width="60%" src="fig/iterations_delta_iterate_operator.png" />
-</p>
-
-<ol>
-  <li><strong>Iteration Input</strong>: The initial workset and solution set are read from <em>data sources</em> or <em>previous operators</em> as input to the first iteration.</li>
-  <li><strong>Step Function</strong>: The step function will be executed in each iteration. It is an arbitrary data flow consisting of operators like <code>map</code>, <code>reduce</code>, <code>join</code>, etc. and depends on your specific task at hand.</li>
-  <li><strong>Next Workset/Update Solution Set</strong>: The <em>next workset</em> drives the iterative computation and will be fed back into the <em>next iteration</em>. Furthermore, the solution set will be updated and implicitly forwarded (it is not required to be rebuild). Both data sets can be updated by different operators of the step function.</li>
-  <li><strong>Iteration Result</strong>: After the <em>last iteration</em>, the <em>solution set</em> is written to a <em>data sink</em> or used as input to the <em>following operators</em>.</li>
-</ol>
-
-<p>The default <strong>termination condition</strong> for delta iterations is specified by the <strong>empty workset convergence criterion</strong> and a <strong>maximum number of iterations</strong>. The iteration will terminate when a produced <em>next workset</em> is empty or when the maximum number of iterations is reached. It is also possible to specify a <strong>custom aggregator</strong> and <strong>convergence criterion</strong>.</p>
-
-<p>You can also think about the iterate operator in pseudo-code:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">IterationState</span> <span class="n">workset</span> <span class="o">=</span> <span class="n">getInitialState</span><span class="o">();</span>
-<span class="n">IterationState</span> <span class="n">solution</span> <span class="o">=</span> <span class="n">getInitialSolution</span><span class="o">();</span>
-
-<span class="k">while</span> <span class="o">(!</span><span class="n">terminationCriterion</span><span class="o">())</span> <span class="o">{</span>
-	<span class="o">(</span><span class="n">delta</span><span class="o">,</span> <span class="n">workset</span><span class="o">)</span> <span class="o">=</span> <span class="n">step</span><span class="o">(</span><span class="n">workset</span><span class="o">,</span> <span class="n">solution</span><span class="o">);</span>
-
-	<span class="n">solution</span><span class="o">.</span><span class="na">update</span><span class="o">(</span><span class="n">delta</span><span class="o">)</span>
-<span class="o">}</span>
-
-<span class="n">setFinalState</span><span class="o">(</span><span class="n">solution</span><span class="o">);</span></code></pre></div>
-
-<div class="panel panel-default">
-	<div class="panel-body">
-	See the <strong><a href="programming_guide.html">programming guide</a></strong> for details and code examples.</div>
-</div>
-
-<h3 id="example-propagate-minimum-in-graph">Example: Propagate Minimum in Graph</h3>
-
-<p>In the following example, every vertex has an <strong>ID</strong> and a <strong>coloring</strong>. Each vertex will propagate its vertex ID to neighboring vertices. The <strong>goal</strong> is to <em>assign the minimum ID to every vertex in a subgraph</em>. If a received ID is smaller then the current one, it changes to the color of the vertex with the received ID. One application of this can be found in <em>community analysis</em> or <em>connected components</em> computation.</p>
-
-<p class="text-center">
-    <img alt="Delta Iterate Operator Example" width="100%" src="fig/iterations_delta_iterate_operator_example.png" />
-</p>
-
-<p>The <strong>intial input</strong> is set as <strong>both workset and solution set.</strong> In the above figure, the colors visualize the <strong>evolution of the solution set</strong>. With each iteration, the color of the minimum ID is spreading in the respective subgraph. At the same time, the amount of work (exchanged and compared vertex IDs) decreases with each iteration. This corresponds to the <strong>decreasing size of the workset</strong>, which goes from all seven vertices to zero after three iterations, at which time the iteration terminates. The <strong>important observation</strong> is that <em>the lower subgraph converges before the upper half</em> does and the delta iteration is able to capture this with the workset abstraction.</p>
-
-<p>In the upper subgraph <strong>ID 1</strong> (<em>orange</em>) is the <strong>minimum ID</strong>. In the <strong>first iteration</strong>, it will get propagated to vertex 2, which will subsequently change its color to orange. Vertices 3 and 4 will receive <strong>ID 2</strong> (in <em>yellow</em>) as their current minimum ID and change to yellow. Because the color of <em>vertex 1</em> didn’t change in the first iteration, it can be skipped it in the next workset.</p>
-
-<p>In the lower subgraph <strong>ID 5</strong> (<em>cyan</em>) is the <strong>minimum ID</strong>. All vertices of the lower subgraph will receive it in the first iteration. Again, we can skip the unchanged vertices (<em>vertex 5</em>) for the next workset.</p>
-
-<p>In the <strong>2nd iteration</strong>, the workset size has already decreased from seven to five elements (vertices 2, 3, 4, 6, and 7). These are part of the iteration and further propagate their current minimum IDs. After this iteration, the lower subgraph has already converged (<strong>cold part</strong> of the graph), as it has no elements in the workset, whereas the upper half needs a further iteration (<strong>hot part</strong> of the graph) for the two remaining workset elements (vertices 3 and 4).</p>
-
-<p>The iteration <strong>terminates</strong>, when the workset is empty after the <strong>3rd iteration</strong>.</p>
-
-<p><a href="#supersteps"></a></p>
-
-<h2 id="superstep-synchronization">Superstep Synchronization</h2>
-
-<p>We referred to each execution of the step function of an iteration operator as <em>a single iteration</em>. In parallel setups, <strong>multiple instances of the step function are evaluated in parallel</strong> on different partitions of the iteration state. In many settings, one evaluation of the step function on all parallel instances forms a so called <strong>superstep</strong>, which is also the granularity of synchronization. Therefore, <em>all</em> parallel tasks of an iteration need to complete the superstep, before a next superstep will be initialized. <strong>Termination criteria</strong> will also be evaluated at superstep barriers.</p>
-
-<p class="text-center">
-    <img alt="Supersteps" width="50%" src="fig/iterations_supersteps.png" />
-</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[37/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/fig/projects_dependencies.svg
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/fig/projects_dependencies.svg b/content/docs/0.9/internals/fig/projects_dependencies.svg
deleted file mode 100644
index d537ab8..0000000
--- a/content/docs/0.9/internals/fig/projects_dependencies.svg
+++ /dev/null
@@ -1,586 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   width="184.83mm"
-   height="182.98mm"
-   id="svg2985"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="Picture1.emf">
-  <metadata
-     id="metadata3185">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="640"
-     inkscape:window-height="480"
-     id="namedview3183"
-     showgrid="false"
-     inkscape:zoom="1.5284853"
-     inkscape:cx="327.45474"
-     inkscape:cy="324.17715"
-     inkscape:window-x="-8"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1"
-     inkscape:current-layer="svg2985" />
-  <defs
-     id="defs2987" />
-  <g
-     id="g2989">
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 260.48364 21.380326   C 260.48364 18.510862 262.80922 16.185282 265.69744 16.185282   L 378.24423 16.185282   C 381.13245 16.185282 383.45803 18.510862 383.45803 21.380326   L 383.45803 42.216767   C 383.45803 45.086232 381.13245 47.411811 378.24423 47.411811   L 265.69744 47.411811   C 262.80922 47.411811 260.48364 45.086232 260.48364 42.216767   z"
-       id="path2991" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 260.48364 21.380326   C 260.48364 18.510862 262.80922 16.185282 265.69744 16.185282   L 378.24423 16.185282   C 381.13245 16.185282 383.45803 18.510862 383.45803 21.380326   L 383.45803 42.216767   C 383.45803 45.086232 381.13245 47.411811 378.24423 47.411811   L 265.69744 47.411811   C 262.80922 47.411811 260.48364 45.086232 260.48364 42.216767   z"
-       id="path2993" />
-    <text
-       xml:space="preserve"
-       x="275.28831"
-       y="39.668396"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text2995">flink</text>
-    <text
-       xml:space="preserve"
-       x="316.69863"
-       y="39.668396"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text2997">-</text>
-    <text
-       xml:space="preserve"
-       x="325.70087"
-       y="39.668396"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text2999">core</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 130.86073 96.502166   C 130.86073 93.670211 133.1488 91.372763 135.98075 91.372763   L 233.41127 91.372763   C 236.23385 91.372763 238.5313 93.670211 238.5313 96.502166   L 238.5313 116.98227   C 238.5313 119.81422 236.23385 122.10229 233.41127 122.10229   L 135.98075 122.10229   C 133.1488 122.10229 130.86073 119.81422 130.86073 116.98227   z"
-       id="path3001" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5037487px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 130.86073 96.502166   C 130.86073 93.670211 133.1488 91.372763 135.98075 91.372763   L 233.41127 91.372763   C 236.23385 91.372763 238.5313 93.670211 238.5313 96.502166   L 238.5313 116.98227   C 238.5313 119.81422 236.23385 122.10229 233.41127 122.10229   L 135.98075 122.10229   C 133.1488 122.10229 130.86073 119.81422 130.86073 116.98227   z"
-       id="path3003" />
-    <text
-       xml:space="preserve"
-       x="138.4718"
-       y="114.6131"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3005">flink</text>
-    <text
-       xml:space="preserve"
-       x="179.88211"
-       y="114.6131"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3007">-</text>
-    <text
-       xml:space="preserve"
-       x="188.88436"
-       y="114.6131"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3009">java</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 260.48364 96.567807   C 260.48364 93.754607 262.77171 91.466537 265.58491 91.466537   L 363.05295 91.466537   C 365.86615 91.466537 368.15422 93.754607 368.15422 96.567807   L 368.15422 117.0104   C 368.15422 119.8236 365.86615 122.11167 363.05295 122.11167   L 265.58491 122.11167   C 262.77171 122.11167 260.48364 119.8236 260.48364 117.0104   z"
-       id="path3011" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 260.48364 96.567807   C 260.48364 93.754607 262.77171 91.466537 265.58491 91.466537   L 363.05295 91.466537   C 365.86615 91.466537 368.15422 93.754607 368.15422 96.567807   L 368.15422 117.0104   C 368.15422 119.8236 365.86615 122.11167 363.05295 122.11167   L 265.58491 122.11167   C 262.77171 122.11167 260.48364 119.8236 260.48364 117.0104   z"
-       id="path3013" />
-    <text
-       xml:space="preserve"
-       x="264.04551"
-       y="114.65651"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3015">flink</text>
-    <text
-       xml:space="preserve"
-       x="305.45583"
-       y="114.65651"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3017">-</text>
-    <text
-       xml:space="preserve"
-       x="314.45807"
-       y="114.65651"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3019">scala</text>
-    <text
-       xml:space="preserve"
-       x="20.936318"
-       y="28.495681"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3021">c</text>
-    <text
-       xml:space="preserve"
-       x="28.738261"
-       y="28.495681"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3023">ore types, common API, utils,</text>
-    <text
-       xml:space="preserve"
-       x="102.25658"
-       y="46.500168"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3025">core data structures</text>
-    <text
-       xml:space="preserve"
-       x="277.67823"
-       y="145.73346"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3027">Scala API</text>
-    <text
-       xml:space="preserve"
-       x="152.42842"
-       y="145.73346"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3029">Java API</text>
-    <text
-       xml:space="preserve"
-       x="127.97233"
-       y="163.73794"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3031">Old Record API</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 260.48364 198.25564   C 260.48364 195.0861 263.05303 192.51671 266.20382 192.51671   L 399.26822 192.51671   C 402.419 192.51671 404.98839 195.0861 404.98839 198.25564   L 404.98839 221.13634   C 404.98839 224.30588 402.419 226.87527 399.26822 226.87527   L 266.20382 226.87527   C 263.05303 226.87527 260.48364 224.30588 260.48364 221.13634   z"
-       id="path3033" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 260.48364 198.25564   C 260.48364 195.0861 263.05303 192.51671 266.20382 192.51671   L 399.26822 192.51671   C 402.419 192.51671 404.98839 195.0861 404.98839 198.25564   L 404.98839 221.13634   C 404.98839 224.30588 402.419 226.87527 399.26822 226.87527   L 266.20382 226.87527   C 263.05303 226.87527 260.48364 224.30588 260.48364 221.13634   z"
-       id="path3035" />
-    <text
-       xml:space="preserve"
-       x="268.52797"
-       y="217.56563"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3037">flink</text>
-    <text
-       xml:space="preserve"
-       x="309.93829"
-       y="217.56563"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3039">-</text>
-    <text
-       xml:space="preserve"
-       x="318.94053"
-       y="217.56563"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3041">runtime</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 260.48364 262.94051   C 260.48364 259.77097 263.05303 257.22033 266.20382 257.22033   L 399.26822 257.22033   C 402.419 257.22033 404.98839 259.77097 404.98839 262.94051   L 404.98839 285.83996   C 404.98839 288.99074 402.419 291.56013 399.26822 291.56013   L 266.20382 291.56013   C 263.05303 291.56013 260.48364 288.99074 260.48364 285.83996   z"
-       id="path3043" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 260.48364 262.94051   C 260.48364 259.77097 263.05303 257.22033 266.20382 257.22033   L 399.26822 257.22033   C 402.419 257.22033 404.98839 259.77097 404.98839 262.94051   L 404.98839 285.83996   C 404.98839 288.99074 402.419 291.56013 399.26822 291.56013   L 266.20382 291.56013   C 263.05303 291.56013 260.48364 288.99074 260.48364 285.83996   z"
-       id="path3045" />
-    <text
-       xml:space="preserve"
-       x="264.77703"
-       y="282.25536"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3047">flink</text>
-    <text
-       xml:space="preserve"
-       x="306.18735"
-       y="282.25536"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3049">-</text>
-    <text
-       xml:space="preserve"
-       x="315.18959"
-       y="282.25536"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3051">compiler</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 260.48364 326.7439   C 260.48364 323.57436 263.05303 321.02373 266.20382 321.02373   L 399.26822 321.02373   C 402.419 321.02373 404.98839 323.57436 404.98839 326.7439   L 404.98839 349.64335   C 404.98839 352.79414 402.419 355.36353 399.26822 355.36353   L 266.20382 355.36353   C 263.05303 355.36353 260.48364 352.79414 260.48364 349.64335   z"
-       id="path3053" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 260.48364 326.7439   C 260.48364 323.57436 263.05303 321.02373 266.20382 321.02373   L 399.26822 321.02373   C 402.419 321.02373 404.98839 323.57436 404.98839 326.7439   L 404.98839 349.64335   C 404.98839 352.79414 402.419 355.36353 399.26822 355.36353   L 266.20382 355.36353   C 263.05303 355.36353 260.48364 352.79414 260.48364 349.64335   z"
-       id="path3055" />
-    <text
-       xml:space="preserve"
-       x="275.72976"
-       y="346.05788"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3057">flink</text>
-    <text
-       xml:space="preserve"
-       x="317.14008"
-       y="346.05788"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3059">-</text>
-    <text
-       xml:space="preserve"
-       x="326.14232"
-       y="346.05788"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3061">clients</text>
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 333.49558 397.91788   L 333.94569 363.25925   L 331.45132 363.22174   L 331.00121 397.88037   z  M 338.07172 370.17972   L 332.7454 360.74612   L 327.1565 370.02968   C 326.80016 370.62983 326.98771 371.39877 327.58786 371.75511   C 328.16926 372.11145 328.9382 371.92391 329.29454 371.32376   L 329.29454 371.32376   L 333.7769 363.87815   L 331.62011 363.8594   L 335.89618 371.41753   C 336.23376 372.01768 337.00271 372.22398 337.60286 371.8864   C 338.203 371.54881 338.40931 370.77987 338.07172 370.17972   z"
-       id="path3063" />
-    <text
-       xml:space="preserve"
-       x="90.010614"
-       y="280.17295"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3065">compiler </text>
-    <text
-       xml:space="preserve"
-       x="159.62796"
-       y="280.17295"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3067">/ </text>
-    <text
-       xml:space="preserve"
-       x="171.78098"
-       y="280.17295"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3069">optimizer</text>
-    <text
-       xml:space="preserve"
-       x="48.60059"
-       y="208.5999"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3071">l</text>
-    <text
-       xml:space="preserve"
-       x="52.651599"
-       y="208.5999"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3073">ocal/distributed execution,</text>
-    <text
-       xml:space="preserve"
-       x="71.706347"
-       y="226.60439"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3075">runtime </text>
-    <text
-       xml:space="preserve"
-       x="135.92234"
-       y="226.60439"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3077">web monitor</text>
-    <text
-       xml:space="preserve"
-       x="73.125502"
-       y="323.98799"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3079">local/remote execution</text>
-    <text
-       xml:space="preserve"
-       x="124.13821"
-       y="341.99247"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3081">CLI </text>
-    <text
-       xml:space="preserve"
-       x="154.44576"
-       y="341.99247"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3083">client</text>
-    <text
-       xml:space="preserve"
-       x="74.775913"
-       y="359.99696"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3085">compiler web frontend</text>
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 413.72807 12.678158   C 421.54877 12.678158 427.9066 13.72842 427.9066 15.041247   L 427.9066 68.229498   C 427.9066 69.52357 434.24568 70.592586 442.08513 70.592586   C 434.24568 70.592586 427.9066 71.642848 427.9066 72.955675   L 427.9066 126.14393   C 427.9066 127.45675 421.54877 128.50701 413.72807 128.50701 "
-       id="path3087" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 409.35823 181.56398   C 417.17893 181.56398 423.53676 182.61424 423.53676 183.92707   L 423.53676 273.18056   C 423.53676 274.49338 429.87584 275.54364 437.7153 275.54364   C 429.87584 275.54364 423.53676 276.61266 423.53676 277.90673   L 423.53676 367.17897   C 423.53676 368.47305 417.17893 369.54206 409.35823 369.54206 "
-       id="path3089" />
-    <text
-       xml:space="preserve"
-       x="464.00202"
-       y="69.388546"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3091">Needed to </text>
-    <text
-       xml:space="preserve"
-       x="486.95774"
-       y="90.393779"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3093">write </text>
-    <text
-       xml:space="preserve"
-       x="467.00277"
-       y="111.39901"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3095">programs</text>
-    <text
-       xml:space="preserve"
-       x="440.46593"
-       y="265.59638"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3097">Needed </text>
-    <text
-       xml:space="preserve"
-       x="512.93399"
-       y="265.59638"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3099">in addition for </text>
-    <text
-       xml:space="preserve"
-       x="472.87401"
-       y="286.60161"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3101">embedded </text>
-    <text
-       xml:space="preserve"
-       x="571.14849"
-       y="286.60161"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3103">and </text>
-    <text
-       xml:space="preserve"
-       x="445.41717"
-       y="307.60684"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3105">distributed execution</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 126.70657 484.20813   C 126.70657 479.61323 130.43875 475.88105 135.05239 475.88105   L 288.46561 475.88105   C 293.07926 475.88105 296.81144 479.61323 296.81144 484.20813   L 296.81144 517.57269   C 296.81144 522.16759 293.07926 525.91852 288.46561 525.91852   L 135.05239 525.91852   C 130.43875 525.91852 126.70657 522.16759 126.70657 517.57269   z"
-       id="path3107" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 126.70657 484.20813   C 126.70657 479.61323 130.43875 475.88105 135.05239 475.88105   L 288.46561 475.88105   C 293.07926 475.88105 296.81144 479.61323 296.81144 484.20813   L 296.81144 517.57269   C 296.81144 522.16759 293.07926 525.91852 288.46561 525.91852   L 135.05239 525.91852   C 130.43875 525.91852 126.70657 522.16759 126.70657 517.57269   z"
-       id="path3109" />
-    <text
-       xml:space="preserve"
-       x="161.02009"
-       y="496.75874"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3111">flink</text>
-    <text
-       xml:space="preserve"
-       x="202.4304"
-       y="496.75874"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3113">-</text>
-    <text
-       xml:space="preserve"
-       x="211.43265"
-       y="496.75874"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3115">java</text>
-    <text
-       xml:space="preserve"
-       x="253.59315"
-       y="496.75874"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3117">-</text>
-    <text
-       xml:space="preserve"
-       x="164.17087"
-       y="520.76472"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3119">examples</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 68.867157 548.64918   C 68.867157 544.12931 72.543072 540.45339 77.062948 540.45339   L 251.57517 540.45339   C 256.09505 540.45339 259.77097 544.12931 259.77097 548.64918   L 259.77097 581.43235   C 259.77097 585.95223 256.09505 589.62814 251.57517 589.62814   L 77.062948 589.62814   C 72.543072 589.62814 68.867157 585.95223 68.867157 581.43235   z"
-       id="path3121" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 68.867157 548.64918   C 68.867157 544.12931 72.543072 540.45339 77.062948 540.45339   L 251.57517 540.45339   C 256.09505 540.45339 259.77097 544.12931 259.77097 548.64918   L 259.77097 581.43235   C 259.77097 585.95223 256.09505 589.62814 251.57517 589.62814   L 77.062948 589.62814   C 72.543072 589.62814 68.867157 585.95223 68.867157 581.43235   z"
-       id="path3123" />
-    <text
-       xml:space="preserve"
-       x="109.65675"
-       y="560.90686"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3125">flink</text>
-    <text
-       xml:space="preserve"
-       x="151.06706"
-       y="560.90686"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3127">-</text>
-    <text
-       xml:space="preserve"
-       x="160.06931"
-       y="560.90686"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3129">scala</text>
-    <text
-       xml:space="preserve"
-       x="210.18179"
-       y="560.90686"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3131">-</text>
-    <text
-       xml:space="preserve"
-       x="116.85854"
-       y="584.91284"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3133">examples</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 273.3681 606.75116   C 273.3681 603.22528 276.25632 600.33706 279.7822 600.33706   L 402.92538 600.33706   C 406.48877 600.33706 409.37699 603.22528 409.37699 606.75116   L 409.37699 632.52008   C 409.37699 636.04595 406.48877 638.93417 402.92538 638.93417   L 279.7822 638.93417   C 276.25632 638.93417 273.3681 636.04595 273.3681 632.52008   z"
-       id="path3135" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 273.3681 606.75116   C 273.3681 603.22528 276.25632 600.33706 279.7822 600.33706   L 402.92538 600.33706   C 406.48877 600.33706 409.37699 603.22528 409.37699 606.75116   L 409.37699 632.52008   C 409.37699 636.04595 406.48877 638.93417 402.92538 638.93417   L 279.7822 638.93417   C 276.25632 638.93417 273.3681 636.04595 273.3681 632.52008   z"
-       id="path3137" />
-    <text
-       xml:space="preserve"
-       x="292.11598"
-       y="627.49492"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3139">flink</text>
-    <text
-       xml:space="preserve"
-       x="333.5263"
-       y="627.49492"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3141">-</text>
-    <text
-       xml:space="preserve"
-       x="342.52854"
-       y="627.49492"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3143">tests</text>
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 298.83695 81.395278   L 308.45809 60.108725   L 306.17002 59.077218   L 296.56763 80.382525   z  M 309.47085 68.098215   L 308.34557 57.333033   L 299.51212 63.615848   C 298.94948 64.009696 298.81819 64.797393 299.2308 65.360033   C 299.62464 65.922673 300.41234 66.053956 300.97498 65.641353   L 308.04549 60.615101   L 306.07625 59.733631   L 306.97648 68.36078   C 307.05149 69.054703 307.6704 69.542325 308.34557 69.467306   C 309.03949 69.411042 309.52711 68.792138 309.47085 68.098215   z"
-       id="path3145" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 214.32839 88.962788   L 264.78784 60.765138   L 263.56879 58.589596   L 213.10934 86.777869   z  M 260.83998 67.788763   L 266.34448 58.467691   L 255.52303 58.261389   C 254.82911 58.252012 254.25709 58.805275 254.24771 59.48982   C 254.23834 60.183743 254.78222 60.755761 255.47615 60.765138   L 264.15956 60.924553   L 263.09992 59.039708   L 258.69257 66.522823   C 258.33623 67.113595 258.53316 67.882536 259.13331 68.229498   C 259.72408 68.585836 260.49302 68.388912 260.83998 67.788763   z"
-       id="path3147" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 358.60809 184.69601   L 363.55932 174.3997   L 365.97867 169.27967   L 368.34176 164.19716   L 370.64859 159.1709   L 372.86164 154.20092   L 374.96216 149.30595   L 376.95016 144.50475   L 378.78812 139.77857   L 380.47604 135.16492   L 381.97641 130.6638   L 383.30799 126.31272   L 383.87063 124.21219   L 384.39576 122.11167   L 384.88338 120.06741   L 385.27723 118.06066   L 385.63357 116.09142   L 385.93365 114.17844   L 386.13995 112.30298   L 386.30874 110.48377   L 386.38376 108.70208   L 386.40251 106.97665   L 386.365 105.28873   L 386.27123 103.65707   L 386.10244 102.04417   L 385.87738 100.48753   L 385.61482 98.949651   L 385.29599 97.449277   L 384.48954 94.561058   L 383.49554 91.804121   L 382.33275 89.140957   L 381.01992 86.590322   L 379.55706 84.114705   L 377.98166 81.714107   L 376.29374 79.351018   L 374.53081 77.062948   L 372.67409 74.812388   L 370.76112 72.580582   L 368.4918 70.011192   L 370.36727 68.342026   L 372.67409 70.948925   L 374.6
 0582 73.21824   L 376.50005 75.54382   L 378.338 77.906909   L 380.08219 80.326261   L 381.7326 82.839387   L 383.23297 85.446287   L 384.62082 88.14696   L 385.83987 90.96016   L 386.89013 93.885889   L 387.73409 96.942901   L 388.07168 98.518293   L 388.353 100.1312   L 388.59681 101.80036   L 388.7656 103.48828   L 388.87813 105.23247   L 388.91564 107.01416   L 388.89688 108.83336   L 388.78436 110.69008   L 388.63432 112.60305   L 388.39051 114.55354   L 388.09043 116.54153   L 387.73409 118.56704   L 387.30274 120.63005   L 386.83387 122.73058   L 386.28998 124.84985   L 385.68984 127.04415   L 384.35825 131.47025   L 382.82037 136.02764   L 381.11369 140.6788   L 379.25698 145.44248   L 377.26899 150.29994   L 375.14971 155.23242   L 372.9179 160.22117   L 370.61108 165.26617   L 368.22924 170.34869   L 365.80988 175.46871   L 360.8774 185.76503   z  M 369.8984 77.944418   L 367.77912 67.310519   L 378.07544 70.705114   C 378.7131 70.93017 379.06944 71.624093 378.86313 72.280
 507   C 378.63808 72.93692 377.94416 73.293259 377.28774 73.086958   L 369.03569 70.36753   L 370.64859 68.923421   L 372.33651 77.456796   C 372.48655 78.131965 372.03643 78.788378 371.36127 78.919661   C 370.6861 79.050944 370.02968 78.619586 369.8984 77.944418   z"
-       id="path3149" />
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 259.48965 415.00339   C 259.48965 411.89011 262.02153 409.35823 265.1348 409.35823   L 399.36199 409.35823   C 402.47527 409.35823 404.98839 411.89011 404.98839 415.00339   L 404.98839 437.50899   C 404.98839 440.62227 402.47527 443.1354 399.36199 443.1354   L 265.1348 443.1354   C 262.02153 443.1354 259.48965 440.62227 259.48965 437.50899   z"
-       id="path3151" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 259.48965 415.00339   C 259.48965 411.89011 262.02153 409.35823 265.1348 409.35823   L 399.36199 409.35823   C 402.47527 409.35823 404.98839 411.89011 404.98839 415.00339   L 404.98839 437.50899   C 404.98839 440.62227 402.47527 443.1354 399.36199 443.1354   L 265.1348 443.1354   C 262.02153 443.1354 259.48965 440.62227 259.48965 437.50899   z"
-       id="path3153" />
-    <text
-       xml:space="preserve"
-       x="263.06067"
-       y="434.12154"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3155">flink</text>
-    <text
-       xml:space="preserve"
-       x="304.47099"
-       y="434.12154"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3157">-</text>
-    <text
-       xml:space="preserve"
-       x="313.47323"
-       y="434.12154"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3159">test</text>
-    <text
-       xml:space="preserve"
-       x="350.83254"
-       y="434.12154"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3161">-</text>
-    <text
-       xml:space="preserve"
-       x="359.83478"
-       y="434.12154"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3163">utils</text>
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 333.9832 252.40038   L 333.9832 237.32162   L 331.48883 237.32162   L 331.48883 252.40038   z  M 338.18425 244.18583   L 332.7454 234.84601   L 327.28779 244.18583   C 326.93145 244.78598 327.13775 245.55492 327.7379 245.91126   C 328.31929 246.24885 329.08823 246.04255 329.44457 245.46115   L 333.81441 237.95928   L 331.65762 237.95928   L 336.02746 245.46115   L 336.02746 245.46115   C 336.3838 246.04255 337.15274 246.24885 337.73414 245.91126   C 338.33429 245.55492 338.54059 244.78598 338.18425 244.18583   z"
-       id="path3165" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 333.9832 314.38457   L 333.9832 299.28706   L 331.48883 299.28706   L 331.48883 314.38457   z  M 338.18425 306.17002   L 332.7454 296.81144   L 327.28779 306.17002   C 326.93145 306.77017 327.13775 307.52036 327.7379 307.8767   C 328.31929 308.23304 329.08823 308.02674 329.44457 307.42659   L 333.81441 299.92472   L 331.65762 299.92472   L 336.02746 307.42659   L 336.02746 307.42659   C 336.3838 308.02674 337.15274 308.23304 337.73414 307.8767   C 338.33429 307.52036 338.54059 306.77017 338.18425 306.17002   z"
-       id="path3167" />
-    <text
-       xml:space="preserve"
-       x="165.18987"
-       y="432.03911"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3169">Test </text>
-    <text
-       xml:space="preserve"
-       x="129.63101"
-       y="450.0436"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3171">environments</text>
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 334.03947 589.66565   L 331.05747 457.10763   L 333.55185 457.05136   L 336.53384 589.60939   z  M 327.00647 464.08437   L 332.23902 454.61326   L 337.90293 463.84055   C 338.27802 464.42195 338.09048 465.19089 337.49033 465.54723   C 336.90893 465.92232 336.13999 465.73478 335.78365 465.13463   L 335.78365 465.13463   L 331.22627 457.74529   L 333.40181 457.68902   L 329.18201 465.28466   C 328.84442 465.88481 328.09424 466.10987 327.49409 465.77229   C 326.87518 465.4347 326.66888 464.68451 327.00647 464.08437   z"
-       id="path3173" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.037509345px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 266.72895 617.7789   L 259.33961 617.55385   L 252.1003 617.29128   L 248.49941 617.10374   L 244.97353 616.91619   L 241.56018 616.69113   L 238.18434 616.42857   L 234.92102 616.09098   L 231.77024 615.7534   L 228.73198 615.30329   L 225.80625 614.81567   L 223.03056 614.25303   L 220.44242 613.61537   L 217.9668 612.90269   L 215.71624 612.07748   L 213.61572 611.17726   L 211.70274 610.127   L 209.97731 609.03923   L 208.40192 607.87644   L 206.97656 606.60112   L 205.66374 605.28829   L 204.53846 603.90045   L 203.48819 602.43758   L 202.58797 600.97472   L 201.76276 599.47434   L 201.01258 597.93646   L 200.33741 596.36107   L 199.13711 593.21028   L 198.87454 592.38508   L 201.23763 591.59738   L 201.5002 592.34757   L 202.62548 595.38583   L 203.26314 596.84869   L 203.97582 598.27405   L 204.68849 599.66189   L 205.55121 601.01223   L 206.45143 602.28754   L 207.46418 603.56286   L 208.62697 604.72565   L 209.90229 605.85093   L 211.29014 606.9387   L 212.865
 53 607.95146   L 214.62847 608.85168   L 216.54145 609.7144   L 218.67948 610.50209   L 221.00506 611.17726   L 223.55569 611.81492   L 226.21886 612.34005   L 229.06957 612.82767   L 232.03281 613.24027   L 235.14608 613.61537   L 238.37188 613.91544   L 241.71022 614.17801   L 245.12357 614.40306   L 248.61194 614.62812   L 252.17532 614.77816   L 259.41463 615.04072   L 266.80397 615.26578   z  M 197.11161 600.26204   L 199.24964 589.6469   L 207.42668 596.73616   C 207.95181 597.18627 208.02682 597.97397 207.5392 598.4991   C 207.08909 599.02423 206.30139 599.06174 205.77626 598.61163   L 199.21213 592.94772   L 201.27514 592.23504   L 199.54971 600.74966   C 199.43718 601.42483 198.76202 601.87494 198.08685 601.7249   C 197.41168 601.57487 196.96157 600.93721 197.11161 600.26204   z"
-       id="path3175" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 310.91496 593.04149   L 306.28255 588.76543   L 301.70641 584.52687   L 297.28031 580.32582   L 295.12352 578.24406   L 293.04175 576.21855   L 291.01625 574.17429   L 289.08452 572.1863   L 287.22781 570.21706   L 285.46487 568.28532   L 283.7957 566.40986   L 282.23906 564.55314   L 280.81371 562.7527   L 279.50088 560.98976   L 278.33809 559.28308   L 277.28783 557.61392   L 276.36885 556.00101   L 275.58115 554.42562   L 274.86848 552.88774   L 274.26833 551.36861   L 273.76195 549.90575   L 273.34935 548.48039   L 272.97425 547.07379   L 272.69293 545.68594   L 272.26158 543.02278   L 271.98026 540.39713   L 271.9615 540.30335   L 274.45587 540.11581   L 274.45587 540.13456   L 274.73719 542.62893   L 275.13104 545.17957   L 275.41236 546.45489   L 275.73119 547.76771   L 276.12504 549.09929   L 276.61266 550.46839   L 277.15655 551.85623   L 277.79421 553.28159   L 278.54439 554.76321   L 279.42586 556.30109   L 280.4011 557.87648   L 281.52639 559.50814   L 282.
 76419 561.19606   L 284.17079 562.959   L 285.67117 564.75945   L 287.30282 566.61616   L 289.02825 568.51038   L 290.86621 570.44211   L 292.79794 572.41135   L 294.78594 574.4181   L 296.86771 576.46236   L 298.98699 578.52538   L 303.41309 582.70767   L 307.97047 586.92747   L 312.62163 591.20353   z  M 268.34185 547.50515   L 273.01176 537.73396   L 279.21956 546.60492   C 279.61341 547.18632 279.46337 547.95526 278.90073 548.34911   C 278.33809 548.74296 277.55039 548.61167 277.15655 548.04903   L 272.18656 540.92226   L 274.34335 540.75347   L 270.59241 548.57416   C 270.29234 549.21182 269.54215 549.47439 268.92325 549.17431   C 268.30434 548.87424 268.04178 548.12405 268.34185 547.50515   z"
-       id="path3177" />
-    <text
-       xml:space="preserve"
-       x="441.23605"
-       y="616.32234"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3179">integration tests</text>
-    <text
-       xml:space="preserve"
-       x="435.68466"
-       y="634.32683"
-       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text3181">(entire programs)</text>
-  </g>
-</svg>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/fig/slots.svg
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/fig/slots.svg b/content/docs/0.9/internals/fig/slots.svg
deleted file mode 100644
index 7d5dc2a..0000000
--- a/content/docs/0.9/internals/fig/slots.svg
+++ /dev/null
@@ -1,505 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="770.84375"
-   height="448.26599"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.5 r10040">
-  <defs
-     id="defs4" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.5"
-     inkscape:cx="200.03973"
-     inkscape:cy="568.73823"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:window-width="1600"
-     inkscape:window-height="838"
-     inkscape:window-x="1912"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(59.7139,-268.22389)">
-    <g
-       id="g2989"
-       transform="translate(-107.30765,87.786395)">
-      <path
-         id="path2991"
-         d="m 48.855921,209.35841 c 0,-15.26631 12.378084,-27.66315 27.663142,-27.66315 l 147.224177,0 c 15.2663,0 27.66314,12.39684 27.66314,27.66315 l 0,129.08841 c 0,15.28505 -12.39684,27.66314 -27.66314,27.66314 l -147.224177,0 c -15.285058,0 -27.663142,-12.37809 -27.663142,-27.66314 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text2993"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.08313"
-         x="57.055454"
-         xml:space="preserve">TaskManager</text>
-      <text
-         id="text2995"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.08313"
-         x="170.78378"
-         xml:space="preserve">1</text>
-      <path
-         id="path2997"
-         d="m 70.573832,246.90526 c 0,-7.25806 5.907721,-13.16578 13.16578,-13.16578 l 10.390088,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.390088,0 c -7.258059,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2999"
-         d="m 70.573832,246.90526 c 0,-7.25806 5.907721,-13.16578 13.16578,-13.16578 l 10.390088,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.390088,0 c -7.258059,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3001"
-         d="m 128.09441,246.90526 c 0,-7.25806 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3003"
-         d="m 128.09441,246.90526 c 0,-7.25806 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3005"
-         d="m 185.59624,246.90526 c 0,-7.25806 5.90772,-13.16578 13.18453,-13.16578 l 10.39009,0 c 7.25806,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.90772,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.18453,-5.88896 -13.18453,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3007"
-         d="m 185.59624,246.90526 c 0,-7.25806 5.90772,-13.16578 13.18453,-13.16578 l 10.39009,0 c 7.25806,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.90772,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.18453,-5.88896 -13.18453,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3009"
-         d="m 266.09129,209.35841 c 0,-15.26631 12.39684,-27.66315 27.66314,-27.66315 l 147.07414,0 c 15.2663,0 27.66314,12.39684 27.66314,27.66315 l 0,129.08841 c 0,15.28505 -12.39684,27.66314 -27.66314,27.66314 l -147.07414,0 c -15.2663,0 -27.66314,-12.37809 -27.66314,-27.66314 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3011"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.08313"
-         x="274.21527"
-         xml:space="preserve">TaskManager</text>
-      <text
-         id="text3013"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.08313"
-         x="387.94357"
-         xml:space="preserve">2</text>
-      <path
-         id="path3015"
-         d="m 287.65916,246.96152 c 0,-7.29556 5.92648,-13.22204 13.22205,-13.22204 l 10.44635,0 c 7.29557,0 13.22204,5.92648 13.22204,13.22204 l 0,84.35852 c 0,7.31432 -5.92647,13.22204 -13.22204,13.22204 l -10.44635,0 c -7.29557,0 -13.22205,-5.90772 -13.22205,-13.22204 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3017"
-         d="m 287.65916,246.96152 c 0,-7.29556 5.92648,-13.22204 13.22205,-13.22204 l 10.44635,0 c 7.29557,0 13.22204,5.92648 13.22204,13.22204 l 0,84.35852 c 0,7.31432 -5.92647,13.22204 -13.22204,13.22204 l -10.44635,0 c -7.29557,0 -13.22205,-5.90772 -13.22205,-13.22204 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3019"
-         d="m 345.17974,246.90526 c 0,-7.25806 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3021"
-         d="m 345.17974,246.90526 c 0,-7.25806 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3023"
-         d="m 402.68157,246.90526 c 0,-7.25806 5.90772,-13.16578 13.18453,-13.16578 l 10.39009,0 c 7.25806,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.90772,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.18453,-5.88896 -13.18453,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3025"
-         d="m 402.68157,246.90526 c 0,-7.25806 5.90772,-13.16578 13.18453,-13.16578 l 10.39009,0 c 7.25806,0 13.16578,5.90772 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.90772,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.18453,-5.88896 -13.18453,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3027"
-         d="m 178.65701,597.48635 c 7.20179,7.12677 7.20179,18.71716 0,25.84394 -7.2018,7.16428 -18.90471,7.16428 -26.10651,0 -7.20179,-7.12678 -7.20179,-18.71717 0,-25.84394 7.2018,-7.16429 18.90471,-7.16429 26.10651,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3029"
-         d="m 236.15883,597.48635 c 7.2018,7.12677 7.2018,18.71716 0,25.84394 -7.20179,7.16428 -18.8672,7.16428 -26.06899,0 -7.2018,-7.12678 -7.2018,-18.71717 0,-25.84394 7.20179,-7.16429 18.8672,-7.16429 26.06899,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3031"
-         d="m 293.54813,597.48635 c 7.16429,7.12677 7.16429,18.71716 0,25.84394 -7.16428,7.16428 -18.79218,7.16428 -25.95647,0 -7.20179,-7.12678 -7.20179,-18.71717 0,-25.84394 7.16429,-7.16429 18.79219,-7.16429 25.95647,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3033"
-         d="m 351.04996,597.48635 c 7.16428,7.12677 7.16428,18.71716 0,25.84394 -7.16429,7.16428 -18.79219,7.16428 -25.95647,0 -7.16429,-7.12678 -7.16429,-18.71717 0,-25.84394 7.16428,-7.16429 18.79218,-7.16429 25.95647,0"
-         style="fill:#ec5d57;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3035"
-         d="m 181.47021,516.03481 c 7.18304,7.14553 7.18304,18.71716 0,25.86269 -7.16429,7.14553 -18.79218,7.14553 -25.95647,0 -7.18304,-7.14553 -7.18304,-18.71716 0,-25.86269 7.16429,-7.12678 18.79218,-7.12678 25.95647,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3037"
-         d="m 237.09657,516.03481 c 7.20179,7.14553 7.20179,18.71716 0,25.86269 -7.2018,7.14553 -18.88596,7.14553 -26.08775,0 -7.2018,-7.14553 -7.2018,-18.71716 0,-25.86269 7.20179,-7.12678 18.88595,-7.12678 26.08775,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3039"
-         d="m 292.59164,516.03481 c 7.18304,7.14553 7.18304,18.71716 0,25.86269 -7.16428,7.14553 -18.79218,7.14553 -25.95646,0 -7.18304,-7.14553 -7.18304,-18.71716 0,-25.86269 7.16428,-7.12678 18.79218,-7.12678 25.95646,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3041"
-         d="m 348.23675,516.03481 c 7.16429,7.14553 7.16429,18.71716 0,25.86269 -7.16428,7.14553 -18.79218,7.14553 -25.97522,0 -7.16428,-7.14553 -7.16428,-18.71716 0,-25.86269 7.18304,-7.12678 18.81094,-7.12678 25.97522,0"
-         style="fill:#ec5d57;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3043"
-         d="m 207.38917,434.48949 c 7.20179,7.16429 7.20179,18.79218 0,25.95647 -7.2018,7.18304 -18.8672,7.18304 -26.069,0 -7.20179,-7.16429 -7.20179,-18.79218 0,-25.95647 7.2018,-7.18304 18.8672,-7.18304 26.069,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3045"
-         d="m 264.77846,434.48949 c 7.16429,7.16429 7.16429,18.79218 0,25.95647 -7.16428,7.18304 -18.79218,7.18304 -25.97522,0 -7.16428,-7.16429 -7.16428,-18.79218 0,-25.95647 7.18304,-7.18304 18.81094,-7.18304 25.97522,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3047"
-         d="m 322.29904,434.48949 c 7.16429,7.16429 7.16429,18.79218 0,25.95647 -7.18304,7.18304 -18.81093,7.18304 -25.97522,0 -7.16428,-7.16429 -7.16428,-18.79218 0,-25.95647 7.16429,-7.18304 18.79218,-7.18304 25.97522,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3049"
-         d="m 166.84156,610.50209 2.70068,-76.48155 -2.51313,-0.075 -2.66316,76.48155 2.47561,0.075 z m 1.46287,-76.51906 3.63841,2.62565 -3.48837,-7.61439 -4.0135,7.35183 3.86346,-2.36309 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3051"
-         d="m 224.3809,610.50209 0.90022,-76.51906 -2.51312,0 -0.90023,76.48155 2.51313,0.0375 z m -0.37509,-76.51906 3.75093,2.55063 -3.67592,-7.53937 -3.82595,7.42685 3.75094,-2.43811 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3053"
-         d="m 279.40711,610.50209 -0.90023,-76.51906 2.51313,0 0.90022,76.48155 -2.51312,0.0375 z m 0.33758,-76.51906 -3.71342,2.55063 3.67591,-7.53937 3.82596,7.42685 -3.78845,-2.43811 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3055"
-         d="m 336.7964,610.50209 -2.70067,-76.48155 2.51313,-0.075 2.66316,76.48155 -2.47562,0.075 z m -1.42535,-76.51906 -3.67592,2.62565 3.48837,-7.61439 4.0135,7.35183 -3.82595,-2.36309 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3057"
-         d="m 334.09573,529.25685 -24.38107,-76.72536 2.38184,-0.75019 24.38108,76.72536 -2.38185,0.75019 z m -23.19953,-77.10046 -2.8132,3.52588 1.29407,-8.28956 5.85146,6.00149 -4.33233,-1.23781 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3059"
-         d="m 334.39581,529.78198 -79.81989,-78.00068 1.74419,-1.80045 79.81988,78.00068 -1.74418,1.80045 z m -78.93842,-78.9009 -0.84396,4.4261 -2.73818,-7.91447 7.98949,2.55063 -4.40735,0.93774 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3061"
-         d="m 334.62086,529.96953 -136.55277,-78.99468 1.23781,-2.15679 136.57153,78.97593 -1.25657,2.17554 z M 198.687,449.88708 l 0.28132,4.50112 -4.61365,-6.99549 8.38334,0.50637 -4.05101,1.988 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3063"
-         d="m 278.7882,529.78198 -81.67659,-78.03819 1.72543,-1.80045 81.67659,78.03819 -1.72543,1.80045 z m -80.81388,-78.93841 -0.7877,4.44485 -2.83195,-7.89571 8.027,2.47561 -4.40735,0.97525 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3065"
-         d="m 278.48813,529.29436 -26.18152,-76.76287 2.36308,-0.80645 26.18153,76.76287 -2.36309,0.80645 z m -24.99998,-77.17548 -2.73818,3.58215 1.12528,-8.30832 5.96398,5.88896 -4.35108,-1.16279 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3067"
-         d="m 280.86997,529.31312 27.98197,-76.80039 -2.34433,-0.84396 -28.00073,76.78163 2.36309,0.86272 z m 26.81918,-77.23175 2.66317,3.63841 -0.95649,-8.32707 -6.09527,5.75768 4.38859,-1.06902 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3069"
-         d="m 222.88053,529.31312 -27.98198,-76.80039 2.34434,-0.84396 28.00072,76.78163 -2.36308,0.86272 z m -26.81919,-77.23175 -2.66316,3.63841 0.95649,-8.32707 6.09527,5.75768 -4.3886,-1.06902 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3071"
-         d="m 225.24361,529.29436 26.18153,-76.76287 -2.38185,-0.80645 -26.18152,76.76287 2.38184,0.80645 z m 24.99998,-77.17548 2.73818,3.58215 -1.12528,-8.30832 -5.98274,5.88896 4.36984,-1.16279 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3073"
-         d="m 224.92478,529.78198 81.6766,-78.03819 -1.72543,-1.80045 -81.69535,78.03819 1.74418,1.80045 z m 80.81389,-78.93841 0.78769,4.44485 2.83196,-7.89571 -8.027,2.47561 4.40735,0.97525 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3075"
-         d="m 169.03586,529.96953 136.57152,-78.99468 -1.25656,-2.15679 -136.57152,78.97593 1.25656,2.17554 z m 135.95262,-80.08245 -0.30007,4.50112 4.61364,-6.99549 -8.36458,0.50637 4.05101,1.988 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3077"
-         d="m 169.27967,529.78198 79.81989,-78.00068 -1.74419,-1.80045 -79.81988,78.00068 1.74418,1.80045 z m 78.95717,-78.9009 0.82521,4.4261 2.73818,-7.91447 -7.97074,2.55063 4.40735,0.93774 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3079"
-         d="m 169.5985,529.25685 24.38108,-76.72536 -2.38185,-0.75019 -24.38107,76.72536 2.38184,0.75019 z m 23.19953,-77.10046 2.8132,3.52588 -1.31283,-8.28956 -5.8327,6.00149 4.33233,-1.23781 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3081"
-         d="m 252.92551,408.6268 0,-12.20929 -11.53412,0 16.97298,-31.71415 16.95422,31.71415 -11.53412,0 0,12.20929 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3083"
-         d="m 478.80678,363.50306 19.14852,0 0,-20.66765 50.07498,30.40132 -50.07498,30.38257 0,-20.66765 -19.14852,0 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3085"
-         d="m 611.02722,243.43565 c 0,-15.26631 12.37809,-27.64439 27.6819,-27.64439 l 147.03663,0 c 15.30381,0 27.6819,12.37808 27.6819,27.64439 l 0,129.10716 c 0,15.2663 -12.37809,27.64439 -27.6819,27.64439 l -147.03663,0 c -15.30381,0 -27.6819,-12.37809 -27.6819,-27.64439 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3087"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="240.15894"
-         x="619.12134"
-         xml:space="preserve">TaskManager</text>
-      <text
-         id="text3089"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="240.15894"
-         x="732.84967"
-         xml:space="preserve">1</text>
-      <path
-         id="path3091"
-         d="m 632.5951,280.9825 c 0,-7.27681 5.88896,-13.16578 13.16578,-13.16578 l 10.39008,0 c 7.27682,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88896,13.16578 -13.16578,13.16578 l -10.39008,0 c -7.27682,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3093"
-         d="m 632.5951,280.9825 c 0,-7.27681 5.88896,-13.16578 13.16578,-13.16578 l 10.39008,0 c 7.27682,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88896,13.16578 -13.16578,13.16578 l -10.39008,0 c -7.27682,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3095"
-         d="m 690.09692,280.9825 c 0,-7.27681 5.92648,-13.16578 13.20329,-13.16578 l 10.39009,0 c 7.2393,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.92648,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.20329,-5.88896 -13.20329,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3097"
-         d="m 690.09692,280.9825 c 0,-7.27681 5.92648,-13.16578 13.20329,-13.16578 l 10.39009,0 c 7.2393,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.92648,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.20329,-5.88896 -13.20329,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3099"
-         d="m 747.63625,280.9825 c 0,-7.27681 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27682,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88896,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3101"
-         d="m 747.63625,280.9825 c 0,-7.27681 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27682,0 13.16578,5.88897 13.16578,13.16578 l 0,84.47104 c 0,7.27682 -5.88896,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3103"
-         d="m 614.62812,464.4407 c 0,-15.30381 12.37808,-27.68189 27.64439,-27.68189 l 147.22417,0 c 15.30382,0 27.6819,12.37808 27.6819,27.68189 l 0,129.06966 c 0,15.30381 -12.37808,27.68189 -27.6819,27.68189 l -147.22417,0 c -15.26631,0 -27.64439,-12.37808 -27.64439,-27.68189 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3105"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="461.10257"
-         x="622.8421"
-         xml:space="preserve">TaskManager</text>
-      <text
-         id="text3107"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="461.10257"
-         x="736.57043"
-         xml:space="preserve">2</text>
-      <path
-         id="path3109"
-         d="m 636.34603,501.98756 c 0,-7.27682 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3111"
-         d="m 636.34603,501.98756 c 0,-7.27682 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3113"
-         d="m 693.84785,501.98756 c 0,-7.27682 5.92648,-13.16578 13.20329,-13.16578 l 10.39009,0 c 7.23931,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.92647,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.20329,-5.88896 -13.20329,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3115"
-         d="m 693.84785,501.98756 c 0,-7.27682 5.92648,-13.16578 13.20329,-13.16578 l 10.39009,0 c 7.23931,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.92647,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.20329,-5.88896 -13.20329,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3117"
-         d="m 751.38719,501.98756 c 0,-7.27682 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3119"
-         d="m 751.38719,501.98756 c 0,-7.27682 5.88897,-13.16578 13.16578,-13.16578 l 10.39009,0 c 7.27681,0 13.16578,5.88896 13.16578,13.16578 l 0,84.321 c 0,7.27682 -5.88897,13.16578 -13.16578,13.16578 l -10.39009,0 c -7.27681,0 -13.16578,-5.88896 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#00882b;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3121"
-         d="m 657.20123,356.52632 c 3.45085,3.45086 3.45085,9.03975 0,12.49061 -3.48837,3.45086 -9.15228,3.45086 -12.60314,0 -3.48837,-3.45086 -3.48837,-9.03975 0,-12.49061 3.45086,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3123"
-         d="m 657.46379,316.99147 c 3.52588,3.45086 3.52588,9.03975 0,12.49061 -3.48837,3.45086 -9.18979,3.45086 -12.71567,0 -3.48837,-3.45086 -3.48837,-9.03975 0,-12.49061 3.52588,-3.45086 9.2273,-3.45086 12.71567,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3125"
-         d="m 657.46379,277.45662 c 3.52588,3.45086 3.52588,9.03975 0,12.4531 -3.48837,3.45086 -9.18979,3.45086 -12.71567,0 -3.48837,-3.41335 -3.48837,-9.00224 0,-12.4531 3.52588,-3.45086 9.2273,-3.45086 12.71567,0"
-         style="fill:#51a7f9;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3127"
-         d="m 652.13746,362.67785 0.18755,-34.50859 -2.47562,-0.0375 -0.22505,34.5461 2.51312,0 z m -1.05026,-34.5461 3.75094,2.55063 -3.71343,-7.53938 -3.78844,7.50187 3.75093,-2.51312 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3129"
-         d="m 649.77438,323.29304 0,-34.54611 2.51312,0 0,34.54611 -2.51312,0 z m 1.27531,-34.54611 -3.75093,2.51313 3.75093,-7.50187 3.75094,7.50187 -3.75094,-2.51313 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3131"
-         d="m 714.70305,356.52632 c 3.48837,3.45086 3.48837,9.03975 0,12.49061 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.48837,-3.45086 -3.48837,-9.03975 0,-12.49061 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3133"
-         d="m 714.85309,316.99147 c 3.48837,3.45086 3.48837,9.03975 0,12.49061 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.48837,-3.45086 -3.48837,-9.03975 0,-12.49061 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3135"
-         d="m 714.85309,277.45662 c 3.48837,3.45086 3.48837,9.03975 0,12.4531 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.48837,-3.41335 -3.48837,-9.00224 0,-12.4531 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f5d328;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3137"
-         d="m 709.63929,362.67785 0.22506,-34.50859 -2.51313,-0.0375 -0.18755,34.5461 2.47562,0 z m -1.05026,-34.5461 3.75093,2.55063 -3.71342,-7.53938 -3.78845,7.50187 3.75094,-2.51312 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3139"
-         d="m 709.78933,323.29304 0,-34.54611 -2.47562,0 0,34.54611 2.47562,0 z m -1.23781,-34.54611 3.75093,2.51313 -3.75093,-7.50187 -3.75094,7.50187 3.75094,-2.51313 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3141"
-         d="m 660.95216,577.38134 c 3.45086,3.48837 3.45086,9.11477 0,12.60314 -3.48837,3.48837 -9.15228,3.48837 -12.60314,0 -3.48837,-3.48837 -3.48837,-9.11477 0,-12.60314 3.45086,-3.48837 9.11477,-3.48837 12.60314,0"
-         style="fill:#ec5d57;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3143"
-         d="m 661.1022,537.84649 c 3.45086,3.48837 3.45086,9.11477 0,12.60314 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.48837,-3.48837 -3.48837,-9.11477 0,-12.60314 3.48837,-3.48837 9.11477,-3.48837 12.60314,0"
-         style="fill:#ec5d57;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3145"
-         d="m 655.8884,583.68291 0.18754,-34.54611 -2.47561,0 -0.22506,34.5086 2.51313,0.0375 z m -1.05026,-34.54611 3.75093,2.51313 -3.71342,-7.50187 -3.78845,7.46436 3.75094,-2.47562 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3147"
-         d="m 717.66629,577.34383 c 3.48837,3.45086 3.48837,9.03975 0,12.49061 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.48837,-3.45086 -3.48837,-9.03975 0,-12.49061 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3149"
-         d="m 717.81633,537.80898 c 3.48837,3.45086 3.48837,9.03975 0,12.49061 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.45086,-3.45086 -3.45086,-9.03975 0,-12.49061 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3151"
-         d="m 717.81633,498.27413 c 3.48837,3.45086 3.48837,9.03975 0,12.49061 -3.48837,3.45086 -9.11477,3.45086 -12.60314,0 -3.45086,-3.45086 -3.45086,-9.03975 0,-12.49061 3.48837,-3.45086 9.11477,-3.45086 12.60314,0"
-         style="fill:#f39019;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3153"
-         d="m 712.60253,583.68291 0.22505,-34.54611 -2.51312,0 -0.18755,34.5086 2.47562,0.0375 z m -1.05026,-34.54611 3.75093,2.51313 -3.71343,-7.50187 -3.78844,7.46436 3.75094,-2.47562 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3155"
-         d="m 712.79007,544.11055 0,-34.5086 -2.51312,0 0,34.5086 2.51312,0 z m -1.27531,-34.5086 3.75093,2.51313 -3.75093,-7.50187 -3.75094,7.50187 3.75094,-2.51313 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-</svg>


[25/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/scala_shell.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/scala_shell.html b/content/docs/0.9/scala_shell.html
deleted file mode 100644
index 9e6bd41..0000000
--- a/content/docs/0.9/scala_shell.html
+++ /dev/null
@@ -1,244 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Interactive Scala Shell</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Interactive Scala Shell</h1>
-
-
-
-<p>Flink comes with an integrated interactive Scala Shell.
-It can be used in a local setup as well as in a cluster setup. To get started with downloading
-Flink and setting up a cluster please refer to
-<a href="http://flink.apache.org/docs/0.9/setup/local_setup.html">local setup</a> or
-<a href="http://flink.apache.org/docs/0.9/setup/cluster.html">cluster setup</a></p>
-
-<p>To use the shell with an integrated Flink cluster just execute:</p>
-
-<div class="highlight"><pre><code class="language-bash">bin/start-scala-shell.sh</code></pre></div>
-
-<p>in the root directory of your binary Flink directory.</p>
-
-<p>To use it with a running cluster you can supply the host and port of the JobManager with:</p>
-
-<div class="highlight"><pre><code class="language-bash">bin/start-scala-shell.sh --host &lt;hostname&gt; --port &lt;portnumber&gt;</code></pre></div>
-
-<h2 id="usage">Usage</h2>
-
-<p>The shell will prebind the ExecutionEnvironment as “env”, so far only batch mode is supported.</p>
-
-<p>The following example will execute the wordcount program in the Scala shell:</p>
-
-<div class="highlight"><pre><code class="language-scala"><span class="nc">Scala</span><span class="o">-</span><span class="nc">Flink</span><span class="o">&gt;</span> <span class="k">val</span> <span class="n">text</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">fromElements</span><span class="o">(</span>
-  <span class="s">&quot;To be, or not to be,--that is the question:--&quot;</span><span class="o">,</span>
-  <span class="s">&quot;Whether &#39;tis nobler in the mind to suffer&quot;</span><span class="o">,</span>
-  <span class="s">&quot;The slings and arrows of outrageous fortune&quot;</span><span class="o">,</span>
-  <span class="s">&quot;Or to take arms against a sea of troubles,&quot;</span><span class="o">)</span>
-<span class="nc">Scala</span><span class="o">-</span><span class="nc">Flink</span><span class="o">&gt;</span> <span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">text</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">toLowerCase</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">)</span> <span class="o">}.</span><span class="n">map</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-<span class="nc">Scala</span><span class="o">-</span><span class="nc">Flink</span><span class="o">&gt;</span> <span class="n">counts</span><span class="o">.</span><span class="n">print</span><span class="o">()</span></code></pre></div>
-
-<p>The print() command will automatically send the specified tasks to the JobManager for execution and will show the result of the computation in the terminal.</p>
-
-<p>It is possbile to write results to a file. However, in this case you need to call <code>execute</code>, to run your program:</p>
-
-<div class="highlight"><pre><code class="language-scala"><span class="nc">Scala</span><span class="o">-</span><span class="nc">Flink</span><span class="o">&gt;</span> <span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="o">(</span><span class="s">&quot;MyProgram&quot;</span><span class="o">)</span></code></pre></div>
-
-<p>The Flink Shell comes with command history and autocompletion.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/search-results.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/search-results.html b/content/docs/0.9/search-results.html
deleted file mode 100644
index c153609..0000000
--- a/content/docs/0.9/search-results.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Search Results</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Search Results</h1>
-
-
-<script>
-  (function() {
-    var cx = '000888944958067045520:z90hn2izm0k';
-    var gcse = document.createElement('script');
-    gcse.type = 'text/javascript';
-    gcse.async = true;
-    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
-        '//www.google.com/cse/cse.js?cx=' + cx;
-    var s = document.getElementsByTagName('script')[0];
-    s.parentNode.insertBefore(gcse, s);
-  })();
-</script>
-
-<gcse:searchresults-only></gcse:searchresults-only>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/building.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/building.html b/content/docs/0.9/setup/building.html
deleted file mode 100644
index 63af4c6..0000000
--- a/content/docs/0.9/setup/building.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Build Flink</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Build Flink</h1>
-
-
-
-<p>In order to build Flink, you need the source code. Either download the source of a release or clone the git repository. In addition to that, you need Maven 3 and a JDK (Java Development Kit). Note that you can not build Flink with Oracle JDK 6 due to a unresolved bug in the Oracle Java compiler. It works well with OpenJDK 6 and all Java 7 and 8 compilers.</p>
-
-<p>To clone from git, enter:</p>
-
-<div class="highlight"><pre><code class="language-bash">git clone https://github.com/apache/flink</code></pre></div>
-
-<p>The simplest way of building Flink is by running:</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nb">cd </span>flink
-mvn clean install -DskipTests</code></pre></div>
-
-<p>This instructs Maven (<code>mvn</code>) to first remove all existing builds (<code>clean</code>) and then create a new Flink binary (<code>install</code>). The <code>-DskipTests</code> command prevents Maven from executing the unit tests.</p>
-
-<p><a href="http://maven.apache.org/">Read more</a> about Apache Maven.</p>
-
-<h2 id="build-flink-for-a-specific-hadoop-version">Build Flink for a specific Hadoop Version</h2>
-
-<p>This section covers building Flink for a specific Hadoop version. Most users do not need to do this manually. The download page of Flink contains binary packages for common setups.</p>
-
-<p>The problem is that Flink uses HDFS and YARN which are both dependencies from Apache Hadoop. There exist many different versions of Hadoop (from both the upstream project and the different Hadoop distributions). If a user is using a wrong combination of versions, exceptions like this one occur:</p>
-
-<div class="highlight"><pre><code class="language-bash">ERROR: The job was not successfully submitted to the nephele job manager:
-    org.apache.flink.nephele.executiongraph.GraphConversionException: Cannot compute input splits <span class="k">for</span> TSV:
-    java.io.IOException: Failed on <span class="nb">local </span>exception: com.google.protobuf.InvalidProtocolBufferException:
-    Protocol message contained an invalid tag <span class="o">(</span>zero<span class="o">)</span>.<span class="p">;</span> Host Details :</code></pre></div>
-
-<p>There are two main versions of Hadoop that we need to differentiate:
-- Hadoop 1, with all versions starting with zero or one, like 0.20, 0.23 or 1.2.1.
-- Hadoop 2, with all versions starting with 2, like 2.2.0.
-The main differentiation between Hadoop 1 and Hadoop 2 is the availability of Hadoop YARN (Hadoops cluster resource manager).</p>
-
-<p>By default, Flink is using the Hadoop 2 dependencies.</p>
-
-<p><strong>To build Flink for Hadoop 1</strong>, issue the following command:</p>
-
-<div class="highlight"><pre><code class="language-bash">mvn clean install -DskipTests -Dhadoop.profile<span class="o">=</span>1</code></pre></div>
-
-<p>The <code>-Dhadoop.profile=1</code> flag instructs Maven to build Flink for Hadoop 1. Note that the features included in Flink change when using a different Hadoop profile. In particular the support for YARN and the build-in HBase support are not available in Hadoop 1 builds.</p>
-
-<p>You can also <strong>specify a specific Hadoop version to build against</strong>:</p>
-
-<div class="highlight"><pre><code class="language-bash">mvn clean install -DskipTests -Dhadoop.version<span class="o">=</span>2.4.1</code></pre></div>
-
-<p><strong>To build Flink against a vendor specific Hadoop version</strong>, issue the following command:</p>
-
-<div class="highlight"><pre><code class="language-bash">mvn clean install -DskipTests -Pvendor-repos -Dhadoop.version<span class="o">=</span>2.2.0-cdh5.0.0-beta-2</code></pre></div>
-
-<p>The <code>-Pvendor-repos</code> activates a Maven <a href="http://maven.apache.org/guides/introduction/introduction-to-profiles.html">build profile</a> that includes the repositories of popular Hadoop vendors such as Cloudera, Hortonworks, or MapR.</p>
-
-<p><strong>Build Flink for <code>hadoop2</code> versions before 2.2.0</strong></p>
-
-<p>Maven will automatically build Flink with its YARN client. But there were some changes in Hadoop versions before the 2.2.0 Hadoop release that are not supported by Flink’s YARN client. Therefore, you can disable building the YARN client with the following string: <code>-P!include-yarn</code>.</p>
-
-<p>So if you are building Flink for Hadoop <code>2.0.0-alpha</code>, use the following command:</p>
-
-<div class="highlight"><pre><code class="language-bash">-P!include-yarn -Dhadoop.version<span class="o">=</span>2.0.0-alpha</code></pre></div>
-
-<h2 id="background">Background</h2>
-
-<p>The builds with Maven are controlled by <a href="http://maven.apache.org/pom.html#Properties">properties</a> and <a href="http://maven.apache.org/guides/introduction/introduction-to-profiles.html">build profiles</a>.
-There are two profiles, one for hadoop1 and one for hadoop2. When the hadoop2 profile is enabled (default), the system will also build the YARN client.</p>
-
-<p>To enable the hadoop1 profile, set <code>-Dhadoop.profile=1</code> when building.
-Depending on the profile, there are two Hadoop versions, set via properties. For “hadoop1”, we use 1.2.1 by default, for “hadoop2” it is 2.2.0.</p>
-
-<p>You can change these versions with the <code>hadoop-two.version</code> (or <code>hadoop-one.version</code>) property. For example <code>-Dhadoop-two.version=2.4.0</code>.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/cluster_setup.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/cluster_setup.html b/content/docs/0.9/setup/cluster_setup.html
deleted file mode 100644
index 7daf182..0000000
--- a/content/docs/0.9/setup/cluster_setup.html
+++ /dev/null
@@ -1,528 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Cluster Setup</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Cluster Setup</h1>
-
-
-
-<p>This documentation is intended to provide instructions on how to run
-Flink in a fully distributed fashion on a static (but possibly
-heterogeneous) cluster.</p>
-
-<p>This involves two steps. First, installing and configuring Flink and
-second installing and configuring the <a href="http://hadoop.apache.org/">Hadoop Distributed
-Filesystem</a> (HDFS).</p>
-
-<ul id="markdown-toc">
-  <li><a href="#preparing-the-cluster" id="markdown-toc-preparing-the-cluster">Preparing the Cluster</a>    <ul>
-      <li><a href="#software-requirements" id="markdown-toc-software-requirements">Software Requirements</a></li>
-      <li><a href="#configuring-remote-access-with-ssh" id="markdown-toc-configuring-remote-access-with-ssh">Configuring Remote Access with ssh</a></li>
-      <li><a href="#setting-javahome-on-each-node" id="markdown-toc-setting-javahome-on-each-node">Setting JAVA_HOME on each Node</a></li>
-    </ul>
-  </li>
-  <li><a href="#hadoop-distributed-filesystem-hdfs-setup" id="markdown-toc-hadoop-distributed-filesystem-hdfs-setup">Hadoop Distributed Filesystem (HDFS) Setup</a>    <ul>
-      <li><a href="#downloading-installing-and-configuring-hdfs" id="markdown-toc-downloading-installing-and-configuring-hdfs">Downloading, Installing, and Configuring HDFS</a></li>
-      <li><a href="#starting-hdfs" id="markdown-toc-starting-hdfs">Starting HDFS</a></li>
-    </ul>
-  </li>
-  <li><a href="#flink-setup" id="markdown-toc-flink-setup">Flink Setup</a>    <ul>
-      <li><a href="#configuring-the-cluster" id="markdown-toc-configuring-the-cluster">Configuring the Cluster</a></li>
-      <li><a href="#starting-flink" id="markdown-toc-starting-flink">Starting Flink</a></li>
-      <li><a href="#starting-flink-in-the-streaming-mode" id="markdown-toc-starting-flink-in-the-streaming-mode">Starting Flink in the streaming mode</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="preparing-the-cluster">Preparing the Cluster</h2>
-
-<h3 id="software-requirements">Software Requirements</h3>
-
-<p>Flink runs on all <em>UNIX-like environments</em>, e.g. <strong>Linux</strong>, <strong>Mac OS X</strong>,
-and <strong>Cygwin</strong> (for Windows) and expects the cluster to consist of <strong>one master
-node</strong> and <strong>one or more worker nodes</strong>. Before you start to setup the system,
-make sure you have the following software installed <strong>on each node</strong>:</p>
-
-<ul>
-  <li><strong>Java 1.6.x</strong> or higher,</li>
-  <li><strong>ssh</strong> (sshd must be running to use the Flink scripts that manage
-remote components)</li>
-</ul>
-
-<p>If your cluster does not fulfill these software requirements you will need to
-install/upgrade it.</p>
-
-<p>For example, on Ubuntu Linux, type in the following commands to install Java and
-ssh:</p>
-
-<div class="highlight"><pre><code class="language-bash">sudo apt-get install ssh 
-sudo apt-get install openjdk-7-jre</code></pre></div>
-
-<p>You can check the correct installation of Java by issuing the following command:</p>
-
-<div class="highlight"><pre><code class="language-bash">java -version</code></pre></div>
-
-<p>The command should output something comparable to the following on every node of
-your cluster (depending on your Java version, there may be small differences):</p>
-
-<div class="highlight"><pre><code class="language-bash">java version <span class="s2">&quot;1.6.0_22&quot;</span>
-Java<span class="o">(</span>TM<span class="o">)</span> SE Runtime Environment <span class="o">(</span>build 1.6.0_22-b04<span class="o">)</span>
-Java HotSpot<span class="o">(</span>TM<span class="o">)</span> 64-Bit Server VM <span class="o">(</span>build 17.1-b03, mixed mode<span class="o">)</span></code></pre></div>
-
-<p>To make sure the ssh daemon is running properly, you can use the command</p>
-
-<div class="highlight"><pre><code class="language-bash">ps aux <span class="p">|</span> grep sshd</code></pre></div>
-
-<p>Something comparable to the following line should appear in the output
-of the command on every host of your cluster:</p>
-
-<div class="highlight"><pre><code class="language-bash">root       <span class="m">894</span>  0.0  0.0  <span class="m">49260</span>   <span class="m">320</span> ?        Ss   Jan09   0:13 /usr/sbin/sshd</code></pre></div>
-
-<h3 id="configuring-remote-access-with-ssh">Configuring Remote Access with ssh</h3>
-
-<p>In order to start/stop the remote processes, the master node requires access via
-ssh to the worker nodes. It is most convenient to use ssh’s public key
-authentication for this. To setup public key authentication, log on to the
-master as the user who will later execute all the Flink components. <strong>The
-same user (i.e. a user with the same user name) must also exist on all worker
-nodes</strong>. For the remainder of this instruction we will refer to this user as
-<em>flink</em>. Using the super user <em>root</em> is highly discouraged for security
-reasons.</p>
-
-<p>Once you logged in to the master node as the desired user, you must generate a
-new public/private key pair. The following command will create a new
-public/private key pair into the <em>.ssh</em> directory inside the home directory of
-the user <em>flink</em>. See the ssh-keygen man page for more details. Note that
-the private key is not protected by a passphrase.</p>
-
-<div class="highlight"><pre><code class="language-bash">ssh-keygen -b <span class="m">2048</span> -P <span class="s1">&#39;&#39;</span> -f ~/.ssh/id_rsa</code></pre></div>
-
-<p>Next, copy/append the content of the file <em>.ssh/id_rsa.pub</em> to your
-authorized_keys file. The content of the authorized_keys file defines which
-public keys are considered trustworthy during the public key authentication
-process. On most systems the appropriate command is</p>
-
-<div class="highlight"><pre><code class="language-bash">cat .ssh/id_rsa.pub &gt;&gt; .ssh/authorized_keys</code></pre></div>
-
-<p>On some Linux systems, the authorized keys file may also be expected by the ssh
-daemon under <em>.ssh/authorized_keys2</em>. In either case, you should make sure the
-file only contains those public keys which you consider trustworthy for each
-node of cluster.</p>
-
-<p>Finally, the authorized keys file must be copied to every worker node of your
-cluster. You can do this by repeatedly typing in</p>
-
-<div class="highlight"><pre><code class="language-bash">scp .ssh/authorized_keys &lt;worker&gt;:~/.ssh/</code></pre></div>
-
-<p>and replacing <em>&lt;worker&gt;</em> with the host name of the respective worker node.
-After having finished the copy process, you should be able to log on to each
-worker node from your master node via ssh without a password.</p>
-
-<h3 id="setting-javahome-on-each-node">Setting JAVA_HOME on each Node</h3>
-
-<p>Flink requires the <code>JAVA_HOME</code> environment variable to be set on the
-master and all worker nodes and point to the directory of your Java
-installation.</p>
-
-<p>You can set this variable in <code>conf/flink-conf.yaml</code> via the
-<code>env.java.home</code> key.</p>
-
-<p>Alternatively, add the following line to your shell profile. If you use the
-<em>bash</em> shell (probably the most common shell), the shell profile is located in
-<em>\~/.bashrc</em>:</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nb">export </span><span class="nv">JAVA_HOME</span><span class="o">=</span>/path/to/java_home/</code></pre></div>
-
-<p>If your ssh daemon supports user environments, you can also add <code>JAVA_HOME</code> to
-<em>.\~/.ssh/environment</em>. As super user <em>root</em> you can enable ssh user
-environments with the following commands:</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nb">echo</span> <span class="s2">&quot;PermitUserEnvironment yes&quot;</span> &gt;&gt; /etc/ssh/sshd_config
-/etc/init.d/ssh restart</code></pre></div>
-
-<h2 id="hadoop-distributed-filesystem-hdfs-setup">Hadoop Distributed Filesystem (HDFS) Setup</h2>
-
-<p>The Flink system currently uses the Hadoop Distributed Filesystem (HDFS)
-to read and write data in a distributed fashion. It is possible to use
-Flink without HDFS or other distributed file systems.</p>
-
-<p>Make sure to have a running HDFS installation. The following instructions are
-just a general overview of some required settings. Please consult one of the
-many installation guides available online for more detailed instructions.</p>
-
-<p><strong>Note that the following instructions are based on Hadoop 1.2 and might differ 
-for Hadoop 2.</strong></p>
-
-<h3 id="downloading-installing-and-configuring-hdfs">Downloading, Installing, and Configuring HDFS</h3>
-
-<p>Similar to the Flink system HDFS runs in a distributed fashion. HDFS
-consists of a <strong>NameNode</strong> which manages the distributed file system’s meta
-data. The actual data is stored by one or more <strong>DataNodes</strong>. For the remainder
-of this instruction we assume the HDFS’s NameNode component runs on the master
-node while all the worker nodes run an HDFS DataNode.</p>
-
-<p>To start, log on to your master node and download Hadoop (which includes  HDFS)
-from the Apache <a href="http://hadoop.apache.org/releases.html">Hadoop Releases</a> page.</p>
-
-<p>Next, extract the Hadoop archive.</p>
-
-<p>After having extracted the Hadoop archive, change into the Hadoop directory and
-edit the Hadoop environment configuration file:</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nb">cd </span>hadoop-*
-vi conf/hadoop-env.sh</code></pre></div>
-
-<p>Uncomment and modify the following line in the file according to the path of
-your Java installation.</p>
-
-<div class="highlight"><pre><code>export JAVA_HOME=/path/to/java_home/
-</code></pre></div>
-
-<p>Save the changes and open the HDFS configuration file <em>conf/hdfs-site.xml</em>. HDFS
-offers multiple configuration parameters which affect the behavior of the
-distributed file system in various ways. The following excerpt shows a minimal
-configuration which is required to make HDFS work. More information on how to
-configure HDFS can be found in the <a href="http://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html">HDFS User
-Guide</a> guide.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;configuration&gt;</span>
-  <span class="nt">&lt;property&gt;</span>
-    <span class="nt">&lt;name&gt;</span>fs.default.name<span class="nt">&lt;/name&gt;</span>
-    <span class="nt">&lt;value&gt;</span>hdfs://MASTER:50040/<span class="nt">&lt;/value&gt;</span>
-  <span class="nt">&lt;/property&gt;</span>
-  <span class="nt">&lt;property&gt;</span>
-    <span class="nt">&lt;name&gt;</span>dfs.data.dir<span class="nt">&lt;/name&gt;</span>
-    <span class="nt">&lt;value&gt;</span>DATAPATH<span class="nt">&lt;/value&gt;</span>
-  <span class="nt">&lt;/property&gt;</span>
-<span class="nt">&lt;/configuration&gt;</span></code></pre></div>
-
-<p>Replace <em>MASTER</em> with the IP/host name of your master node which runs the
-<em>NameNode</em>. <em>DATAPATH</em> must be replaced with path to the directory in which the
-actual HDFS data shall be stored on each worker node. Make sure that the
-<em>flink</em> user has sufficient permissions to read and write in that
-directory.</p>
-
-<p>After having saved the HDFS configuration file, open the file <em>conf/slaves</em> and
-enter the IP/host name of those worker nodes which shall act as <em>DataNode</em>s.
-Each entry must be separated by a line break.</p>
-
-<div class="highlight"><pre><code>&lt;worker 1&gt;
-&lt;worker 2&gt;
-.
-.
-.
-&lt;worker n&gt;
-</code></pre></div>
-
-<p>Initialize the HDFS by typing in the following command. Note that the
-command will <strong>delete all data</strong> which has been previously stored in the
-HDFS. However, since we have just installed a fresh HDFS, it should be
-safe to answer the confirmation with <em>yes</em>.</p>
-
-<div class="highlight"><pre><code class="language-bash">bin/hadoop namenode -format</code></pre></div>
-
-<p>Finally, we need to make sure that the Hadoop directory is available to
-all worker nodes which are intended to act as DataNodes and that all nodes
-<strong>find the directory under the same path</strong>. We recommend to use a shared network
-directory (e.g. an NFS share) for that. Alternatively, one can copy the
-directory to all nodes (with the disadvantage that all configuration and
-code updates need to be synced to all nodes).</p>
-
-<h3 id="starting-hdfs">Starting HDFS</h3>
-
-<p>To start the HDFS log on to the master and type in the following
-commands</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nb">cd </span>hadoop-*
-bin/start-dfs.sh</code></pre></div>
-
-<p>If your HDFS setup is correct, you should be able to open the HDFS
-status website at <em>http://MASTER:50070</em>. In a matter of a seconds,
-all DataNodes should appear as live nodes. For troubleshooting we would
-like to point you to the <a href="http://wiki.apache.org/hadoop/QuickStart">Hadoop Quick
-Start</a>
-guide.</p>
-
-<h2 id="flink-setup">Flink Setup</h2>
-
-<p>Go to the <a href="http://flink.apache.org/docs/0.9/downloads.html">downloads page</a> and get the ready to run
-package. Make sure to pick the Flink package <strong>matching your Hadoop
-version</strong>.</p>
-
-<p>After downloading the latest release, copy the archive to your master node and
-extract it:</p>
-
-<div class="highlight"><pre><code class="language-bash">tar xzf flink-*.tgz
-<span class="nb">cd </span>flink-*</code></pre></div>
-
-<h3 id="configuring-the-cluster">Configuring the Cluster</h3>
-
-<p>After having extracted the system files, you need to configure Flink for
-the cluster by editing <em>conf/flink-conf.yaml</em>.</p>
-
-<p>Set the <code>jobmanager.rpc.address</code> key to point to your master node. Furthermode
-define the maximum amount of main memory the JVM is allowed to allocate on each
-node by setting the <code>jobmanager.heap.mb</code> and <code>taskmanager.heap.mb</code> keys.</p>
-
-<p>The value is given in MB. If some worker nodes have more main memory which you
-want to allocate to the Flink system you can overwrite the default value
-by setting an environment variable <code>FLINK_TM_HEAP</code> on the respective
-node.</p>
-
-<p>Finally you must provide a list of all nodes in your cluster which shall be used
-as worker nodes. Therefore, similar to the HDFS configuration, edit the file
-<em>conf/slaves</em> and enter the IP/host name of each worker node. Each worker node
-will later run a TaskManager.</p>
-
-<p>Each entry must be separated by a new line, as in the following example:</p>
-
-<div class="highlight"><pre><code>192.168.0.100
-192.168.0.101
-.
-.
-.
-192.168.0.150
-</code></pre></div>
-
-<p>The Flink directory must be available on every worker under the same
-path. Similarly as for HDFS, you can use a shared NSF directory, or copy the
-entire Flink directory to every worker node.</p>
-
-<p>Please see the <a href="config.html">configuration page</a> for details and additional
-configuration options.</p>
-
-<p>In particular,</p>
-
-<ul>
-  <li>the amount of available memory per TaskManager (<code>taskmanager.heap.mb</code>),</li>
-  <li>the number of available CPUs per machine (<code>taskmanager.numberOfTaskSlots</code>),</li>
-  <li>the total number of CPUs in the cluster (<code>parallelism.default</code>) and</li>
-  <li>the temporary directories (<code>taskmanager.tmp.dirs</code>)</li>
-</ul>
-
-<p>are very important configuration values.</p>
-
-<h3 id="starting-flink">Starting Flink</h3>
-
-<p>The following script starts a JobManager on the local node and connects via
-SSH to all worker nodes listed in the <em>slaves</em> file to start the
-TaskManager on each node. Now your Flink system is up and
-running. The JobManager running on the local node will now accept jobs
-at the configured RPC port.</p>
-
-<p>Assuming that you are on the master node and inside the Flink directory:</p>
-
-<div class="highlight"><pre><code class="language-bash">bin/start-cluster.sh</code></pre></div>
-
-<p>To stop Flink, there is also a <code>stop-cluster.sh</code> script.</p>
-
-<h3 id="starting-flink-in-the-streaming-mode">Starting Flink in the streaming mode</h3>
-
-<div class="highlight"><pre><code class="language-bash">bin/start-cluster-streaming.sh</code></pre></div>
-
-<p>The streaming mode changes the startup behavior of Flink: The system is not 
-bringing up the managed memory services with preallocated memory at the beginning.
-Flink streaming is not using the managed memory employed by the batch operators.
-By not starting these services with preallocated memory, streaming jobs can benefit
-from more heap space being available.</p>
-
-<p>Note that you can still start batch jobs in the streaming mode. The memory manager
-will then allocate memory segments from the Java heap as needed.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[45/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/java8.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/java8.html b/content/docs/0.9/apis/java8.html
deleted file mode 100644
index 215eadd..0000000
--- a/content/docs/0.9/apis/java8.html
+++ /dev/null
@@ -1,360 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Java 8 Programming Guide</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Java 8 Programming Guide</h1>
-
-
-
-<p>Java 8 introduces several new language features designed for faster and clearer coding. With the most important feature, 
-the so-called “Lambda Expressions”, Java 8 opens the door to functional programming. Lambda Expressions allow for implementing and 
-passing functions in a straightforward way without having to declare additional (anonymous) classes.</p>
-
-<p>The newest version of Flink supports the usage of Lambda Expressions for all operators of the Java API.
-This document shows how to use Lambda Expressions and describes current limitations. For a general introduction to the
-Flink API, please refer to the <a href="programming_guide.html">Programming Guide</a></p>
-
-<ul id="markdown-toc">
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-  <li><a href="#compiler-limitations" id="markdown-toc-compiler-limitations">Compiler Limitations</a></li>
-</ul>
-
-<h3 id="examples">Examples</h3>
-
-<p>The following example illustrates how to implement a simple, inline <code>map()</code> function that squares its input using a Lambda Expression. 
-The types of input <code>i</code> and output parameters of the <code>map()</code> function need not to be declared as they are inferred by the Java 8 compiler.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="mi">3</span><span class="o">)</span>
-<span class="c1">// returns the squared i</span>
-<span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">i</span> <span class="o">-&gt;</span> <span class="n">i</span><span class="o">*</span><span class="n">i</span><span class="o">)</span>
-<span class="o">.</span><span class="na">print</span><span class="o">();</span></code></pre></div>
-
-<p>The next two examples show different implementations of a function that uses a <code>Collector</code> for output. 
-Functions, such as <code>flatMap()</code>, require a output type (in this case <code>String</code>) to be defined for the <code>Collector</code> in order to be type-safe. 
-If the <code>Collector</code> type can not be inferred from the surrounding context, it need to be declared in the Lambda Expression’s parameter list manually. 
-Otherwise the output will be treated as type <code>Object</code> which can lead to undesired behaviour.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="mi">3</span><span class="o">);</span>
-
-<span class="c1">// collector type must be declared</span>
-<span class="n">input</span><span class="o">.</span><span class="na">flatMap</span><span class="o">((</span><span class="n">Integer</span> <span class="n">number</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>
-    <span class="k">for</span><span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">number</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="s">&quot;a&quot;</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">})</span>
-<span class="c1">// returns &quot;a&quot;, &quot;a&quot;, &quot;aa&quot;, &quot;a&quot;, &quot;aa&quot; , &quot;aaa&quot;</span>
-<span class="o">.</span><span class="na">print</span><span class="o">();</span></code></pre></div>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="mi">3</span><span class="o">);</span>
-
-<span class="c1">// collector type must not be declared, it is inferred from the type of the dataset</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">manyALetters</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">flatMap</span><span class="o">((</span><span class="n">number</span><span class="o">,</span> <span class="n">out</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="o">{</span>	
-    <span class="k">for</span><span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">number</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="s">&quot;a&quot;</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">});</span>
-
-<span class="c1">// returns &quot;a&quot;, &quot;a&quot;, &quot;aa&quot;, &quot;a&quot;, &quot;aa&quot; , &quot;aaa&quot;</span>
-<span class="n">manyALetters</span><span class="o">.</span><span class="na">print</span><span class="o">();</span></code></pre></div>
-
-<p>The following code demonstrates a word count which makes extensive use of Lambda Expressions.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="s">&quot;Please count&quot;</span><span class="o">,</span> <span class="s">&quot;the words&quot;</span><span class="o">,</span> <span class="s">&quot;but not this&quot;</span><span class="o">);</span>
-		
-<span class="c1">// filter out strings that contain &quot;not&quot;</span>
-<span class="n">input</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="n">line</span> <span class="o">-&gt;</span> <span class="o">!</span><span class="n">line</span><span class="o">.</span><span class="na">contains</span><span class="o">(</span><span class="s">&quot;not&quot;</span><span class="o">))</span>
-<span class="c1">// split each line by space</span>
-<span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">line</span> <span class="o">-&gt;</span> <span class="n">line</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">))</span>
-<span class="c1">// emit a pair &lt;word,1&gt; for each array element</span>
-<span class="o">.</span><span class="na">flatMap</span><span class="o">((</span><span class="n">String</span><span class="o">[]</span> <span class="n">wordArray</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> 
-    <span class="o">-&gt;</span> <span class="n">Arrays</span><span class="o">.</span><span class="na">stream</span><span class="o">(</span><span class="n">wordArray</span><span class="o">).</span><span class="na">forEach</span><span class="o">(</span><span class="n">t</span> <span class="o">-&gt;</span> <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;&gt;(</span><span class="n">t</span><span class="o">,</span> <span class="mi">1</span><span class="o">)))</span>
-    <span class="o">)</span>
-<span class="c1">// group and sum up</span>
-<span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-<span class="c1">// print</span>
-<span class="o">.</span><span class="na">print</span><span class="o">();</span></code></pre></div>
-
-<h3 id="compiler-limitations">Compiler Limitations</h3>
-<p>Currently, Flink only supports jobs containing Lambda Expressions completely if they are <strong>compiled with the Eclipse JDT compiler contained in Eclipse Luna 4.4.2 (and above)</strong>.</p>
-
-<p>Only the Eclipse JDT compiler preserves the generic type information necessary to use the entire Lambda Expressions feature type-safely. 
-Other compilers such as the OpenJDK’s and Oracle JDK’s <code>javac</code> throw away all generic parameters related to Lambda Expressions. This means that types such as <code>Tuple2&lt;String,Integer</code> or <code>Collector&lt;String&gt;</code> declared as a Lambda function input or output parameter will be pruned to <code>Tuple2</code> or <code>Collector</code> in the compiled <code>.class</code> files, which is too little information for the Flink Compiler.</p>
-
-<p>How to compile a Flink job that contains Lambda Expressions with the JDT compiler will be covered in the next section.</p>
-
-<p>However, it is possible to implement functions such as <code>map()</code> or <code>filter()</code> with Lambda Expressions in Java 8 compilers other than the Eclipse JDT compiler as long as the function has no <code>Collector</code>s or <code>Iterable</code>s <em>and</em> only if the function handles unparameterized types such as <code>Integer</code>, <code>Long</code>, <code>String</code>, <code>MyOwnClass</code> (types without Generics!).</p>
-
-<h4 id="compile-flink-jobs-with-the-eclipse-jdt-compiler-and-maven">Compile Flink jobs with the Eclipse JDT compiler and Maven</h4>
-
-<p>If you are using the Eclipse IDE, you can run and debug your Flink code within the IDE without any problems after some configuration steps. The Eclipse IDE by default compiles its Java sources with the Eclipse JDT compiler. The next section describes how to configure the Eclipse IDE.</p>
-
-<p>If you are using a different IDE such as IntelliJ IDEA or you want to package your Jar-File with Maven to run your job on a cluster, you need to modify your project’s <code>pom.xml</code> file and build your program with Maven. The <a href="http://flink.apache.org/docs/0.9/quickstart/setup_quickstart.html">quickstart</a> contains preconfigured Maven projects which can be used for new projects or as a reference. Uncomment the mentioned lines in your generated quickstart <code>pom.xml</code> file if you want to use Java 8 with Lambda Expressions.</p>
-
-<p>Alternatively, you can manually insert the following lines to your Maven <code>pom.xml</code> file. Maven will then use the Eclipse JDT compiler for compilation.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="c">&lt;!-- put these lines under &quot;project/build/pluginManagement/plugins&quot; of your pom.xml --&gt;</span>
-
-<span class="nt">&lt;plugin&gt;</span>
-    <span class="c">&lt;!-- Use compiler plugin with tycho as the adapter to the JDT compiler. --&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>maven-compiler-plugin<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;configuration&gt;</span>
-        <span class="nt">&lt;source&gt;</span>1.8<span class="nt">&lt;/source&gt;</span>
-        <span class="nt">&lt;target&gt;</span>1.8<span class="nt">&lt;/target&gt;</span>
-        <span class="nt">&lt;compilerId&gt;</span>jdt<span class="nt">&lt;/compilerId&gt;</span>
-    <span class="nt">&lt;/configuration&gt;</span>
-    <span class="nt">&lt;dependencies&gt;</span>
-        <span class="c">&lt;!-- This dependency provides the implementation of compiler &quot;jdt&quot;: --&gt;</span>
-        <span class="nt">&lt;dependency&gt;</span>
-            <span class="nt">&lt;groupId&gt;</span>org.eclipse.tycho<span class="nt">&lt;/groupId&gt;</span>
-            <span class="nt">&lt;artifactId&gt;</span>tycho-compiler-jdt<span class="nt">&lt;/artifactId&gt;</span>
-            <span class="nt">&lt;version&gt;</span>0.21.0<span class="nt">&lt;/version&gt;</span>
-        <span class="nt">&lt;/dependency&gt;</span>
-    <span class="nt">&lt;/dependencies&gt;</span>
-<span class="nt">&lt;/plugin&gt;</span></code></pre></div>
-
-<p>If you are using Eclipse for development, the m2e plugin might complain about the inserted lines above and marks your <code>pom.xml</code> as invalid. If so, insert the following lines to your <code>pom.xml</code>.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="c">&lt;!-- put these lines under &quot;project/build/pluginManagement/plugins/plugin[groupId=&quot;org.eclipse.m2e&quot;, artifactId=&quot;lifecycle-mapping&quot;]/configuration/lifecycleMappingMetadata/pluginExecutions&quot; of your pom.xml --&gt;</span>
-
-<span class="nt">&lt;pluginExecution&gt;</span>
-    <span class="nt">&lt;pluginExecutionFilter&gt;</span>
-        <span class="nt">&lt;groupId&gt;</span>org.apache.maven.plugins<span class="nt">&lt;/groupId&gt;</span>
-        <span class="nt">&lt;artifactId&gt;</span>maven-compiler-plugin<span class="nt">&lt;/artifactId&gt;</span>
-        <span class="nt">&lt;versionRange&gt;</span>[3.1,)<span class="nt">&lt;/versionRange&gt;</span>
-        <span class="nt">&lt;goals&gt;</span>
-            <span class="nt">&lt;goal&gt;</span>testCompile<span class="nt">&lt;/goal&gt;</span>
-            <span class="nt">&lt;goal&gt;</span>compile<span class="nt">&lt;/goal&gt;</span> 
-        <span class="nt">&lt;/goals&gt;</span>
-    <span class="nt">&lt;/pluginExecutionFilter&gt;</span>
-    <span class="nt">&lt;action&gt;</span>
-        <span class="nt">&lt;ignore&gt;&lt;/ignore&gt;</span>
-    <span class="nt">&lt;/action&gt;</span>
-<span class="nt">&lt;/pluginExecution&gt;</span></code></pre></div>
-
-<h4 id="run-and-debug-flink-jobs-within-the-eclipse-ide">Run and debug Flink jobs within the Eclipse IDE</h4>
-
-<p>First of all, make sure you are running a current version of Eclipse IDE (4.4.2 or later). Also make sure that you have a Java 8 Runtime Environment (JRE) installed in Eclipse IDE (<code>Window</code> -&gt; <code>Preferences</code> -&gt; <code>Java</code> -&gt; <code>Installed JREs</code>).</p>
-
-<p>Create/Import your Eclipse project.</p>
-
-<p>If you are using Maven, you also need to change the Java version in your <code>pom.xml</code> for the <code>maven-compiler-plugin</code>. Otherwise right click the <code>JRE System Library</code> section of your project and open the <code>Properties</code> window in order to switch to a Java 8 JRE (or above) that supports Lambda Expressions.</p>
-
-<p>The Eclipse JDT compiler needs a special compiler flag in order to store type information in <code>.class</code> files. Open the JDT configuration file at <code>{project directoy}/.settings/org.eclipse.jdt.core.prefs</code> with your favorite text editor and add the following line:</p>
-
-<div class="highlight"><pre><code>org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature=generate
-</code></pre></div>
-
-<p>If not already done, also modify the Java versions of the following properties to <code>1.8</code> (or above):</p>
-
-<div class="highlight"><pre><code>org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.source=1.8
-</code></pre></div>
-
-<p>After you have saved the file, perform a complete project refresh in Eclipse IDE.</p>
-
-<p>If you are using Maven, right click your Eclipse project and select <code>Maven</code> -&gt; <code>Update Project...</code>.</p>
-
-<p>You have configured everything correctly, if the following Flink program runs without exceptions:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="mi">3</span><span class="o">).</span><span class="na">map</span><span class="o">((</span><span class="n">in</span><span class="o">)</span> <span class="o">-&gt;</span> <span class="k">new</span> <span class="n">Tuple1</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;(</span><span class="s">&quot; &quot;</span> <span class="o">+</span> <span class="n">in</span><span class="o">)).</span><span class="na">print</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">();</span></code></pre></div>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/local_execution.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/local_execution.html b/content/docs/0.9/apis/local_execution.html
deleted file mode 100644
index 25cac1f..0000000
--- a/content/docs/0.9/apis/local_execution.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Local Execution</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Local Execution</h1>
-
-
-
-<p>Flink can run on a single machine, even in a single Java Virtual Machine. This allows users to test and debug Flink programs locally. This section gives an overview of the local execution mechanisms.</p>
-
-<p>The local environments and executors allow you to run Flink programs in a local Java Virtual Machine, or with within any JVM as part of existing programs. Most examples can be launched locally by simply hitting the “Run” button of your IDE.</p>
-
-<p>There are two different kinds of local execution supported in Flink. The <code>LocalExecutionEnvironment</code> is starting the full Flink runtime, including a JobManager and a TaskManager. These include memory management and all the internal algorithms that are executed in the cluster mode.</p>
-
-<p>The <code>CollectionEnvironment</code> is executing the Flink program on Java collections. This mode will not start the full Flink runtime, so the execution is very low-overhead and lightweight. For example a <code>DataSet.map()</code>-transformation will be executed by applying the <code>map()</code> function to all elements in a Java list.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#debugging" id="markdown-toc-debugging">Debugging</a></li>
-  <li><a href="#maven-dependency" id="markdown-toc-maven-dependency">Maven Dependency</a></li>
-  <li><a href="#local-environment" id="markdown-toc-local-environment">Local Environment</a></li>
-  <li><a href="#collection-environment" id="markdown-toc-collection-environment">Collection Environment</a></li>
-</ul>
-
-<h2 id="debugging">Debugging</h2>
-
-<p>If you are running Flink programs locally, you can also debug your program like any other Java program. You can either use <code>System.out.println()</code> to write out some internal variables or you can use the debugger. It is possible to set breakpoints within <code>map()</code>, <code>reduce()</code> and all the other methods.
-Please also refer to the <a href="programming_guide.html#debugging">debugging section</a> in the Java API documentation for a guide to testing and local debugging utilities in the Java API.</p>
-
-<h2 id="maven-dependency">Maven Dependency</h2>
-
-<p>If you are developing your program in a Maven project, you have to add the <code>flink-clients</code> module using this dependency:</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<h2 id="local-environment">Local Environment</h2>
-
-<p>The <code>LocalEnvironment</code> is a handle to local execution for Flink programs. Use it to run a program within a local JVM - standalone or embedded in other programs.</p>
-
-<p>The local environment is instantiated via the method <code>ExecutionEnvironment.createLocalEnvironment()</code>. By default, it will use as many local threads for execution as your machine has CPU cores (hardware contexts). You can alternatively specify the desired parallelism. The local environment can be configured to log to the console using <code>enableLogging()</code>/<code>disableLogging()</code>.</p>
-
-<p>In most cases, calling <code>ExecutionEnvironment.getExecutionEnvironment()</code> is the even better way to go. That method returns a <code>LocalEnvironment</code> when the program is started locally (outside the command line interface), and it returns a pre-configured environment for cluster execution, when the program is invoked by the <a href="cli.html">command line interface</a>.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">createLocalEnvironment</span><span class="o">();</span>
-
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">data</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readTextFile</span><span class="o">(</span><span class="s">&quot;file:///path/to/file&quot;</span><span class="o">);</span>
-
-    <span class="n">data</span>
-        <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="s">&quot;http://&quot;</span><span class="o">);</span>
-            <span class="o">}</span>
-        <span class="o">})</span>
-        <span class="o">.</span><span class="na">writeAsText</span><span class="o">(</span><span class="s">&quot;file:///path/to/result&quot;</span><span class="o">);</span>
-
-    <span class="n">JobExecutionResult</span> <span class="n">res</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">();</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The <code>JobExecutionResult</code> object, which is returned after the execution finished, contains the program runtime and the accumulator results.</p>
-
-<p>The <code>LocalEnvironment</code> allows also to pass custom configuration values to Flink.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">Configuration</span> <span class="n">conf</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">Configuration</span><span class="o">();</span>
-<span class="n">conf</span><span class="o">.</span><span class="na">setFloat</span><span class="o">(</span><span class="n">ConfigConstants</span><span class="o">.</span><span class="na">TASK_MANAGER_MEMORY_FRACTION_KEY</span><span class="o">,</span> <span class="mf">0.5f</span><span class="o">);</span>
-<span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">createLocalEnvironment</span><span class="o">(</span><span class="n">conf</span><span class="o">);</span></code></pre></div>
-
-<p><em>Note:</em> The local execution environments do not start any web frontend to monitor the execution.</p>
-
-<h2 id="collection-environment">Collection Environment</h2>
-
-<p>The execution on Java Collections using the <code>CollectionEnvironment</code> is a low-overhead approach for executing Flink programs. Typical use-cases for this mode are automated tests, debugging and code re-use.</p>
-
-<p>Users can use algorithms implemented for batch processing also for cases that are more interactive. A slightly changed variant of a Flink program could be used in a Java Application Server for processing incoming requests.</p>
-
-<p><strong>Skeleton for Collection-based execution</strong></p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    <span class="c1">// initialize a new Collection-based execution environment</span>
-    <span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">CollectionEnvironment</span><span class="o">();</span>
-    
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">User</span><span class="o">&gt;</span> <span class="n">users</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromCollection</span><span class="o">(</span> <span class="cm">/* get elements from a Java Collection */</span><span class="o">);</span>
-
-    <span class="cm">/* Data Set transformations ... */</span>
-
-    <span class="c1">// retrieve the resulting Tuple2 elements into a ArrayList.</span>
-    <span class="n">Collection</span><span class="o">&lt;...&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ArrayList</span><span class="o">&lt;...&gt;();</span>
-    <span class="n">resultDataSet</span><span class="o">.</span><span class="na">output</span><span class="o">(</span><span class="k">new</span> <span class="n">LocalCollectionOutputFormat</span><span class="o">&lt;...&gt;(</span><span class="n">result</span><span class="o">));</span>
-    
-    <span class="c1">// kick off execution.</span>
-    <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">();</span>
-    
-    <span class="c1">// Do some work with the resulting ArrayList (=Collection).</span>
-    <span class="k">for</span><span class="o">(...</span> <span class="n">t</span> <span class="o">:</span> <span class="n">result</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">err</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;Result = &quot;</span><span class="o">+</span><span class="n">t</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The <code>flink-java-examples</code> module contains a full example, called <code>CollectionExecutionExample</code>.</p>
-
-<p>Please note that the execution of the collection-based Flink programs is only possible on small data, which fits into the JVM heap. The execution on collections is not multi-threaded, only one thread is used.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[66/68] [abbrv] flink-web git commit: Build site for fixed typo

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/news/2015/05/11/Juggling-with-Bits-and-Bytes.html
----------------------------------------------------------------------
diff --git a/content/news/2015/05/11/Juggling-with-Bits-and-Bytes.html b/content/news/2015/05/11/Juggling-with-Bits-and-Bytes.html
index 234c26d..a4d2561 100644
--- a/content/news/2015/05/11/Juggling-with-Bits-and-Bytes.html
+++ b/content/news/2015/05/11/Juggling-with-Bits-and-Bytes.html
@@ -164,7 +164,7 @@ However, this approach has a few notable drawbacks. First of all it is not trivi
 <img src="/img/blog/memory-mgmt.png" style="width:90%;margin:15px" />
 </center>
 
-<p>Flink’s style of active memory management and operating on binary data has several benefits: </p>
+<p>Flink’s style of active memory management and operating on binary data has several benefits:</p>
 
 <ol>
   <li><strong>Memory-safe execution &amp; efficient out-of-core algorithms.</strong> Due to the fixed amount of allocated memory segments, it is trivial to monitor remaining memory resources. In case of memory shortage, processing operators can efficiently write larger batches of memory segments to disk and later them read back. Consequently, <code>OutOfMemoryErrors</code> are effectively prevented.</li>
@@ -173,13 +173,13 @@ However, this approach has a few notable drawbacks. First of all it is not trivi
   <li><strong>Efficient binary operations &amp; cache sensitivity.</strong> Binary data can be efficiently compared and operated on given a suitable binary representation. Furthermore, the binary representations can put related values, as well as hash codes, keys, and pointers, adjacently into memory. This gives data structures with usually more cache efficient access patterns.</li>
 </ol>
 
-<p>These properties of active memory management are very desirable in a data processing systems for large-scale data analytics but have a significant price tag attached. Active memory management and operating on binary data is not trivial to implement, i.e., using <code>java.util.HashMap</code> is much easier than implementing a spillable hash-table backed by byte arrays and a custom serialization stack. Of course Apache Flink is not the only JVM-based data processing system that operates on serialized binary data. Projects such as <a href="http://drill.apache.org/">Apache Drill</a>, <a href="http://ignite.incubator.apache.org/">Apache Ignite (incubating)</a> or <a href="http://projectgeode.org/">Apache Geode (incubating)</a> apply similar techniques and it was recently announced that also <a href="http://spark.apache.org/">Apache Spark</a> will evolve into this direction with <a href="https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html">
 Project Tungsten</a>. </p>
+<p>These properties of active memory management are very desirable in a data processing systems for large-scale data analytics but have a significant price tag attached. Active memory management and operating on binary data is not trivial to implement, i.e., using <code>java.util.HashMap</code> is much easier than implementing a spillable hash-table backed by byte arrays and a custom serialization stack. Of course Apache Flink is not the only JVM-based data processing system that operates on serialized binary data. Projects such as <a href="http://drill.apache.org/">Apache Drill</a>, <a href="http://ignite.incubator.apache.org/">Apache Ignite (incubating)</a> or <a href="http://projectgeode.org/">Apache Geode (incubating)</a> apply similar techniques and it was recently announced that also <a href="http://spark.apache.org/">Apache Spark</a> will evolve into this direction with <a href="https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html">
 Project Tungsten</a>.</p>
 
 <p>In the following we discuss in detail how Flink allocates memory, de/serializes objects, and operates on binary data. We will also show some performance numbers comparing processing objects on the heap and operating on binary data.</p>
 
 <h2 id="how-does-flink-allocate-memory">How does Flink allocate memory?</h2>
 
-<p>A Flink worker, called TaskManager, is composed of several internal components such as an actor system for coordination with the Flink master, an IOManager that takes care of spilling data to disk and reading it back, and a MemoryManager that coordinates memory usage. In the context of this blog post, the MemoryManager is of most interest. </p>
+<p>A Flink worker, called TaskManager, is composed of several internal components such as an actor system for coordination with the Flink master, an IOManager that takes care of spilling data to disk and reading it back, and a MemoryManager that coordinates memory usage. In the context of this blog post, the MemoryManager is of most interest.</p>
 
 <p>The MemoryManager takes care of allocating, accounting, and distributing MemorySegments to data processing operators such as sort and join operators. A <a href="https://github.com/apache/flink/blob/release-0.9.0-milestone-1/flink-core/src/main/java/org/apache/flink/core/memory/MemorySegment.java">MemorySegment</a> is Flink’s distribution unit of memory and is backed by a regular Java byte array (size is 32 KB by default). A MemorySegment provides very efficient write and read access to its backed byte array using Java’s unsafe methods. You can think of a MemorySegment as a custom-tailored version of Java’s NIO ByteBuffer. In order to operate on multiple MemorySegments like on a larger chunk of consecutive memory, Flink uses logical views that implement Java’s <code>java.io.DataOutput</code> and <code>java.io.DataInput</code> interfaces.</p>
 
@@ -191,7 +191,7 @@ However, this approach has a few notable drawbacks. First of all it is not trivi
 
 <h2 id="how-does-flink-serialize-objects">How does Flink serialize objects?</h2>
 
-<p>The Java ecosystem offers several libraries to convert objects into a binary representation and back. Common alternatives are standard Java serialization, <a href="https://github.com/EsotericSoftware/kryo">Kryo</a>, <a href="http://avro.apache.org/">Apache Avro</a>, <a href="http://thrift.apache.org/">Apache Thrift</a>, or Google’s <a href="https://github.com/google/protobuf">Protobuf</a>. Flink includes its own custom serialization framework in order to control the binary representation of data. This is important because operating on binary data such as comparing or even manipulating binary data requires exact knowledge of the serialization layout. Further, configuring the serialization layout with respect to operations that are performed on binary data can yield a significant performance boost. Flink’s serialization stack also leverages the fact, that the type of the objects which are going through de/serialization are exactly known before a program is executed. </p>
+<p>The Java ecosystem offers several libraries to convert objects into a binary representation and back. Common alternatives are standard Java serialization, <a href="https://github.com/EsotericSoftware/kryo">Kryo</a>, <a href="http://avro.apache.org/">Apache Avro</a>, <a href="http://thrift.apache.org/">Apache Thrift</a>, or Google’s <a href="https://github.com/google/protobuf">Protobuf</a>. Flink includes its own custom serialization framework in order to control the binary representation of data. This is important because operating on binary data such as comparing or even manipulating binary data requires exact knowledge of the serialization layout. Further, configuring the serialization layout with respect to operations that are performed on binary data can yield a significant performance boost. Flink’s serialization stack also leverages the fact, that the type of the objects which are going through de/serialization are exactly known before a program is executed.</p>
 
 <p>Flink programs can process data represented as arbitrary Java or Scala objects. Before a program is optimized, the data types at each processing step of the program’s data flow need to be identified. For Java programs, Flink features a reflection-based type extraction component to analyze the return types of user-defined functions. Scala programs are analyzed with help of the Scala compiler. Flink represents each data type with a <a href="https://github.com/apache/flink/blob/release-0.9.0-milestone-1/flink-core/src/main/java/org/apache/flink/api/common/typeinfo/TypeInformation.java">TypeInformation</a>. Flink has TypeInformations for several kinds of data types, including:</p>
 
@@ -201,11 +201,11 @@ However, this approach has a few notable drawbacks. First of all it is not trivi
   <li>WritableTypeInfo: Any implementation of Hadoop’s Writable interface.</li>
   <li>TupleTypeInfo: Any Flink tuple (Tuple1 to Tuple25). Flink tuples are Java representations for fixed-length tuples with typed fields.</li>
   <li>CaseClassTypeInfo: Any Scala CaseClass (including Scala tuples).</li>
-  <li>PojoTypeInfo: Any POJO (Java or Scala), i.e., an object with all fields either being public or accessible through getters and setter that follow the common naming conventions. </li>
+  <li>PojoTypeInfo: Any POJO (Java or Scala), i.e., an object with all fields either being public or accessible through getters and setter that follow the common naming conventions.</li>
   <li>GenericTypeInfo: Any data type that cannot be identified as another type.</li>
 </ul>
 
-<p>Each TypeInformation provides a serializer for the data type it represents. For example, a BasicTypeInfo returns a serializer that writes the respective primitive type, the serializer of a WritableTypeInfo delegates de/serialization to the write() and readFields() methods of the object implementing Hadoop’s Writable interface, and a GenericTypeInfo returns a serializer that delegates serialization to Kryo. Object serialization to a DataOutput which is backed by Flink MemorySegments goes automatically through Java’s efficient unsafe operations. For data types that can be used as keys, i.e., compared and hashed, the TypeInformation provides TypeComparators. TypeComparators compare and hash objects and can - depending on the concrete data type - also efficiently compare binary representations and extract fixed-length binary key prefixes. </p>
+<p>Each TypeInformation provides a serializer for the data type it represents. For example, a BasicTypeInfo returns a serializer that writes the respective primitive type, the serializer of a WritableTypeInfo delegates de/serialization to the write() and readFields() methods of the object implementing Hadoop’s Writable interface, and a GenericTypeInfo returns a serializer that delegates serialization to Kryo. Object serialization to a DataOutput which is backed by Flink MemorySegments goes automatically through Java’s efficient unsafe operations. For data types that can be used as keys, i.e., compared and hashed, the TypeInformation provides TypeComparators. TypeComparators compare and hash objects and can - depending on the concrete data type - also efficiently compare binary representations and extract fixed-length binary key prefixes.</p>
 
 <p>Tuple, Pojo, and CaseClass types are composite types, i.e., containers for one or more possibly nested data types. As such, their serializers and comparators are also composite and delegate the serialization and comparison of their member data types to the respective serializers and comparators. The following figure illustrates the serialization of a (nested) <code>Tuple3&lt;Integer, Double, Person&gt;</code> object where <code>Person</code> is a POJO and defined as follows:</p>
 
@@ -218,13 +218,13 @@ However, this approach has a few notable drawbacks. First of all it is not trivi
 <img src="/img/blog/data-serialization.png" style="width:80%;margin:15px" />
 </center>
 
-<p>Flink’s type system can be easily extended by providing custom TypeInformations, Serializers, and Comparators to improve the performance of serializing and comparing custom data types. </p>
+<p>Flink’s type system can be easily extended by providing custom TypeInformations, Serializers, and Comparators to improve the performance of serializing and comparing custom data types.</p>
 
 <h2 id="how-does-flink-operate-on-binary-data">How does Flink operate on binary data?</h2>
 
 <p>Similar to many other data processing APIs (including SQL), Flink’s APIs provide transformations to group, sort, and join data sets. These transformations operate on potentially very large data sets. Relational database systems feature very efficient algorithms for these purposes since several decades including external merge-sort, merge-join, and hybrid hash-join. Flink builds on this technology, but generalizes it to handle arbitrary objects using its custom serialization and comparison stack. In the following, we show how Flink operates with binary data by the example of Flink’s in-memory sort algorithm.</p>
 
-<p>Flink assigns a memory budget to its data processing operators. Upon initialization, a sort algorithm requests its memory budget from the MemoryManager and receives a corresponding set of MemorySegments. The set of MemorySegments becomes the memory pool of a so-called sort buffer which collects the data that is be sorted. The following figure illustrates how data objects are serialized into the sort buffer. </p>
+<p>Flink assigns a memory budget to its data processing operators. Upon initialization, a sort algorithm requests its memory budget from the MemoryManager and receives a corresponding set of MemorySegments. The set of MemorySegments becomes the memory pool of a so-called sort buffer which collects the data that is be sorted. The following figure illustrates how data objects are serialized into the sort buffer.</p>
 
 <center>
 <img src="/img/blog/sorting-binary-data-1.png" style="width:90%;margin:15px" />
@@ -237,7 +237,7 @@ The following figure shows how two objects are compared.</p>
 <img src="/img/blog/sorting-binary-data-2.png" style="width:80%;margin:15px" />
 </center>
 
-<p>The sort buffer compares two elements by comparing their binary fix-length sort keys. The comparison is successful if either done on a full key (not a prefix key) or if the binary prefix keys are not equal. If the prefix keys are equal (or the sort key data type does not provide a binary prefix key), the sort buffer follows the pointers to the actual object data, deserializes both objects and compares the objects. Depending on the result of the comparison, the sort algorithm decides whether to swap the compared elements or not. The sort buffer swaps two elements by moving their fix-length keys and pointers. The actual data is not moved. Once the sort algorithm finishes, the pointers in the sort buffer are correctly ordered. The following figure shows how the sorted data is returned from the sort buffer. </p>
+<p>The sort buffer compares two elements by comparing their binary fix-length sort keys. The comparison is successful if either done on a full key (not a prefix key) or if the binary prefix keys are not equal. If the prefix keys are equal (or the sort key data type does not provide a binary prefix key), the sort buffer follows the pointers to the actual object data, deserializes both objects and compares the objects. Depending on the result of the comparison, the sort algorithm decides whether to swap the compared elements or not. The sort buffer swaps two elements by moving their fix-length keys and pointers. The actual data is not moved. Once the sort algorithm finishes, the pointers in the sort buffer are correctly ordered. The following figure shows how the sorted data is returned from the sort buffer.</p>
 
 <center>
 <img src="/img/blog/sorting-binary-data-3.png" style="width:80%;margin:15px" />
@@ -255,7 +255,7 @@ The following figure shows how two objects are compared.</p>
   <li><strong>Kryo-serialized.</strong> The tuple fields are serialized into a sort buffer of 600 MB size using Kryo serialization and sorted without binary sort keys. This means that each pair-wise comparison requires two object to be deserialized.</li>
 </ol>
 
-<p>All sort methods are implemented using a single thread. The reported times are averaged over ten runs. After each run, we call <code>System.gc()</code> to request a garbage collection run which does not go into measured execution time. The following figure shows the time to store the input data in memory, sort it, and read it back as objects. </p>
+<p>All sort methods are implemented using a single thread. The reported times are averaged over ten runs. After each run, we call <code>System.gc()</code> to request a garbage collection run which does not go into measured execution time. The following figure shows the time to store the input data in memory, sort it, and read it back as objects.</p>
 
 <center>
 <img src="/img/blog/sort-benchmark.png" style="width:90%;margin:15px" />
@@ -313,13 +313,13 @@ The following figure shows how two objects are compared.</p>
 
 <p><br /></p>
 
-<p>To summarize, the experiments verify the previously stated benefits of operating on binary data. </p>
+<p>To summarize, the experiments verify the previously stated benefits of operating on binary data.</p>
 
 <h2 id="were-not-done-yet">We’re not done yet!</h2>
 
-<p>Apache Flink features quite a bit of advanced techniques to safely and efficiently process huge amounts of data with limited memory resources. However, there are a few points that could make Flink even more efficient. The Flink community is working on moving the managed memory to off-heap memory. This will allow for smaller JVMs, lower garbage collection overhead, and also easier system configuration. With Flink’s Table API, the semantics of all operations such as aggregations and projections are known (in contrast to black-box user-defined functions). Hence we can generate code for Table API operations that directly operates on binary data. Further improvements include serialization layouts which are tailored towards the operations that are applied on the binary data and code generation for serializers and comparators. </p>
+<p>Apache Flink features quite a bit of advanced techniques to safely and efficiently process huge amounts of data with limited memory resources. However, there are a few points that could make Flink even more efficient. The Flink community is working on moving the managed memory to off-heap memory. This will allow for smaller JVMs, lower garbage collection overhead, and also easier system configuration. With Flink’s Table API, the semantics of all operations such as aggregations and projections are known (in contrast to black-box user-defined functions). Hence we can generate code for Table API operations that directly operates on binary data. Further improvements include serialization layouts which are tailored towards the operations that are applied on the binary data and code generation for serializers and comparators.</p>
 
-<p>The groundwork (and a lot more) for operating on binary data is done but there is still some room for making Flink even better and faster. If you are crazy about performance and like to juggle with lot of bits and bytes, join the Flink community! </p>
+<p>The groundwork (and a lot more) for operating on binary data is done but there is still some room for making Flink even better and faster. If you are crazy about performance and like to juggle with lot of bits and bytes, join the Flink community!</p>
 
 <h2 id="tldr-give-me-three-things-to-remember">TL;DR; Give me three things to remember!</h2>
 

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/news/2015/05/14/Community-update-April.html
----------------------------------------------------------------------
diff --git a/content/news/2015/05/14/Community-update-April.html b/content/news/2015/05/14/Community-update-April.html
index 67844f1..7df01df 100644
--- a/content/news/2015/05/14/Community-update-April.html
+++ b/content/news/2015/05/14/Community-update-April.html
@@ -145,7 +145,7 @@
       <article>
         <p>14 May 2015 by Kostas Tzoumas (<a href="https://twitter.com/kostas_tzoumas">@kostas_tzoumas</a>)</p>
 
-<p>April was an packed month for Apache Flink. </p>
+<p>April was an packed month for Apache Flink.</p>
 
 <h2 id="flink-090-milestone1-release">Flink 0.9.0-milestone1 release</h2>
 
@@ -161,7 +161,7 @@
 
 <h2 id="flink-on-the-web">Flink on the web</h2>
 
-<p>Fabian Hueske gave an <a href="http://www.infoq.com/news/2015/04/hueske-apache-flink?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global">interview at InfoQ</a> on Apache Flink. </p>
+<p>Fabian Hueske gave an <a href="http://www.infoq.com/news/2015/04/hueske-apache-flink?utm_campaign=infoq_content&amp;utm_source=infoq&amp;utm_medium=feed&amp;utm_term=global">interview at InfoQ</a> on Apache Flink.</p>
 
 <h2 id="upcoming-events">Upcoming events</h2>
 


[50/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/best_practices.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/best_practices.html b/content/docs/0.9/apis/best_practices.html
deleted file mode 100644
index c677962..0000000
--- a/content/docs/0.9/apis/best_practices.html
+++ /dev/null
@@ -1,411 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Best Practices</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Best Practices</h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>This page contains a collection of best practices for Flink programmers on how to solve frequently encountered problems.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#parsing-command-line-arguments-and-passing-them-around-in-your-flink-application" id="markdown-toc-parsing-command-line-arguments-and-passing-them-around-in-your-flink-application">Parsing command line arguments and passing them around in your Flink application</a>    <ul>
-      <li><a href="#getting-your-configuration-values-into-the-parametertool" id="markdown-toc-getting-your-configuration-values-into-the-parametertool">Getting your configuration values into the <code>ParameterTool</code></a></li>
-      <li><a href="#using-the-parameters-in-your-flink-program" id="markdown-toc-using-the-parameters-in-your-flink-program">Using the parameters in your Flink program</a></li>
-    </ul>
-  </li>
-  <li><a href="#naming-large-tuplex-types" id="markdown-toc-naming-large-tuplex-types">Naming large TupleX types</a></li>
-  <li><a href="#register-a-custom-serializer-for-your-flink-program" id="markdown-toc-register-a-custom-serializer-for-your-flink-program">Register a custom serializer for your Flink program</a></li>
-</ul>
-
-<h2 id="parsing-command-line-arguments-and-passing-them-around-in-your-flink-application">Parsing command line arguments and passing them around in your Flink application</h2>
-
-<p>Almost all Flink applications, both batch and streaming rely on external configuration parameters.
-For example for specifying input and output sources (like paths or addresses), also system parameters (parallelism, runtime configuration) and application specific parameters (often used within the user functions).</p>
-
-<p>Since version 0.9 we are providing a simple utility called <code>ParameterTool</code> to provide at least some basic tooling for solving these problems.</p>
-
-<p>Please note that you don’t have to use the <code>ParameterTool</code> explained here. Other frameworks such as <a href="https://commons.apache.org/proper/commons-cli/">Commons CLI</a>,
-<a href="http://argparse4j.sourceforge.net/">argparse4j</a> and others work well with Flink as well.</p>
-
-<h3 id="getting-your-configuration-values-into-the-parametertool">Getting your configuration values into the <code>ParameterTool</code></h3>
-
-<p>The <code>ParameterTool</code> provides a set of predefined static methods for reading the configuration. The tool is internally expecting a <code>Map&lt;String, String&gt;</code>, so its very easy to integrate it with your own configuration style.</p>
-
-<h4 id="from-properties-files">From <code>.properties</code> files</h4>
-
-<p>The following method will read a <a href="https://docs.oracle.com/javase/tutorial/essential/environment/properties.html">Properties</a> file and provide the key/value pairs:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">String</span> <span class="n">propertiesFile</span> <span class="o">=</span> <span class="s">&quot;/home/sam/flink/myjob.properties&quot;</span><span class="o">;</span>
-<span class="n">ParameterTool</span> <span class="n">parameter</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromPropertiesFile</span><span class="o">(</span><span class="n">propertiesFile</span><span class="o">);</span></code></pre></div>
-
-<h4 id="from-the-command-line-arguments">From the command line arguments</h4>
-
-<p>This allows getting arguments like <code>--input hdfs:///mydata --elements 42</code> from the command line.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-	<span class="n">ParameterTool</span> <span class="n">parameter</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromArgs</span><span class="o">(</span><span class="n">args</span><span class="o">);</span>
-	<span class="c1">// .. regular code ..</span></code></pre></div>
-
-<h4 id="from-system-properties">From system properties</h4>
-
-<p>When starting a JVM, you can pass system properties to it: <code>-Dinput=hdfs:///mydata</code>. You can also initialize the <code>ParameterTool</code> from these system properties:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameter</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromSystemProperties</span><span class="o">();</span></code></pre></div>
-
-<h3 id="using-the-parameters-in-your-flink-program">Using the parameters in your Flink program</h3>
-
-<p>Now that we’ve got the parameters from somewhere (see above) we can use them in various ways.</p>
-
-<p><strong>Directly from the <code>ParameterTool</code></strong></p>
-
-<p>The <code>ParameterTool</code> itself has methods for accessing the values.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="c1">// ...</span>
-<span class="n">parameter</span><span class="o">.</span><span class="na">getRequired</span><span class="o">(</span><span class="s">&quot;input&quot;</span><span class="o">);</span>
-<span class="n">parameter</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">&quot;output&quot;</span><span class="o">,</span> <span class="s">&quot;myDefaultValue&quot;</span><span class="o">);</span>
-<span class="n">parameter</span><span class="o">.</span><span class="na">getLong</span><span class="o">(</span><span class="s">&quot;expectedCount&quot;</span><span class="o">,</span> <span class="o">-</span><span class="mi">1L</span><span class="o">);</span>
-<span class="n">parameter</span><span class="o">.</span><span class="na">getNumberOfParameters</span><span class="o">()</span>
-<span class="c1">// .. there are more methods available.</span></code></pre></div>
-
-<p>You can use the return values of these methods directly in the main() method (=the client submitting the application).
-For example you could set the parallelism of a operator like this:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromArgs</span><span class="o">(</span><span class="n">args</span><span class="o">);</span>
-<span class="kt">int</span> <span class="n">parallelism</span> <span class="o">=</span> <span class="n">parameters</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="s">&quot;mapParallelism&quot;</span><span class="o">,</span> <span class="mi">2</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">counts</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">()).</span><span class="na">setParallelism</span><span class="o">(</span><span class="n">parallelism</span><span class="o">);</span></code></pre></div>
-
-<p>Since the <code>ParameterTool</code> is serializable, you can pass it to the functions itself:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromArgs</span><span class="o">(</span><span class="n">args</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">counts</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">(</span><span class="n">parameters</span><span class="o">));</span></code></pre></div>
-
-<p>and then use them inside the function for getting values from the command line.</p>
-
-<h4 id="passing-it-as-a-configuration-object-to-single-functions">Passing it as a <code>Configuration</code> object to single functions</h4>
-
-<p>The example below shows how to pass the parameters as a <code>Configuration</code> object to a user defined function.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromArgs</span><span class="o">(</span><span class="n">args</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">counts</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">()).</span><span class="na">withParameters</span><span class="o">(</span><span class="n">parameters</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">())</span></code></pre></div>
-
-<p>In the <code>Tokenizer</code>, the object is now accessible in the <code>open(Configuration conf)</code> method:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Tokenizer</span> <span class="kd">extends</span> <span class="n">RichFlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-	<span class="nd">@Override</span>
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">open</span><span class="o">(</span><span class="n">Configuration</span> <span class="n">parameters</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-		<span class="n">parameters</span><span class="o">.</span><span class="na">getInteger</span><span class="o">(</span><span class="s">&quot;myInt&quot;</span><span class="o">,</span> <span class="o">-</span><span class="mi">1</span><span class="o">);</span>
-		<span class="c1">// .. do</span></code></pre></div>
-
-<h4 id="register-the-parameters-globally">Register the parameters globally</h4>
-
-<p>Parameters registered as a <a href="programming_guide.html#passing-parameters-to-functions">global job parameter</a> at the <code>ExecutionConfig</code> allow you to access the configuration values from the JobManager web interface and all functions defined by the user.</p>
-
-<p><strong>Register the parameters globally</strong></p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="n">ParameterTool</span><span class="o">.</span><span class="na">fromArgs</span><span class="o">(</span><span class="n">args</span><span class="o">);</span>
-
-<span class="c1">// set up the execution environment</span>
-<span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">setGlobalJobParameters</span><span class="o">(</span><span class="n">parameters</span><span class="o">);</span></code></pre></div>
-
-<p>Access them in any rich user function:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Tokenizer</span> <span class="kd">extends</span> <span class="n">RichFlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-	<span class="nd">@Override</span>
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-		<span class="n">ParameterTool</span> <span class="n">parameters</span> <span class="o">=</span> <span class="o">(</span><span class="n">ParameterTool</span><span class="o">)</span> <span class="n">getRuntimeContext</span><span class="o">().</span><span class="na">getExecutionConfig</span><span class="o">().</span><span class="na">getGlobalJobParameters</span><span class="o">();</span>
-		<span class="n">parameters</span><span class="o">.</span><span class="na">getRequired</span><span class="o">(</span><span class="s">&quot;input&quot;</span><span class="o">);</span>
-		<span class="c1">// .. do more ..</span></code></pre></div>
-
-<h2 id="naming-large-tuplex-types">Naming large TupleX types</h2>
-
-<p>It is recommended to use POJOs (Plain old Java objects) instead of <code>TupleX</code> for data types with many fields.
-Also, POJOs can be used to give large <code>Tuple</code>-types a name.</p>
-
-<p><strong>Example</strong></p>
-
-<p>Instead of using:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">Tuple11</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="o">...,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">var</span> <span class="o">=</span> <span class="k">new</span> <span class="o">...;</span></code></pre></div>
-
-<p>It is much easier to create a custom type extending from the large Tuple type.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">CustomType</span> <span class="n">var</span> <span class="o">=</span> <span class="k">new</span> <span class="o">...;</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">CustomType</span> <span class="kd">extends</span> <span class="n">Tuple11</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="o">...,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="o">{</span>
-    <span class="c1">// constructor matching super</span>
-<span class="o">}</span></code></pre></div>
-
-<h2 id="register-a-custom-serializer-for-your-flink-program">Register a custom serializer for your Flink program</h2>
-
-<p>If you use a custom type in your Flink program which cannot be serialized by the
-Flink type serializer, Flink falls back to using the generic Kryo
-serializer. You may register your own serializer or a serialization system like
-Google Protobuf or Apache Thrift with Kryo. To do that, simply register the type
-class and the serializer in the <code>ExecutionConfig</code> of your Flink program.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="c1">// register the class of the serializer as serializer for a type</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">registerTypeWithKryoSerializer</span><span class="o">(</span><span class="n">MyCustomType</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">MyCustomSerializer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-
-<span class="c1">// register an instance as serializer for a type</span>
-<span class="n">MySerializer</span> <span class="n">mySerializer</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">MySerializer</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">registerTypeWithKryoSerializer</span><span class="o">(</span><span class="n">MyCustomType</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">mySerializer</span><span class="o">);</span></code></pre></div>
-
-<p>Note that your custom serializer has to extend Kryo’s Serializer class. In the
-case of Google Protobuf or Apache Thrift, this has already been done for
-you:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="c1">// register the Google Protobuf serializer with Kryo</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">registerTypeWithKryoSerializer</span><span class="o">(</span><span class="n">MyCustomType</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">ProtobufSerializer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-
-<span class="c1">// register the serializer included with Apache Thrift as the standard serializer</span>
-<span class="c1">// TBaseSerializer states it should be initalized as a default Kryo serializer</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">addDefaultKryoSerializer</span><span class="o">(</span><span class="n">MyCustomType</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">TBaseSerializer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span></code></pre></div>
-
-<p>For the above example to work, you need to include the necessary dependencies in
-your Maven project file (pom.xml). In the dependency section, add the following
-for Apache Thrift:</p>
-
-<div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>com.twitter<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>chill-thrift<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>0.5.2<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="c">&lt;!-- libthrift is required by chill-thrift --&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>org.apache.thrift<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>libthrift<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>0.6.1<span class="nt">&lt;/version&gt;</span>
-	<span class="nt">&lt;exclusions&gt;</span>
-		<span class="nt">&lt;exclusion&gt;</span>
-			<span class="nt">&lt;groupId&gt;</span>javax.servlet<span class="nt">&lt;/groupId&gt;</span>
-			<span class="nt">&lt;artifactId&gt;</span>servlet-api<span class="nt">&lt;/artifactId&gt;</span>
-		<span class="nt">&lt;/exclusion&gt;</span>
-		<span class="nt">&lt;exclusion&gt;</span>
-			<span class="nt">&lt;groupId&gt;</span>org.apache.httpcomponents<span class="nt">&lt;/groupId&gt;</span>
-			<span class="nt">&lt;artifactId&gt;</span>httpclient<span class="nt">&lt;/artifactId&gt;</span>
-		<span class="nt">&lt;/exclusion&gt;</span>
-	<span class="nt">&lt;/exclusions&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<p>For Google Protobuf you need the following Maven dependency:</p>
-
-<div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>com.twitter<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>chill-protobuf<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>0.5.2<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="c">&lt;!-- We need protobuf for chill-protobuf --&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>com.google.protobuf<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>protobuf-java<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>2.5.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<p>Please adjust the versions of both libraries as needed.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/cli.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/cli.html b/content/docs/0.9/apis/cli.html
deleted file mode 100644
index cb55122..0000000
--- a/content/docs/0.9/apis/cli.html
+++ /dev/null
@@ -1,394 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Command-Line Interface</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Command-Line Interface</h1>
-
-
-
-<p>Flink provides a command-line interface to run programs that are packaged
-as JAR files, and control their execution.  The command line interface is part
-of any Flink setup, available in local single node setups and in
-distributed setups. It is located under <code>&lt;flink-home&gt;/bin/flink</code>
-and connects by default to the running Flink master (JobManager) that was
-started from the same installation directory.</p>
-
-<p>A prerequisite to using the command line interface is that the Flink
-master (JobManager) has been started (via <code>&lt;flink-home&gt;/bin/start-
-local.sh</code> or <code>&lt;flink-home&gt;/bin/start-cluster.sh</code>) or that a YARN
-environment is available.</p>
-
-<p>The command line can be used to</p>
-
-<ul id="markdown-toc">
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-  <li><a href="#usage" id="markdown-toc-usage">Usage</a></li>
-</ul>
-
-<h2 id="examples">Examples</h2>
-
-<ul>
-  <li>
-    <p>Run example program with no arguments.</p>
-
-    <div class="highlight"><pre><code>./bin/flink run ./examples/flink-java-examples-0.9.0-WordCount.jar
-</code></pre></div>
-  </li>
-  <li>
-    <p>Run example program with arguments for input and result files</p>
-
-    <div class="highlight"><pre><code>./bin/flink run ./examples/flink-java-examples-0.9.0-WordCount.jar \
-                       file:///home/user/hamlet.txt file:///home/user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>Run example program with parallelism 16 and arguments for input and result files</p>
-
-    <div class="highlight"><pre><code>./bin/flink run -p 16 ./examples/flink-java-examples-0.9.0-WordCount.jar \
-                        file:///home/user/hamlet.txt file:///home/user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>Run example program on a specific JobManager:</p>
-
-    <div class="highlight"><pre><code>./bin/flink run -m myJMHost:6123 \
-                       ./examples/flink-java-examples-0.9.0-WordCount.jar \
-                       file:///home/user/hamlet.txt file:///home/user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>Run example program with a specific class as an entry point:</p>
-
-    <div class="highlight"><pre><code>./bin/flink run -c org.apache.flink.examples.java.wordcount.WordCount \
-                       ./examples/flink-java-examples-0.9.0-WordCount.jar \
-                       file:///home/user/hamlet.txt file:///home/user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>Run example program using a <a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html#run-a-single-flink-job-on-hadoop-yarn">per-job YARN cluster</a> with 2 TaskManagers:</p>
-
-    <div class="highlight"><pre><code>./bin/flink run -m yarn-cluster -yn 2 \
-                       ./examples/flink-java-examples-0.9.0-WordCount.jar \
-                       hdfs:///user/hamlet.txt hdfs:///user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>Display the optimized execution plan for the WordCount example program as JSON:</p>
-
-    <div class="highlight"><pre><code>./bin/flink info ./examples/flink-java-examples-0.9.0-WordCount.jar \
-                        file:///home/user/hamlet.txt file:///home/user/wordcount_out
-</code></pre></div>
-  </li>
-  <li>
-    <p>List scheduled and running jobs (including their JobIDs):</p>
-
-    <div class="highlight"><pre><code>./bin/flink list
-</code></pre></div>
-  </li>
-  <li>
-    <p>List scheduled jobs (including their JobIDs):</p>
-
-    <div class="highlight"><pre><code>./bin/flink list -s
-</code></pre></div>
-  </li>
-  <li>
-    <p>List running jobs (including their JobIDs):</p>
-
-    <div class="highlight"><pre><code>./bin/flink list -r
-</code></pre></div>
-  </li>
-  <li>
-    <p>Cancel a job:</p>
-
-    <div class="highlight"><pre><code>./bin/flink cancel &lt;jobID&gt;
-</code></pre></div>
-  </li>
-</ul>
-
-<h2 id="usage">Usage</h2>
-
-<p>The command line syntax is as follows:</p>
-
-<div class="highlight"><pre><code>./flink &lt;ACTION&gt; [OPTIONS] [ARGUMENTS]
-
-The following actions are available:
-
-Action "run" compiles and runs a program.
-
-  Syntax: run [OPTIONS] &lt;jar-file&gt; &lt;arguments&gt;
-  "run" action options:
-     -c,--class &lt;classname&gt;           Class with the program entry point ("main"
-                                      method or "getPlan()" method. Only needed
-                                      if the JAR file does not specify the class
-                                      in its manifest.
-     -m,--jobmanager &lt;host:port&gt;      Address of the JobManager (master) to
-                                      which to connect. Specify 'yarn-cluster'
-                                      as the JobManager to deploy a YARN cluster
-                                      for the job. Use this flag to connect to a
-                                      different JobManager than the one
-                                      specified in the configuration.
-     -p,--parallelism &lt;parallelism&gt;   The parallelism with which to run the
-                                      program. Optional flag to override the
-                                      default value specified in the
-                                      configuration.
-  Additional arguments if -m yarn-cluster is set:
-     -yD &lt;arg&gt;                            Dynamic properties
-     -yd,--yarndetached                   Start detached
-     -yj,--yarnjar &lt;arg&gt;                  Path to Flink jar file
-     -yjm,--yarnjobManagerMemory &lt;arg&gt;    Memory for JobManager Container [in
-                                          MB]
-     -yn,--yarncontainer &lt;arg&gt;            Number of YARN container to allocate
-                                          (=Number of Task Managers)
-     -yq,--yarnquery                      Display available YARN resources
-                                          (memory, cores)
-     -yqu,--yarnqueue &lt;arg&gt;               Specify YARN queue.
-     -ys,--yarnslots &lt;arg&gt;                Number of slots per TaskManager
-     -yt,--yarnship &lt;arg&gt;                 Ship files in the specified directory
-                                          (t for transfer)
-     -ytm,--yarntaskManagerMemory &lt;arg&gt;   Memory per TaskManager Container [in
-                                          MB]
-
-
-Action "info" shows the optimized execution plan of the program (JSON).
-
-  Syntax: info [OPTIONS] &lt;jar-file&gt; &lt;arguments&gt;
-  "info" action options:
-     -c,--class &lt;classname&gt;           Class with the program entry point ("main"
-                                      method or "getPlan()" method. Only needed
-                                      if the JAR file does not specify the class
-                                      in its manifest.
-     -m,--jobmanager &lt;host:port&gt;      Address of the JobManager (master) to
-                                      which to connect. Specify 'yarn-cluster'
-                                      as the JobManager to deploy a YARN cluster
-                                      for the job. Use this flag to connect to a
-                                      different JobManager than the one
-                                      specified in the configuration.
-     -p,--parallelism &lt;parallelism&gt;   The parallelism with which to run the
-                                      program. Optional flag to override the
-                                      default value specified in the
-                                      configuration.
-
-
-Action "list" lists running and scheduled programs.
-
-  Syntax: list [OPTIONS]
-  "list" action options:
-     -m,--jobmanager &lt;host:port&gt;   Address of the JobManager (master) to which
-                                   to connect. Specify 'yarn-cluster' as the
-                                   JobManager to deploy a YARN cluster for the
-                                   job. Use this flag to connect to a different
-                                   JobManager than the one specified in the
-                                   configuration.
-     -r,--running                  Show only running programs and their JobIDs
-     -s,--scheduled                Show only scheduled programs and their JobIDs
-
-
-Action "cancel" cancels a running program.
-
-  Syntax: cancel [OPTIONS] &lt;Job ID&gt;
-  "cancel" action options:
-     -m,--jobmanager &lt;host:port&gt;   Address of the JobManager (master) to which
-                                   to connect. Specify 'yarn-cluster' as the
-                                   JobManager to deploy a YARN cluster for the
-                                   job. Use this flag to connect to a different
-                                   JobManager than the one specified in the
-                                   configuration.
-</code></pre></div>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/cluster_execution.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/cluster_execution.html b/content/docs/0.9/apis/cluster_execution.html
deleted file mode 100644
index f4be55c..0000000
--- a/content/docs/0.9/apis/cluster_execution.html
+++ /dev/null
@@ -1,345 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Cluster Execution</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Cluster Execution</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#command-line-interface" id="markdown-toc-command-line-interface">Command Line Interface</a></li>
-  <li><a href="#remote-environment" id="markdown-toc-remote-environment">Remote Environment</a>    <ul>
-      <li><a href="#maven-dependency" id="markdown-toc-maven-dependency">Maven Dependency</a></li>
-      <li><a href="#example" id="markdown-toc-example">Example</a></li>
-    </ul>
-  </li>
-  <li><a href="#linking-with-modules-not-contained-in-the-binary-distribution" id="markdown-toc-linking-with-modules-not-contained-in-the-binary-distribution">Linking with modules not contained in the binary distribution</a>    <ul>
-      <li><a href="#packaging-dependencies-with-your-usercode-with-maven" id="markdown-toc-packaging-dependencies-with-your-usercode-with-maven">Packaging dependencies with your usercode with Maven</a></li>
-    </ul>
-  </li>
-</ul>
-
-<p>Flink programs can run distributed on clusters of many machines. There
-are two ways to send a program to a cluster for execution:</p>
-
-<h2 id="command-line-interface">Command Line Interface</h2>
-
-<p>The command line interface lets you submit packaged programs (JARs) to a cluster
-(or single machine setup).</p>
-
-<p>Please refer to the <a href="cli.html">Command Line Interface</a> documentation for
-details.</p>
-
-<h2 id="remote-environment">Remote Environment</h2>
-
-<p>The remote environment lets you execute Flink Java programs on a cluster
-directly. The remote environment points to the cluster on which you want to
-execute the program.</p>
-
-<h3 id="maven-dependency">Maven Dependency</h3>
-
-<p>If you are developing your program as a Maven project, you have to add the
-<code>flink-clients</code> module using this dependency:</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<h3 id="example">Example</h3>
-
-<p>The following illustrates the use of the <code>RemoteEnvironment</code>:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span>
-        <span class="o">.</span><span class="na">createRemoteEnvironment</span><span class="o">(</span><span class="s">&quot;flink-master&quot;</span><span class="o">,</span> <span class="mi">6123</span><span class="o">,</span> <span class="s">&quot;/home/user/udfs.jar&quot;</span><span class="o">);</span>
-
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">data</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readTextFile</span><span class="o">(</span><span class="s">&quot;hdfs://path/to/file&quot;</span><span class="o">);</span>
-
-    <span class="n">data</span>
-        <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="s">&quot;http://&quot;</span><span class="o">);</span>
-            <span class="o">}</span>
-        <span class="o">})</span>
-        <span class="o">.</span><span class="na">writeAsText</span><span class="o">(</span><span class="s">&quot;hdfs://path/to/result&quot;</span><span class="o">);</span>
-
-    <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">();</span>
-<span class="o">}</span></code></pre></div>
-
-<p>Note that the program contains custom user code and hence requires a JAR file with
-the classes of the code attached. The constructor of the remote environment
-takes the path(s) to the JAR file(s).</p>
-
-<h2 id="linking-with-modules-not-contained-in-the-binary-distribution">Linking with modules not contained in the binary distribution</h2>
-
-<p>The binary distribution contains jar packages in the <code>lib</code> folder that are automatically
-provided to the classpath of your distrbuted programs. Almost all of Flink classes are
-located there with a few exceptions, for example the streaming connectors and some freshly
-added modules. To run code depending on these modules you need to make them accessible
-during runtime, for which we suggest two options:</p>
-
-<ol>
-  <li>Either copy the required jar files to the <code>lib</code> folder onto all of your TaskManagers.
-Note that you have to restar your TaskManagers after this.</li>
-  <li>Or package them with your usercode.</li>
-</ol>
-
-<p>The latter version is recommended as it respects the classloader management in Flink.</p>
-
-<h3 id="packaging-dependencies-with-your-usercode-with-maven">Packaging dependencies with your usercode with Maven</h3>
-
-<p>To provide these dependencies not included by Flink we suggest two options with Maven.</p>
-
-<ol>
-  <li>The maven assembly plugin builds a so called fat jar cointaining all your dependencies.
-Assembly configuration is straight-forward, but the resulting jar might become bulky. See 
-<a href="http://maven.apache.org/plugins/maven-assembly-plugin/usage.html">usage</a>.</li>
-  <li>The maven unpack plugin, for unpacking the relevant parts of the dependencies and
-then package it with your code.</li>
-</ol>
-
-<p>Using the latter approach in order to bundle the Kafka connector, <code>flink-connector-kafka</code>
-you would need to add the classes from both the connector and the Kafka API itself. Add
-the following to your plugins section.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;plugin&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.maven.plugins<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>maven-dependency-plugin<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>2.9<span class="nt">&lt;/version&gt;</span>
-    <span class="nt">&lt;executions&gt;</span>
-        <span class="nt">&lt;execution&gt;</span>
-            <span class="nt">&lt;id&gt;</span>unpack<span class="nt">&lt;/id&gt;</span>
-            <span class="c">&lt;!-- executed just before the package phase --&gt;</span>
-            <span class="nt">&lt;phase&gt;</span>prepare-package<span class="nt">&lt;/phase&gt;</span>
-            <span class="nt">&lt;goals&gt;</span>
-                <span class="nt">&lt;goal&gt;</span>unpack<span class="nt">&lt;/goal&gt;</span>
-            <span class="nt">&lt;/goals&gt;</span>
-            <span class="nt">&lt;configuration&gt;</span>
-                <span class="nt">&lt;artifactItems&gt;</span>
-                    <span class="c">&lt;!-- For Flink connector classes --&gt;</span>
-                    <span class="nt">&lt;artifactItem&gt;</span>
-                        <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-                        <span class="nt">&lt;artifactId&gt;</span>flink-connector-kafka<span class="nt">&lt;/artifactId&gt;</span>
-                        <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-                        <span class="nt">&lt;type&gt;</span>jar<span class="nt">&lt;/type&gt;</span>
-                        <span class="nt">&lt;overWrite&gt;</span>false<span class="nt">&lt;/overWrite&gt;</span>
-                        <span class="nt">&lt;outputDirectory&gt;</span>${project.build.directory}/classes<span class="nt">&lt;/outputDirectory&gt;</span>
-                        <span class="nt">&lt;includes&gt;</span>org/apache/flink/**<span class="nt">&lt;/includes&gt;</span>
-                    <span class="nt">&lt;/artifactItem&gt;</span>
-                    <span class="c">&lt;!-- For Kafka API classes --&gt;</span>
-                    <span class="nt">&lt;artifactItem&gt;</span>
-                        <span class="nt">&lt;groupId&gt;</span>org.apache.kafka<span class="nt">&lt;/groupId&gt;</span>
-                        <span class="nt">&lt;artifactId&gt;</span>kafka_<span class="nt">&lt;YOUR_SCALA_VERSION&gt;&lt;/artifactId&gt;</span>
-                        <span class="nt">&lt;version&gt;&lt;YOUR_KAFKA_VERSION&gt;&lt;/version&gt;</span>
-                        <span class="nt">&lt;type&gt;</span>jar<span class="nt">&lt;/type&gt;</span>
-                        <span class="nt">&lt;overWrite&gt;</span>false<span class="nt">&lt;/overWrite&gt;</span>
-                        <span class="nt">&lt;outputDirectory&gt;</span>${project.build.directory}/classes<span class="nt">&lt;/outputDirectory&gt;</span>
-                        <span class="nt">&lt;includes&gt;</span>kafka/**<span class="nt">&lt;/includes&gt;</span>
-                    <span class="nt">&lt;/artifactItem&gt;</span>
-                <span class="nt">&lt;/artifactItems&gt;</span>
-            <span class="nt">&lt;/configuration&gt;</span>
-        <span class="nt">&lt;/execution&gt;</span>
-    <span class="nt">&lt;/executions&gt;</span>
-<span class="nt">&lt;/plugin&gt;</span></code></pre></div>
-
-<p>Now when running <code>mvn clean package</code> the produced jar includes the required dependencies.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[41/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/web_client.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/web_client.html b/content/docs/0.9/apis/web_client.html
deleted file mode 100644
index 11b3f5b..0000000
--- a/content/docs/0.9/apis/web_client.html
+++ /dev/null
@@ -1,272 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Web Client</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Web Client</h1>
-
-
-
-<p>Flink provides a web interface to upload jobs, inspect their execution plans, and execute them. The interface is a great tool to showcase programs, debug execution plans, or demonstrate the system as a whole.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#starting-stopping-and-configuring-the-web-interface" id="markdown-toc-starting-stopping-and-configuring-the-web-interface">Starting, Stopping, and Configuring the Web Interface</a></li>
-  <li><a href="#using-the-web-interface" id="markdown-toc-using-the-web-interface">Using the Web Interface</a>    <ul>
-      <li><a href="#job-view" id="markdown-toc-job-view">Job View</a></li>
-      <li><a href="#plan-view" id="markdown-toc-plan-view">Plan View</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="starting-stopping-and-configuring-the-web-interface">Starting, Stopping, and Configuring the Web Interface</h2>
-
-<p>Start the web interface by executing:</p>
-
-<div class="highlight"><pre><code>./bin/start-webclient.sh
-</code></pre></div>
-
-<p>and stop it by calling:</p>
-
-<div class="highlight"><pre><code>./bin/stop-webclient.sh
-</code></pre></div>
-
-<p>The web interface runs on port 8080 by default. To specify a custom port set the <code>webclient.port</code> property in the <em>./conf/flink.yaml</em> configuration file. Jobs are submitted to the JobManager specified by <code>jobmanager.rpc.address</code> and <code>jobmanager.rpc.port</code>. Please consult the <a href="http://flink.apache.org/docs/0.9/setup/config.html#webclient">configuration</a> page for details and further configuration options.</p>
-
-<h2 id="using-the-web-interface">Using the Web Interface</h2>
-
-<p>The web interface provides two views:</p>
-
-<ol>
-  <li>The <strong>job view</strong> to upload, preview, and submit Flink programs.</li>
-  <li>The <strong>plan view</strong> to analyze the optimized execution plans of Flink programs.</li>
-</ol>
-
-<h3 id="job-view">Job View</h3>
-
-<p>The interface starts serving the job view.</p>
-
-<p>You can <strong>upload</strong> a Flink program as a jar file. To <strong>execute</strong> an uploaded program:</p>
-
-<ul>
-  <li>select it from the job list on the left,</li>
-  <li>enter the program arguments in the <em>“Arguments”</em> field (bottom left), and</li>
-  <li>click on the <em>“Run Job”</em> button (bottom right).</li>
-</ul>
-
-<p>If the <em>“Show optimizer plan”</em> option is enabled (default), the <em>plan view</em> is display next, otherwise the job is directly submitted to the JobManager for execution.</p>
-
-<p>In case the jar’s manifest file does not specify the program class, you can specify it before the argument list as:</p>
-
-<p><code>
--c &lt;assemblerClass&gt; &lt;programArgs...&gt;
-</code></p>
-
-<h3 id="plan-view">Plan View</h3>
-
-<p>The plan view shows the optimized execution plan of the submitted program in the upper half of the page. The bottom part of the page displays detailed information about the currently selected plan operator including:</p>
-
-<ul>
-  <li>the chosen shipping strategies (local forward, hash partition, range partition, broadcast, …),</li>
-  <li>the chosen local strategy (sort, hash join, merge join, …),</li>
-  <li>inferred data properties (partitioning, grouping, sorting), and</li>
-  <li>used optimizer estimates (data size, I/O and network costs, …).</li>
-</ul>
-
-<p>To submit the job for execution, click again on the <em>“Run Job”</em> button in the bottom right.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/build_docs.sh
----------------------------------------------------------------------
diff --git a/content/docs/0.9/build_docs.sh b/content/docs/0.9/build_docs.sh
deleted file mode 100755
index b65f7c9..0000000
--- a/content/docs/0.9/build_docs.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env bash
-################################################################################
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-# limitations under the License.
-################################################################################
-
-
-HAS_JEKYLL=true
-
-command -v jekyll > /dev/null
-if [ $? -ne 0 ]; then
-	echo -n "ERROR: Could not find jekyll. "
-	echo "Please install with 'gem install jekyll' (see http://jekyllrb.com)."
-
-	HAS_JEKYLL=false
-fi
-
-command -v redcarpet > /dev/null
-if [ $? -ne 0 ]; then
-	echo -n "WARN: Could not find redcarpet. "
-	echo -n "Please install with 'sudo gem install redcarpet' (see https://github.com/vmg/redcarpet). "
-	echo "Redcarpet is needed for Markdown parsing and table of contents generation."
-fi
-
-command -v pygmentize > /dev/null
-if [ $? -ne 0 ]; then
-	echo -n "WARN: Could not find pygments. "
-	echo -n "Please install with 'sudo easy_install Pygments' (requires Python; see http://pygments.org). "
-	echo "Pygments is needed for syntax highlighting of the code examples."
-fi
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-DOCS_SRC=${DIR}
-DOCS_DST=${DOCS_SRC}/target
-
-# default jekyll command is to just build site
-JEKYLL_CMD="build"
-
-# if -p flag is provided, serve site on localhost
-while getopts ":p" opt; do
-	case $opt in
-		p)
-		JEKYLL_CMD="serve --baseurl "" --watch"
-		;;
-	esac
-done
-
-if $HAS_JEKYLL; then
-	jekyll ${JEKYLL_CMD} --source ${DOCS_SRC} --destination ${DOCS_DST}
-fi

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/faq.html b/content/docs/0.9/faq.html
deleted file mode 100644
index 6926906..0000000
--- a/content/docs/0.9/faq.html
+++ /dev/null
@@ -1,606 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Frequently Asked Questions (FAQ)</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Frequently Asked Questions (FAQ)</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#general" id="markdown-toc-general">General</a>    <ul>
-      <li><a href="#is-flink-a-hadoop-project" id="markdown-toc-is-flink-a-hadoop-project">Is Flink a Hadoop Project?</a></li>
-      <li><a href="#do-i-have-to-install-apache-hadoop-to-use-flink" id="markdown-toc-do-i-have-to-install-apache-hadoop-to-use-flink">Do I have to install Apache Hadoop to use Flink?</a></li>
-    </ul>
-  </li>
-  <li><a href="#usage" id="markdown-toc-usage">Usage</a>    <ul>
-      <li><a href="#how-do-i-assess-the-progress-of-a-flink-program" id="markdown-toc-how-do-i-assess-the-progress-of-a-flink-program">How do I assess the progress of a Flink program?</a></li>
-      <li><a href="#how-can-i-figure-out-why-a-program-failed" id="markdown-toc-how-can-i-figure-out-why-a-program-failed">How can I figure out why a program failed?</a></li>
-      <li><a href="#how-do-i-debug-flink-programs" id="markdown-toc-how-do-i-debug-flink-programs">How do I debug Flink programs?</a></li>
-      <li><a href="#what-is-the-parallelism-how-do-i-set-it" id="markdown-toc-what-is-the-parallelism-how-do-i-set-it">What is the parallelism? How do I set it?</a></li>
-    </ul>
-  </li>
-  <li><a href="#errors" id="markdown-toc-errors">Errors</a>    <ul>
-      <li><a href="#why-am-i-getting-a-nonserializableexception-" id="markdown-toc-why-am-i-getting-a-nonserializableexception-">Why am I getting a “NonSerializableException” ?</a></li>
-      <li><a href="#in-scala-api-i-get-an-error-about-implicit-values-and-evidence-parameters" id="markdown-toc-in-scala-api-i-get-an-error-about-implicit-values-and-evidence-parameters">In Scala API, I get an error about implicit values and evidence parameters</a></li>
-      <li><a href="#i-get-an-error-message-saying-that-not-enough-buffers-are-available-how-do-i-fix-this" id="markdown-toc-i-get-an-error-message-saying-that-not-enough-buffers-are-available-how-do-i-fix-this">I get an error message saying that not enough buffers are available. How do I fix this?</a></li>
-      <li><a href="#my-job-fails-early-with-a-javaioeofexception-what-could-be-the-cause" id="markdown-toc-my-job-fails-early-with-a-javaioeofexception-what-could-be-the-cause">My job fails early with a java.io.EOFException. What could be the cause?</a></li>
-      <li><a href="#in-eclipse-i-get-compilation-errors-in-the-scala-projects" id="markdown-toc-in-eclipse-i-get-compilation-errors-in-the-scala-projects">In Eclipse, I get compilation errors in the Scala projects</a></li>
-      <li><a href="#my-program-does-not-compute-the-correct-result-why-are-my-custom-key-types" id="markdown-toc-my-program-does-not-compute-the-correct-result-why-are-my-custom-key-types">My program does not compute the correct result. Why are my custom key types</a></li>
-      <li><a href="#i-get-a-javalanginstantiationexception-for-my-data-type-what-is-wrong" id="markdown-toc-i-get-a-javalanginstantiationexception-for-my-data-type-what-is-wrong">I get a java.lang.InstantiationException for my data type, what is wrong?</a></li>
-      <li><a href="#i-cant-stop-flink-with-the-provided-stop-scripts-what-can-i-do" id="markdown-toc-i-cant-stop-flink-with-the-provided-stop-scripts-what-can-i-do">I can’t stop Flink with the provided stop-scripts. What can I do?</a></li>
-      <li><a href="#i-got-an-outofmemoryexception-what-can-i-do" id="markdown-toc-i-got-an-outofmemoryexception-what-can-i-do">I got an OutOfMemoryException. What can I do?</a></li>
-      <li><a href="#why-do-the-taskmanager-log-files-become-so-huge" id="markdown-toc-why-do-the-taskmanager-log-files-become-so-huge">Why do the TaskManager log files become so huge?</a></li>
-    </ul>
-  </li>
-  <li><a href="#yarn-deployment" id="markdown-toc-yarn-deployment">YARN Deployment</a>    <ul>
-      <li><a href="#the-yarn-session-runs-only-for-a-few-seconds" id="markdown-toc-the-yarn-session-runs-only-for-a-few-seconds">The YARN session runs only for a few seconds</a></li>
-      <li><a href="#the-yarn-session-crashes-with-a-hdfs-permission-exception-during-startup" id="markdown-toc-the-yarn-session-crashes-with-a-hdfs-permission-exception-during-startup">The YARN session crashes with a HDFS permission exception during startup</a></li>
-    </ul>
-  </li>
-  <li><a href="#features" id="markdown-toc-features">Features</a>    <ul>
-      <li><a href="#what-kind-of-fault-tolerance-does-flink-provide" id="markdown-toc-what-kind-of-fault-tolerance-does-flink-provide">What kind of fault-tolerance does Flink provide?</a></li>
-      <li><a href="#are-hadoop-like-utilities-such-as-counters-and-the-distributedcache-supported" id="markdown-toc-are-hadoop-like-utilities-such-as-counters-and-the-distributedcache-supported">Are Hadoop-like utilities, such as Counters and the DistributedCache supported?</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="general">General</h2>
-
-<h3 id="is-flink-a-hadoop-project">Is Flink a Hadoop Project?</h3>
-
-<p>Flink is a data processing system and an alternative to Hadoop’s
-MapReduce component. It comes with its own runtime, rather than building on top
-of MapReduce. As such, it can work completely independently of the Hadoop
-ecosystem. However, Flink can also access Hadoop’s distributed file
-system (HDFS) to read and write data, and Hadoop’s next-generation resource
-manager (YARN) to provision cluster resources. Since most Flink users are
-using Hadoop HDFS to store their data, we ship already the required libraries to
-access HDFS.</p>
-
-<h3 id="do-i-have-to-install-apache-hadoop-to-use-flink">Do I have to install Apache Hadoop to use Flink?</h3>
-
-<p>No. Flink can run without a Hadoop installation. However, a very common
-setup is to use Flink to analyze data stored in the Hadoop Distributed
-File System (HDFS). To make these setups work out of the box, we bundle the
-Hadoop client libraries with Flink by default.</p>
-
-<p>Additionally, we provide a special YARN Enabled download of Flink for
-users with an existing Hadoop YARN cluster. <a href="http://hadoop.apache.org/docs/r2.2.0/hadoop-yarn/hadoop-yarn-site/YARN.html">Apache Hadoop
-YARN</a> 
-is Hadoop’s cluster resource manager that allows to use
-different execution engines next to each other on a cluster.</p>
-
-<h2 id="usage">Usage</h2>
-
-<h3 id="how-do-i-assess-the-progress-of-a-flink-program">How do I assess the progress of a Flink program?</h3>
-
-<p>There are a multiple of ways to track the progress of a Flink program:</p>
-
-<ul>
-  <li>The JobManager (the master of the distributed system) starts a web interface
-to observe program execution. In runs on port 8081 by default (configured in
-<code>conf/flink-config.yml</code>).</li>
-  <li>When you start a program from the command line, it will print the status
-changes of all operators as the program progresses through the operations.</li>
-  <li>All status changes are also logged to the JobManager’s log file.</li>
-</ul>
-
-<h3 id="how-can-i-figure-out-why-a-program-failed">How can I figure out why a program failed?</h3>
-
-<ul>
-  <li>The JobManager web frontend (by default on port 8081) displays the exceptions
-of failed tasks.</li>
-  <li>If you run the program from the command-line, task exceptions are printed to
-the standard error stream and shown on the console.</li>
-  <li>Both the command line and the web interface allow you to figure out which
-parallel task first failed and caused the other tasks to cancel the execution.</li>
-  <li>Failing tasks and the corresponding exceptions are reported in the log files
-of the master and the worker where the exception occurred
-(<code>log/flink-&lt;user&gt;-jobmanager-&lt;host&gt;.log</code> and
-<code>log/flink-&lt;user&gt;-taskmanager-&lt;host&gt;.log</code>).</li>
-</ul>
-
-<h3 id="how-do-i-debug-flink-programs">How do I debug Flink programs?</h3>
-
-<ul>
-  <li>When you start a program locally with the <a href="local_execution.html">LocalExecutor</a>,
-you can place breakpoints in your functions and debug them like normal
-Java/Scala programs.</li>
-  <li>The <a href="programming_guide.html#accumulators--counters">Accumulators</a> are very helpful in
-tracking the behavior of the parallel execution. They allow you to gather
-information inside the program’s operations and show them after the program
-execution.</li>
-</ul>
-
-<h3 id="what-is-the-parallelism-how-do-i-set-it">What is the parallelism? How do I set it?</h3>
-
-<p>In Flink programs, the parallelism determines how operations are split into
-individual tasks which are assigned to task slots. Each node in a cluster has at
-least one task slot. The total number of task slots is the number of all task slots
-on all machines. If the parallelism is set to <code>N</code>, Flink tries to divide an
-operation into <code>N</code> parallel tasks which can be computed concurrently using the
-available task slots. The number of task slots should be equal to the
-parallelism to ensure that all tasks can be computed in a task slot concurrently.</p>
-
-<p><strong>Note</strong>: Not all operations can be divided into multiple tasks. For example, a
-<code>GroupReduce</code> operation without a grouping has to be performed with a
-parallelism of 1 because the entire group needs to be present at exactly one
-node to perform the reduce operation. Flink will determine whether the
-parallelism has to be 1 and set it accordingly.</p>
-
-<p>The parallelism can be set in numerous ways to ensure a fine-grained control
-over the execution of a Flink program. See
-the <a href="setup/config.html#common-options">Configuration guide</a> for detailed instructions on how to
-set the parallelism. Also check out <a href="setup/config.html#configuring-taskmanager-processing-slots">this figure</a> detailing
-how the processing slots and parallelism are related to each other.</p>
-
-<h2 id="errors">Errors</h2>
-
-<h3 id="why-am-i-getting-a-nonserializableexception-">Why am I getting a “NonSerializableException” ?</h3>
-
-<p>All functions in Flink must be serializable, as defined by <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html">java.io.Serializable</a>.
-Since all function interfaces are serializable, the exception means that one
-of the fields used in your function is not serializable.</p>
-
-<p>In particular, if your function is an inner class, or anonymous inner class,
-it contains a hidden reference to the enclosing class (usually called <code>this$0</code>, if you look
-at the function in the debugger). If the enclosing class is not serializable, this is probably
-the source of the error. Solutions are to</p>
-
-<ul>
-  <li>make the function a standalone class, or a static inner class (no more reference to the enclosing class)</li>
-  <li>make the enclosing class serializable</li>
-  <li>use a Java 8 lambda function.</li>
-</ul>
-
-<h3 id="in-scala-api-i-get-an-error-about-implicit-values-and-evidence-parameters">In Scala API, I get an error about implicit values and evidence parameters</h3>
-
-<p>It means that the implicit value for the type information could not be provided.
-Make sure that you have an <code>import org.apache.flink.api.scala._</code> statement in your code.</p>
-
-<p>If you are using flink operations inside functions or classes that take
-generic parameters a TypeInformation must be available for that parameter.
-This can be achieved by using a context bound:</p>
-
-<div class="highlight"><pre><code class="language-scala"><span class="k">def</span> <span class="n">myFunction</span><span class="o">[</span><span class="kt">T:</span> <span class="kt">TypeInformation</span><span class="o">](</span><span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">T</span><span class="o">])</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Seq</span><span class="o">[</span><span class="kt">T</span><span class="o">]]</span> <span class="k">=</span> <span class="o">{</span>
-  <span class="n">input</span><span class="o">.</span><span class="n">reduceGroup</span><span class="o">(</span> <span class="n">i</span> <span class="k">=&gt;</span> <span class="n">i</span><span class="o">.</span><span class="n">toSeq</span> <span class="o">)</span>
-<span class="o">}</span></code></pre></div>
-
-<p>See <a href="internal_types_serialization.html">Type Extraction and Serialization</a> for
-an in-depth discussion of how Flink handles types.</p>
-
-<h3 id="i-get-an-error-message-saying-that-not-enough-buffers-are-available-how-do-i-fix-this">I get an error message saying that not enough buffers are available. How do I fix this?</h3>
-
-<p>If you run Flink in a massively parallel setting (100+ parallel threads),
-you need to adapt the number of network buffers via the config parameter
-<code>taskmanager.network.numberOfBuffers</code>.
-As a rule-of-thumb, the number of buffers should be at least
-<code>4 * numberOfNodes * numberOfTasksPerNode^2</code>. See
-<a href="setup/config.html">Configuration Reference</a> for details.</p>
-
-<h3 id="my-job-fails-early-with-a-javaioeofexception-what-could-be-the-cause">My job fails early with a java.io.EOFException. What could be the cause?</h3>
-
-<p>The most common case for these exception is when Flink is set up with the
-wrong HDFS version. Because different HDFS versions are often not compatible
-with each other, the connection between the filesystem master and the client
-breaks.</p>
-
-<div class="highlight"><pre><code class="language-bash">Call to &lt;host:port&gt; failed on <span class="nb">local </span>exception: java.io.EOFException
-    at org.apache.hadoop.ipc.Client.wrapException<span class="o">(</span>Client.java:775<span class="o">)</span>
-    at org.apache.hadoop.ipc.Client.call<span class="o">(</span>Client.java:743<span class="o">)</span>
-    at org.apache.hadoop.ipc.RPC<span class="nv">$Invoker</span>.invoke<span class="o">(</span>RPC.java:220<span class="o">)</span>
-    at <span class="nv">$Proxy0</span>.getProtocolVersion<span class="o">(</span>Unknown Source<span class="o">)</span>
-    at org.apache.hadoop.ipc.RPC.getProxy<span class="o">(</span>RPC.java:359<span class="o">)</span>
-    at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode<span class="o">(</span>DFSClient.java:106<span class="o">)</span>
-    at org.apache.hadoop.hdfs.DFSClient.&lt;init&gt;<span class="o">(</span>DFSClient.java:207<span class="o">)</span>
-    at org.apache.hadoop.hdfs.DFSClient.&lt;init&gt;<span class="o">(</span>DFSClient.java:170<span class="o">)</span>
-    at org.apache.hadoop.hdfs.DistributedFileSystem.initialize<span class="o">(</span>DistributedFileSystem.java:82<span class="o">)</span>
-    at org.apache.flinkruntime.fs.hdfs.DistributedFileSystem.initialize<span class="o">(</span>DistributedFileSystem.java:276</code></pre></div>
-
-<p>Please refer to the <a href="http://flink.apache.org/docs/0.9/downloads.html#maven">download page</a> and
-the <a href="https://github.com/apache/flink/blob/master/README.md">build instructions</a>
-for details on how to set up Flink for different Hadoop and HDFS versions.</p>
-
-<h3 id="in-eclipse-i-get-compilation-errors-in-the-scala-projects">In Eclipse, I get compilation errors in the Scala projects</h3>
-
-<p>Flink uses a new feature of the Scala compiler (called “quasiquotes”) that have not yet been properly
-integrated with the Eclipse Scala plugin. In order to make this feature available in Eclipse, you
-need to manually configure the <em>flink-scala</em> project to use a <em>compiler plugin</em>:</p>
-
-<ul>
-  <li>Right click on <em>flink-scala</em> and choose “Properties”</li>
-  <li>Select “Scala Compiler” and click on the “Advanced” tab. (If you do not have that, you probably have not set up Eclipse for Scala properly.)</li>
-  <li>Check the box “Use Project Settings”</li>
-  <li>In the field “Xplugin”, put the path “/home/<user-name>/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar"</user-name></li>
-  <li>NOTE: You have to build Flink with Maven on the command line first, to make sure the plugin is downloaded.</li>
-</ul>
-
-<h3 id="my-program-does-not-compute-the-correct-result-why-are-my-custom-key-types">My program does not compute the correct result. Why are my custom key types</h3>
-<p>are not grouped/joined correctly?</p>
-
-<p>Keys must correctly implement the methods <code>java.lang.Object#hashCode()</code>,
-<code>java.lang.Object#equals(Object o)</code>, and <code>java.util.Comparable#compareTo(...)</code>.
-These methods are always backed with default implementations which are usually
-inadequate. Therefore, all keys must override <code>hashCode()</code> and <code>equals(Object o)</code>.</p>
-
-<h3 id="i-get-a-javalanginstantiationexception-for-my-data-type-what-is-wrong">I get a java.lang.InstantiationException for my data type, what is wrong?</h3>
-
-<p>All data type classes must be public and have a public nullary constructor
-(constructor with no arguments). Further more, the classes must not be abstract
-or interfaces. If the classes are internal classes, they must be public and
-static.</p>
-
-<h3 id="i-cant-stop-flink-with-the-provided-stop-scripts-what-can-i-do">I can’t stop Flink with the provided stop-scripts. What can I do?</h3>
-
-<p>Stopping the processes sometimes takes a few seconds, because the shutdown may
-do some cleanup work.</p>
-
-<p>In some error cases it happens that the JobManager or TaskManager cannot be
-stopped with the provided stop-scripts (<code>bin/stop-local.sh</code> or <code>bin/stop-
-cluster.sh</code>). You can kill their processes on Linux/Mac as follows:</p>
-
-<ul>
-  <li>Determine the process id (pid) of the JobManager / TaskManager process. You
-can use the <code>jps</code> command on Linux(if you have OpenJDK installed) or command
-<code>ps -ef | grep java</code> to find all Java processes.</li>
-  <li>Kill the process with <code>kill -9 &lt;pid&gt;</code>, where <code>pid</code> is the process id of the
-affected JobManager or TaskManager process.</li>
-</ul>
-
-<p>On Windows, the TaskManager shows a table of all processes and allows you to
-destroy a process by right its entry.</p>
-
-<h3 id="i-got-an-outofmemoryexception-what-can-i-do">I got an OutOfMemoryException. What can I do?</h3>
-
-<p>These exceptions occur usually when the functions in the program consume a lot
-of memory by collection large numbers of objects, for example in lists or maps.
-The OutOfMemoryExceptions in Java are kind of tricky. The exception is not
-necessarily thrown by the component that allocated most of the memory but by the
-component that tried to requested the latest bit of memory that could not be
-provided.</p>
-
-<p>There are two ways to go about this:</p>
-
-<ol>
-  <li>
-    <p>See whether you can use less memory inside the functions. For example, use
-arrays of primitive types instead of object types.</p>
-  </li>
-  <li>
-    <p>Reduce the memory that Flink reserves for its own processing. The
-TaskManager reserves a certain portion of the available memory for sorting,
-hashing, caching, network buffering, etc. That part of the memory is unavailable
-to the user-defined functions. By reserving it, the system can guarantee to not
-run out of memory on large inputs, but to plan with the available memory and
-destage operations to disk, if necessary. By default, the system reserves around
-70% of the memory. If you frequently run applications that need more memory in
-the user-defined functions, you can reduce that value using the configuration
-entries <code>taskmanager.memory.fraction</code> or <code>taskmanager.memory.size</code>. See the
-<a href="setup/config.html">Configuration Reference</a> for details. This will leave more memory to JVM heap,
-but may cause data processing tasks to go to disk more often.</p>
-  </li>
-</ol>
-
-<h3 id="why-do-the-taskmanager-log-files-become-so-huge">Why do the TaskManager log files become so huge?</h3>
-
-<p>Check the logging behavior of your jobs. Emitting logging per or tuple may be
-helpful to debug jobs in small setups with tiny data sets, it becomes very
-inefficient and disk space consuming if used for large input data.</p>
-
-<h2 id="yarn-deployment">YARN Deployment</h2>
-
-<h3 id="the-yarn-session-runs-only-for-a-few-seconds">The YARN session runs only for a few seconds</h3>
-
-<p>The <code>./bin/yarn-session.sh</code> script is intended to run while the YARN-session is
-open. In some error cases however, the script immediately stops running. The
-output looks like this:</p>
-
-<div class="highlight"><pre><code>07:34:27,004 INFO  org.apache.hadoop.yarn.client.api.impl.YarnClientImpl         - Submitted application application_1395604279745_273123 to ResourceManager at jobtracker-host
-Flink JobManager is now running on worker1:6123
-JobManager Web Interface: http://jobtracker-host:54311/proxy/application_1295604279745_273123/
-07:34:51,528 INFO  org.apache.flinkyarn.Client                                   - Application application_1295604279745_273123 finished with state FINISHED at 1398152089553
-07:34:51,529 INFO  org.apache.flinkyarn.Client                                   - Killing the Flink-YARN application.
-07:34:51,529 INFO  org.apache.hadoop.yarn.client.api.impl.YarnClientImpl         - Killing application application_1295604279745_273123
-07:34:51,534 INFO  org.apache.flinkyarn.Client                                   - Deleting files in hdfs://user/marcus/.flink/application_1295604279745_273123
-07:34:51,559 INFO  org.apache.flinkyarn.Client                                   - YARN Client is shutting down
-</code></pre></div>
-
-<p>The problem here is that the Application Master (AM) is stopping and the YARN client assumes that the application has finished.</p>
-
-<p>There are three possible reasons for that behavior:</p>
-
-<ul>
-  <li>
-    <p>The ApplicationMaster exited with an exception. To debug that error, have a
-look in the logfiles of the container. The <code>yarn-site.xml</code> file contains the
-configured path. The key for the path is <code>yarn.nodemanager.log-dirs</code>, the
-default value is <code>${yarn.log.dir}/userlogs</code>.</p>
-  </li>
-  <li>
-    <p>YARN has killed the container that runs the ApplicationMaster. This case
-happens when the AM used too much memory or other resources beyond YARN’s
-limits. In this case, you’ll find error messages in the nodemanager logs on
-the host.</p>
-  </li>
-  <li>
-    <p>The operating system has shut down the JVM of the AM. This can happen if the
-YARN configuration is wrong and more memory than physically available is
-configured. Execute <code>dmesg</code> on the machine where the AM was running to see if
-this happened. You see messages from Linux’ <a href="http://linux-mm.org/OOM_Killer">OOM killer</a>.</p>
-  </li>
-</ul>
-
-<h3 id="the-yarn-session-crashes-with-a-hdfs-permission-exception-during-startup">The YARN session crashes with a HDFS permission exception during startup</h3>
-
-<p>While starting the YARN session, you are receiving an exception like this:</p>
-
-<div class="highlight"><pre><code>Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=robert, access=WRITE, inode="/user/robert":hdfs:supergroup:drwxr-xr-x
-  at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:234)
-  at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:214)
-  at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:158)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5193)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5175)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkAncestorAccess(FSNamesystem.java:5149)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:2090)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2043)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:1996)
-  at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:491)
-  at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:301)
-  at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:59570)
-  at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
-  at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)
-  at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2053)
-  at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
-  at java.security.AccessController.doPrivileged(Native Method)
-  at javax.security.auth.Subject.doAs(Subject.java:396)
-  at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
-  at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2047)
-
-  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
-  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
-  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
-  at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
-  at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
-  at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
-  at org.apache.hadoop.hdfs.DFSOutputStream.newStreamForCreate(DFSOutputStream.java:1393)
-  at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1382)
-  at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1307)
-  at org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:384)
-  at org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:380)
-  at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
-  at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:380)
-  at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:324)
-  at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:905)
-  at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:886)
-  at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:783)
-  at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:365)
-  at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:338)
-  at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:2021)
-  at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1989)
-  at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1954)
-  at org.apache.flinkyarn.Utils.setupLocalResource(Utils.java:176)
-  at org.apache.flinkyarn.Client.run(Client.java:362)
-  at org.apache.flinkyarn.Client.main(Client.java:568)
-</code></pre></div>
-
-<p>The reason for this error is, that the home directory of the user <strong>in HDFS</strong>
-has the wrong permissions. The user (in this case <code>robert</code>) can not create
-directories in his own home directory.</p>
-
-<p>Flink creates a <code>.flink/</code> directory in the users home directory
-where it stores the Flink jar and configuration file.</p>
-
-<h2 id="features">Features</h2>
-
-<h3 id="what-kind-of-fault-tolerance-does-flink-provide">What kind of fault-tolerance does Flink provide?</h3>
-
-<p>Flink can restart failed jobs. Mid-query fault tolerance will go into the
-open source project in the next versions.</p>
-
-<h3 id="are-hadoop-like-utilities-such-as-counters-and-the-distributedcache-supported">Are Hadoop-like utilities, such as Counters and the DistributedCache supported?</h3>
-
-<p><a href="programming_guide.html#accumulators--counters">Flink’s Accumulators</a> work very similar like
-[Hadoop’s counters, but are more powerful.</p>
-
-<p>Flink has a <a href="https://github.com/apache/flink/blob/master//flink-core/src/main/java/org/apache/flink/api/common/cache/DistributedCache.java">Distributed Cache</a> that is deeply integrated with the APIs. Please refer to the <a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/ExecutionEnvironment.java#L561">JavaDocs</a> for details on how to use it.</p>
-
-<p>In order to make data sets available on all tasks, we encourage you to use <a href="programming_guide.html#broadcast-variables">Broadcast Variables</a> instead. They are more efficient and easier to use than the distributed cache.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/fig/LICENSE.txt
----------------------------------------------------------------------
diff --git a/content/docs/0.9/fig/LICENSE.txt b/content/docs/0.9/fig/LICENSE.txt
deleted file mode 100644
index 35b8673..0000000
--- a/content/docs/0.9/fig/LICENSE.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-All image files in the folder and its subfolders are
-licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/fig/overview-stack-0.9.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/fig/overview-stack-0.9.png b/content/docs/0.9/fig/overview-stack-0.9.png
deleted file mode 100644
index 70b775a..0000000
Binary files a/content/docs/0.9/fig/overview-stack-0.9.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/index.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/index.html b/content/docs/0.9/index.html
deleted file mode 100644
index 4925ca3..0000000
--- a/content/docs/0.9/index.html
+++ /dev/null
@@ -1,248 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Overview</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li class="active"><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Overview</h1>
-
-
-
-<p>Apache Flink is a platform for efficient, distributed, general-purpose data processing.
-It features powerful programming abstractions in Java and Scala, a high-performance runtime, and
-automatic program optimization. It has native support for iterations, incremental iterations, and
-programs consisting of large DAGs of operations.</p>
-
-<p>If you quickly want to try out the system, please look at one of the available quickstarts. For
-a thorough introduction of the Flink API please refer to the
-<a href="apis/programming_guide.html">Programming Guide</a>.</p>
-
-<h2 id="stack">Stack</h2>
-
-<p>This is an overview of Flink’s stack. Click on any component to go to the respective documentation.</p>
-
-<p><img src="fig/overview-stack-0.9.png" width="893" height="450" alt="Stack" usemap="#overview-stack" /></p>
-
-<map name="overview-stack">
-  <area shape="rect" coords="188,0,263,200" alt="Graph API: Gelly" href="libs/gelly_guide.html" />
-  <area shape="rect" coords="268,0,343,200" alt="Flink ML" href="libs/ml/" />
-  <area shape="rect" coords="348,0,423,200" alt="Table" href="libs/table.html" />
-
-  <area shape="rect" coords="188,205,538,260" alt="DataSet API (Java/Scala)" href="apis/programming_guide.html" />
-  <area shape="rect" coords="543,205,893,260" alt="DataStream API (Java/Scala)" href="apis/streaming_guide.html" />
-
-  <!-- <area shape="rect" coords="188,275,538,330" alt="Optimizer" href="optimizer.html"> -->
-  <!-- <area shape="rect" coords="543,275,893,330" alt="Stream Builder" href="streambuilder.html"> -->
-
-  <area shape="rect" coords="188,335,893,385" alt="Flink Runtime" href="internals/general_arch.html" />
-
-  <area shape="rect" coords="188,405,328,455" alt="Local" href="apis/local_execution.html" />
-  <area shape="rect" coords="333,405,473,455" alt="Remote" href="apis/cluster_execution.html" />
-  <area shape="rect" coords="478,405,638,455" alt="Embedded" href="apis/local_execution.html" />
-  <area shape="rect" coords="643,405,765,455" alt="YARN" href="setup/yarn_setup.html" />
-  <area shape="rect" coords="770,405,893,455" alt="Tez" href="setup/flink_on_tez.html" />
-</map>
-
-<h2 id="download">Download</h2>
-
-<p>This documentation is for Apache Flink version 0.9.0, which is the current development version of the next upcoming major release of Apache Flink.</p>
-
-<p>You can download the latest pre-built snapshot version from the <a href="http://flink.apache.org/downloads.html#latest">downloads</a> page of the <a href="http://flink.apache.org">project website</a>.</p>
-
-<p>The Scala API uses Scala 2.10. Please make sure to use a compatible version.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[26/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/quickstart/java_api_quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/quickstart/java_api_quickstart.html b/content/docs/0.9/quickstart/java_api_quickstart.html
deleted file mode 100644
index fbe07db..0000000
--- a/content/docs/0.9/quickstart/java_api_quickstart.html
+++ /dev/null
@@ -1,330 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Quickstart: Java API</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Quickstart: Java API</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#requirements" id="markdown-toc-requirements">Requirements</a></li>
-  <li><a href="#create-project" id="markdown-toc-create-project">Create Project</a></li>
-  <li><a href="#inspect-project" id="markdown-toc-inspect-project">Inspect Project</a></li>
-  <li><a href="#build-project" id="markdown-toc-build-project">Build Project</a></li>
-  <li><a href="#next-steps" id="markdown-toc-next-steps">Next Steps</a></li>
-</ul>
-
-<p>Start working on your Flink Java program in a few simple steps.</p>
-
-<h2 id="requirements">Requirements</h2>
-
-<p>The only requirements are working <strong>Maven 3.0.4</strong> (or higher) and <strong>Java 6.x</strong> (or higher) installations.</p>
-
-<h2 id="create-project">Create Project</h2>
-
-<p>Use one of the following commands to <strong>create a project</strong>:</p>
-
-<ul class="nav nav-tabs" style="border-bottom: none;">
-    <li class="active"><a href="#quickstart-script" data-toggle="tab">Run the <strong>quickstart script</strong></a></li>
-    <li><a href="#maven-archetype" data-toggle="tab">Use <strong>Maven archetypes</strong></a></li>
-</ul>
-<div class="tab-content">
-    <div class="tab-pane active" id="quickstart-script">
-    
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>curl http://flink.apache.org/q/quickstart.sh <span class="p">|</span> bash</code></pre></div>
-
-    </div>
-    <div class="tab-pane" id="maven-archetype">
-    
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>mvn archetype:generate                             <span class="se">\</span>
-      -DarchetypeGroupId<span class="o">=</span>org.apache.flink              <span class="se">\</span>
-      -DarchetypeArtifactId<span class="o">=</span>flink-quickstart-java            <span class="se">\</span>
-      -DarchetypeVersion<span class="o">=</span>0.9.0</code></pre></div>
-
-        This allows you to <strong>name your newly created project</strong>. It will interactively ask you for the groupId, artifactId, and package name.
-    </div>
-</div>
-
-<h2 id="inspect-project">Inspect Project</h2>
-
-<p>There will be a new directory in your working directory. If you’ve used the <em>curl</em> approach, the directory is called <code>quickstart</code>. Otherwise, it has the name of your artifactId.</p>
-
-<p>The sample project is a <strong>Maven project</strong>, which contains two classes. <em>Job</em> is a basic skeleton program and <em>WordCountJob</em> a working example. Please note that the <em>main</em> method of both classes allow you to start Flink in a development/testing mode.</p>
-
-<p>We recommend to <strong>import this project into your IDE</strong> to develop and test it. If you use Eclipse, the <a href="http://www.eclipse.org/m2e/">m2e plugin</a> allows to <a href="http://books.sonatype.com/m2eclipse-book/reference/creating-sect-importing-projects.html#fig-creating-import">import Maven projects</a>. Some Eclipse bundles include that plugin by default, other require you to install it manually. The IntelliJ IDE also supports Maven projects out of the box.</p>
-
-<p>A note to Mac OS X users: The default JVM heapsize for Java is too small for Flink. You have to manually increase it. Choose “Run Configurations” -&gt; Arguments and write into the “VM Arguments” box: “-Xmx800m” in Eclipse.</p>
-
-<h2 id="build-project">Build Project</h2>
-
-<p>If you want to <strong>build your project</strong>, go to your project directory and issue the<code>mvn clean install -Pbuild-jar</code> command. You will <strong>find a jar</strong> that runs on every Flink cluster in <strong>target/your-artifact-id-1.0-SNAPSHOT.jar</strong>. There is also a fat-jar,  <strong>target/your-artifact-id-1.0-SNAPSHOT-flink-fat-jar.jar</strong>. This
-also contains all dependencies that get added to the maven project.</p>
-
-<h2 id="next-steps">Next Steps</h2>
-
-<p>Write your application!</p>
-
-<p>The quickstart project contains a WordCount implementation, the “Hello World” of Big Data processing systems. The goal of WordCount is to determine the frequencies of words in a text, e.g., how often do the terms “the” or “house” occurs in all Wikipedia texts.</p>
-
-<p><strong>Sample Input</strong>:</p>
-
-<div class="highlight"><pre><code class="language-bash">big data is big</code></pre></div>
-
-<p><strong>Sample Output</strong>:</p>
-
-<div class="highlight"><pre><code class="language-bash">big 2
-data 1
-is 1</code></pre></div>
-
-<p>The following code shows the WordCount implementation from the Quickstart which processes some text lines with two operators (FlatMap and Reduce), and writes the prints the resulting words and counts to std-out.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">WordCount</span> <span class="o">{</span>
-  
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    
-    <span class="c1">// set up the execution environment</span>
-    <span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-    
-    <span class="c1">// get input data</span>
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span>
-        <span class="s">&quot;To be, or not to be,--that is the question:--&quot;</span><span class="o">,</span>
-        <span class="s">&quot;Whether &#39;tis nobler in the mind to suffer&quot;</span><span class="o">,</span>
-        <span class="s">&quot;The slings and arrows of outrageous fortune&quot;</span><span class="o">,</span>
-        <span class="s">&quot;Or to take arms against a sea of troubles,&quot;</span>
-        <span class="o">);</span>
-    
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">counts</span> <span class="o">=</span> 
-        <span class="c1">// split up the lines in pairs (2-tuples) containing: (word,1)</span>
-        <span class="n">text</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">LineSplitter</span><span class="o">())</span>
-        <span class="c1">// group by the tuple field &quot;0&quot; and sum up tuple field &quot;1&quot;</span>
-        <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-        <span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">Aggregations</span><span class="o">.</span><span class="na">SUM</span><span class="o">,</span> <span class="mi">1</span><span class="o">);</span>
-
-    <span class="c1">// emit result</span>
-    <span class="n">counts</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-    
-    <span class="c1">// execute program</span>
-    <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="s">&quot;WordCount Example&quot;</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The operations are defined by specialized classes, here the LineSplitter class.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">LineSplitter</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="c1">// normalize and split the line into words</span>
-    <span class="n">String</span><span class="o">[]</span> <span class="n">tokens</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="na">toLowerCase</span><span class="o">().</span><span class="na">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">);</span>
-    
-    <span class="c1">// emit the pairs</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">token</span> <span class="o">:</span> <span class="n">tokens</span><span class="o">)</span> <span class="o">{</span>
-      <span class="k">if</span> <span class="o">(</span><span class="n">token</span><span class="o">.</span><span class="na">length</span><span class="o">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;(</span><span class="n">token</span><span class="o">,</span> <span class="mi">1</span><span class="o">));</span>
-      <span class="o">}</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p><a href="https://github.com/apache/flink/blob/master//flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/wordcount/WordCount.java">Check GitHub</a> for the full example code.</p>
-
-<p>For a complete overview over our API, have a look at the <a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html">Programming Guide</a> and <a href="examples.html">further example programs</a>. If you have any trouble, ask on our <a href="http://mail-archives.apache.org/mod_mbox/flink-dev/">Mailing List</a>. We are happy to provide help.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/quickstart/plotPoints.py
----------------------------------------------------------------------
diff --git a/content/docs/0.9/quickstart/plotPoints.py b/content/docs/0.9/quickstart/plotPoints.py
deleted file mode 100755
index 9ddf5dd..0000000
--- a/content/docs/0.9/quickstart/plotPoints.py
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/usr/bin/python
-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-# http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import sys
-import matplotlib.pyplot as plt
-import csv
-import os
-
-if len(sys.argv) < 4 or not sys.argv[1] in ['points', 'result']:
-  print "Usage: plot-clusters.py (points|result) <src-file> <pdf-file-prefix>"
-  sys.exit(1)
-
-inFile = sys.argv[1]
-inFile = sys.argv[2]
-outFilePx = sys.argv[3]
-
-inFileName = os.path.splitext(os.path.basename(inFile))[0]
-outFile = os.path.join(".", outFilePx+"-plot.pdf")
-
-########### READ DATA
-
-cs = []
-xs = []
-ys = []
-
-minX = None
-maxX = None
-minY = None
-maxY = None
-
-if sys.argv[1] == 'points':
-
-  with open(inFile, 'rb') as file:
-    for line in file:
-      # parse data
-      csvData = line.strip().split(' ')
-
-      x = float(csvData[0])
-      y = float(csvData[1])
-
-      if not minX or minX > x:
-        minX = x
-      if not maxX or maxX < x:
-        maxX = x
-      if not minY or minY > y:
-        minY = y
-      if not maxY or maxY < y:
-        maxY = y
-
-      xs.append(x)
-      ys.append(y)
-
-    # plot data
-    plt.clf()
-    plt.scatter(xs, ys, s=25, c="#999999", edgecolors='None', alpha=1.0)
-    plt.ylim([minY,maxY])
-    plt.xlim([minX,maxX])
-
-elif sys.argv[1] == 'result':
-
-  with open(inFile, 'rb') as file:
-    for line in file:
-      # parse data
-      csvData = line.strip().split(' ')
-
-      c = int(csvData[0])
-      x = float(csvData[1])
-      y = float(csvData[2])
-
-      cs.append(c)
-      xs.append(x)
-      ys.append(y)
-
-    # plot data
-    plt.clf()
-    plt.scatter(xs, ys, s=25, c=cs, edgecolors='None', alpha=1.0)
-    plt.ylim([minY,maxY])
-    plt.xlim([minX,maxX])
-
-
-plt.savefig(outFile, dpi=600)
-print "\nPlotted file: %s" % outFile
-
-sys.exit(0)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/quickstart/run_example_quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/quickstart/run_example_quickstart.html b/content/docs/0.9/quickstart/run_example_quickstart.html
deleted file mode 100644
index de636ca..0000000
--- a/content/docs/0.9/quickstart/run_example_quickstart.html
+++ /dev/null
@@ -1,359 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Quick Start: Run K-Means Example</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Quick Start: Run K-Means Example</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#setup-flink" id="markdown-toc-setup-flink">Setup Flink</a></li>
-  <li><a href="#generate-input-data" id="markdown-toc-generate-input-data">Generate Input Data</a></li>
-  <li><a href="#inspect-the-input-data" id="markdown-toc-inspect-the-input-data">Inspect the Input Data</a></li>
-  <li><a href="#start-flink" id="markdown-toc-start-flink">Start Flink</a></li>
-  <li><a href="#inspect-and-run-the-k-means-example-program" id="markdown-toc-inspect-and-run-the-k-means-example-program">Inspect and Run the K-Means Example Program</a></li>
-  <li><a href="#shutdown-flink" id="markdown-toc-shutdown-flink">Shutdown Flink</a></li>
-  <li><a href="#analyze-the-result" id="markdown-toc-analyze-the-result">Analyze the Result</a></li>
-</ul>
-
-<p>This guide walks you through the steps of executing an example program (<a href="http://en.wikipedia.org/wiki/K-means_clustering">K-Means clustering</a>) on Flink. On the way, you will see the a visualization of the program, the optimized execution plan, and track the progress of its execution.</p>
-
-<h2 id="setup-flink">Setup Flink</h2>
-<p>Follow the <a href="setup_quickstart.html">instructions</a> to setup Flink and enter the root directory of your Flink setup.</p>
-
-<h2 id="generate-input-data">Generate Input Data</h2>
-<p>Flink contains a data generator for K-Means.</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="c"># Assuming you are in the root directory of your Flink setup</span>
-mkdir kmeans
-<span class="nb">cd </span>kmeans
-<span class="c"># Run data generator</span>
-java -cp ../examples/flink-java-examples-0.9.0-KMeans.jar:../lib/flink-dist-0.9.0.jar <span class="se">\</span>
-  org.apache.flink.examples.java.clustering.util.KMeansDataGenerator <span class="se">\</span>
-  -points <span class="m">500</span> -k <span class="m">10</span> -stddev 0.08 -output <span class="sb">`</span><span class="nb">pwd</span><span class="sb">`</span></code></pre></div>
-
-<p>The generator has the following arguments (arguments in <code>[]</code> are optional):</p>
-
-<div class="highlight"><pre><code class="language-bash">-points &lt;num&gt; -k &lt;num clusters&gt; <span class="o">[</span>-output &lt;output-path&gt;<span class="o">]</span> <span class="o">[</span>-stddev &lt;relative stddev&gt;<span class="o">]</span> <span class="o">[</span>-range &lt;centroid range&gt;<span class="o">]</span> <span class="o">[</span>-seed &lt;seed&gt;<span class="o">]</span></code></pre></div>
-
-<p>The <em>relative standard deviation</em> is an interesting tuning parameter. It determines the closeness of the points to randomly generated centers.</p>
-
-<p>The <code>kmeans/</code> directory should now contain two files: <code>centers</code> and <code>points</code>. The <code>points</code> file contains the points to cluster and the <code>centers</code> file contains initial cluster centers.</p>
-
-<h2 id="inspect-the-input-data">Inspect the Input Data</h2>
-<p>Use the <code>plotPoints.py</code> tool to review the generated data points. <a href="quickstart/plotPoints.py">Download Python Script</a></p>
-
-<div class="highlight"><pre><code class="language-bash">python plotPoints.py points ./points input</code></pre></div>
-
-<p>Note: You might have to install <a href="http://matplotlib.org/">matplotlib</a> (<code>python-matplotlib</code> package on Ubuntu) to use the Python script.</p>
-
-<p>You can review the input data stored in the <code>input-plot.pdf</code>, for example with Evince (<code>evince input-plot.pdf</code>).</p>
-
-<p>The following overview presents the impact of the different standard deviations on the input data.</p>
-
-<table>
-  <thead>
-    <tr>
-      <th style="text-align: center">relative stddev = 0.03</th>
-      <th style="text-align: center">relative stddev = 0.08</th>
-      <th style="text-align: center">relative stddev = 0.15</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td style="text-align: center"><img src="http://flink.apache.org/docs/0.9/page/img/quickstart-example/kmeans003.png" alt="example1" style="width: 275px;" /></td>
-      <td style="text-align: center"><img src="http://flink.apache.org/docs/0.9/page/img/quickstart-example/kmeans008.png" alt="example2" style="width: 275px;" /></td>
-      <td style="text-align: center"><img src="http://flink.apache.org/docs/0.9/page/img/quickstart-example/kmeans015.png" alt="example3" style="width: 275px;" /></td>
-    </tr>
-  </tbody>
-</table>
-
-<h2 id="start-flink">Start Flink</h2>
-<p>Start Flink and the web job submission client on your local machine.</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="c"># return to the Flink root directory</span>
-<span class="nb">cd</span> ..
-<span class="c"># start Flink</span>
-./bin/start-local.sh
-<span class="c"># Start the web client</span>
-./bin/start-webclient.sh</code></pre></div>
-
-<h2 id="inspect-and-run-the-k-means-example-program">Inspect and Run the K-Means Example Program</h2>
-<p>The Flink web client allows to submit Flink programs using a graphical user interface.</p>
-
-<div class="row" style="padding-top:15px">
-	<div class="col-md-6">
-		<a data-lightbox="example-1" href="http://flink.apache.org/docs/0.9/page/img/quickstart-example/run-webclient.png"><img class="img-responsive" src="http://flink.apache.org/docs/0.9/page/img/quickstart-example/run-webclient.png" /></a>
-	</div>
-	<div class="col-md-6">
-		1. Open web client on  <a href="http://localhost:8080/launch.html">localhost:8080</a> <br />
-		2. Upload the K-Mean job JAR file. 
-			
-<div class="highlight"><pre><code class="language-bash" data-lang="bash">./examples/flink-java-examples-*-KMeans.jar</code></pre></div>
- 
-		3. Select it in the left box to see how the operators in the plan are connected to each other. <br />
-		4. Enter the arguments in the lower left box:
-			
-<div class="highlight"><pre><code class="language-bash" data-lang="bash">file://&lt;pathToFlink&gt;/kmeans/points file://&lt;pathToFlink&gt;/kmeans/centers file://&lt;pathToFlink&gt;/kmeans/result 10</code></pre></div>
-
-			For example:
-			
-<div class="highlight"><pre><code class="language-bash" data-lang="bash">file:///tmp/flink/kmeans/points file:///tmp/flink/kmeans/centers file:///tmp/flink/kmeans/result 10</code></pre></div>
-
-	</div>
-</div>
-<hr />
-
-<div class="row" style="padding-top:15px">
-	<div class="col-md-6">
-		<a data-lightbox="example-1" href="http://flink.apache.org/docs/0.9/page/img/quickstart-example/compiler-webclient-new.png"><img class="img-responsive" src="http://flink.apache.org/docs/0.9/page/img/quickstart-example/compiler-webclient-new.png" /></a>
-	</div>
-
-	<div class="col-md-6">
-		1. Press the <b>RunJob</b> to see the optimizer plan. <br />
-		2. Inspect the operators and see the properties (input sizes, cost estimation) determined by the optimizer.
-	</div>
-</div>
-<hr />
-
-<div class="row" style="padding-top:15px">
-	<div class="col-md-6">
-		<a data-lightbox="example-1" href="http://flink.apache.org/docs/0.9/page/img/quickstart-example/jobmanager-running-new.png"><img class="img-responsive" src="http://flink.apache.org/docs/0.9/page/img/quickstart-example/jobmanager-running-new.png" /></a>
-	</div>
-	<div class="col-md-6">
-		1. Press the <b>Continue</b> button to start executing the job. <br />
-		2. <a href="http://localhost:8080/launch.html">Open Flink's monitoring interface</a> to see the job's progress. (Due to the small input data, the job will finish really quick!)<br />
-		3. Once the job has finished, you can analyze the runtime of the individual operators.
-	</div>
-</div>
-
-<h2 id="shutdown-flink">Shutdown Flink</h2>
-<p>Stop Flink when you are done.</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="c"># stop Flink</span>
-./bin/stop-local.sh
-<span class="c"># Stop the Flink web client</span>
-./bin/stop-webclient.sh</code></pre></div>
-
-<h2 id="analyze-the-result">Analyze the Result</h2>
-<p>Use the <a href="quickstart/plotPoints.py">Python Script</a> again to visualize the result.</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nb">cd </span>kmeans
-python plotPoints.py result ./result clusters</code></pre></div>
-
-<p>The following three pictures show the results for the sample input above. Play around with the parameters (number of iterations, number of clusters) to see how they affect the result.</p>
-
-<table>
-  <thead>
-    <tr>
-      <th style="text-align: center">relative stddev = 0.03</th>
-      <th style="text-align: center">relative stddev = 0.08</th>
-      <th style="text-align: center">relative stddev = 0.15</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td style="text-align: center"><img src="http://flink.apache.org/docs/0.9/page/img/quickstart-example/result003.png" alt="example1" style="width: 275px;" /></td>
-      <td style="text-align: center"><img src="http://flink.apache.org/docs/0.9/page/img/quickstart-example/result008.png" alt="example2" style="width: 275px;" /></td>
-      <td style="text-align: center"><img src="http://flink.apache.org/docs/0.9/page/img/quickstart-example/result015.png" alt="example3" style="width: 275px;" /></td>
-    </tr>
-  </tbody>
-</table>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/quickstart/scala_api_quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/quickstart/scala_api_quickstart.html b/content/docs/0.9/quickstart/scala_api_quickstart.html
deleted file mode 100644
index ffe7e1a..0000000
--- a/content/docs/0.9/quickstart/scala_api_quickstart.html
+++ /dev/null
@@ -1,334 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Quickstart: Scala API</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Quickstart: Scala API</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#requirements" id="markdown-toc-requirements">Requirements</a></li>
-  <li><a href="#create-project" id="markdown-toc-create-project">Create Project</a></li>
-  <li><a href="#inspect-project" id="markdown-toc-inspect-project">Inspect Project</a></li>
-  <li><a href="#build-project" id="markdown-toc-build-project">Build Project</a></li>
-  <li><a href="#next-steps" id="markdown-toc-next-steps">Next Steps</a></li>
-  <li><a href="#alternative-build-tools-sbt" id="markdown-toc-alternative-build-tools-sbt">Alternative Build Tools: SBT</a></li>
-</ul>
-
-<p>Start working on your Flink Scala program in a few simple steps.</p>
-
-<h2 id="requirements">Requirements</h2>
-
-<p>The only requirements are working <strong>Maven 3.0.4</strong> (or higher) and <strong>Java 6.x</strong> (or higher) installations.</p>
-
-<h2 id="create-project">Create Project</h2>
-
-<p>Use one of the following commands to <strong>create a project</strong>:</p>
-
-<ul class="nav nav-tabs" style="border-bottom: none;">
-    <li class="active"><a href="#quickstart-script" data-toggle="tab">Run the <strong>quickstart script</strong></a></li>
-    <li><a href="#maven-archetype" data-toggle="tab">Use <strong>Maven archetypes</strong></a></li>
-</ul>
-<div class="tab-content">
-    <div class="tab-pane active" id="quickstart-script">
-
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>curl http://flink.apache.org/q/quickstart-scala.sh <span class="p">|</span> bash</code></pre></div>
-
-    </div>
-    <div class="tab-pane" id="maven-archetype">
-
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>mvn archetype:generate                             <span class="se">\</span>
-  -DarchetypeGroupId<span class="o">=</span>org.apache.flink              <span class="se">\</span>
-  -DarchetypeArtifactId<span class="o">=</span>flink-quickstart-scala           <span class="se">\</span>
-  -DarchetypeVersion<span class="o">=</span>0.9.0</code></pre></div>
-
-    This allows you to <strong>name your newly created project</strong>. It will interactively ask you for the groupId, artifactId, and package name.
-    </div>
-</div>
-
-<h2 id="inspect-project">Inspect Project</h2>
-
-<p>There will be a new directory in your working directory. If you’ve used the <em>curl</em> approach, the directory is called <code>quickstart</code>. Otherwise, it has the name of your artifactId.</p>
-
-<p>The sample project is a <strong>Maven project</strong>, which contains two classes. <em>Job</em> is a basic skeleton program and <em>WordCountJob</em> a working example. Please note that the <em>main</em> method of both classes allow you to start Flink in a development/testing mode.</p>
-
-<p>We recommend to <strong>import this project into your IDE</strong>. For Eclipse, you need the following plugins, which you can install from the provided Eclipse Update Sites:</p>
-
-<ul>
-  <li><em>Eclipse 4.x</em>
-    <ul>
-      <li><a href="http://download.scala-ide.org/sdk/e38/scala210/stable/site">Scala IDE</a></li>
-      <li><a href="http://alchim31.free.fr/m2e-scala/update-site">m2eclipse-scala</a></li>
-      <li><a href="https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.15.0/N/0.15.0.201206251206/">Build Helper Maven Plugin</a></li>
-    </ul>
-  </li>
-  <li><em>Eclipse 3.7</em>
-    <ul>
-      <li><a href="http://download.scala-ide.org/sdk/e37/scala210/stable/site">Scala IDE</a></li>
-      <li><a href="http://alchim31.free.fr/m2e-scala/update-site">m2eclipse-scala</a></li>
-      <li><a href="https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.14.0/N/0.14.0.201109282148/">Build Helper Maven Plugin</a></li>
-    </ul>
-  </li>
-</ul>
-
-<p>The IntelliJ IDE also supports Maven and offers a plugin for Scala development.</p>
-
-<h2 id="build-project">Build Project</h2>
-
-<p>If you want to <strong>build your project</strong>, go to your project directory and issue the <code>mvn clean package -Pbuild-jar</code> command. You will <strong>find a jar</strong> that runs on every Flink cluster in <strong>target/your-artifact-id-1.0-SNAPSHOT.jar</strong>. There is also a fat-jar,  <strong>target/your-artifact-id-1.0-SNAPSHOT-flink-fat-jar.jar</strong>. This
-also contains all dependencies that get added to the maven project.</p>
-
-<h2 id="next-steps">Next Steps</h2>
-
-<p>Write your application!</p>
-
-<p>The quickstart project contains a WordCount implementation, the “Hello World” of Big Data processing systems. The goal of WordCount is to determine the frequencies of words in a text, e.g., how often do the terms “the” or “house” occurs in all Wikipedia texts.</p>
-
-<p><strong>Sample Input</strong>:</p>
-
-<div class="highlight"><pre><code class="language-bash">big data is big</code></pre></div>
-
-<p><strong>Sample Output</strong>:</p>
-
-<div class="highlight"><pre><code class="language-bash">big 2
-data 1
-is 1</code></pre></div>
-
-<p>The following code shows the WordCount implementation from the Quickstart which processes some text lines with two operators (FlatMap and Reduce), and writes the prints the resulting words and counts to std-out.</p>
-
-<div class="highlight"><pre><code class="language-scala"><span class="k">object</span> <span class="nc">WordCountJob</span> <span class="o">{</span>
-  <span class="k">def</span> <span class="n">main</span><span class="o">(</span><span class="n">args</span><span class="k">:</span> <span class="kt">Array</span><span class="o">[</span><span class="kt">String</span><span class="o">])</span> <span class="o">{</span>
-
-    <span class="c1">// set up the execution environment</span>
-    <span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-
-    <span class="c1">// get input data</span>
-    <span class="k">val</span> <span class="n">text</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">fromElements</span><span class="o">(</span><span class="s">&quot;To be, or not to be,--that is the question:--&quot;</span><span class="o">,</span>
-      <span class="s">&quot;Whether &#39;tis nobler in the mind to suffer&quot;</span><span class="o">,</span> <span class="s">&quot;The slings and arrows of outrageous fortune&quot;</span><span class="o">,</span>
-      <span class="s">&quot;Or to take arms against a sea of troubles,&quot;</span><span class="o">)</span>
-
-    <span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">text</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">toLowerCase</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">)</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-      <span class="o">.</span><span class="n">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-
-    <span class="c1">// emit result</span>
-    <span class="n">counts</span><span class="o">.</span><span class="n">print</span><span class="o">()</span>
-
-    <span class="c1">// execute program</span>
-    <span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="o">(</span><span class="s">&quot;WordCount Example&quot;</span><span class="o">)</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p><a href="https://github.com/apache/flink/blob/master//flink-examples/flink-scala-examples/src/main/scala/org/apache/flink/examples/scala/wordcount/WordCount.scala">Check GitHub</a> for the full example code.</p>
-
-<p>For a complete overview over our API, have a look at the <a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html">Programming Guide</a> and <a href="http://flink.apache.org/docs/0.9/apis/examples.html">further example programs</a>. If you have any trouble, ask on our <a href="http://mail-archives.apache.org/mod_mbox/flink-dev/">Mailing List</a>. We are happy to provide help.</p>
-
-<h2 id="alternative-build-tools-sbt">Alternative Build Tools: SBT</h2>
-
-<p>To build and run applications with SBT instead of Maven is pretty straight forward. After creating the standard sbt <a href="http://www.scala-sbt.org/0.13/tutorial/Directories.html">directory layout</a> it’s enough to add the Flink dependencies to the <code>build.sbt</code> file:</p>
-
-<div class="highlight"><pre><code class="language-scala"><span class="n">libraryDependencies</span> <span class="o">++=</span> <span class="nc">Seq</span><span class="o">(</span><span class="s">&quot;org.apache.flink&quot;</span> <span class="o">%</span> <span class="s">&quot;flink-scala&quot;</span> <span class="o">%</span> <span class="s">&quot;0.9.0&quot;</span><span class="o">,</span> <span class="s">&quot;org.apache.flink&quot;</span> <span class="o">%</span> <span class="s">&quot;flink-clients&quot;</span> <span class="o">%</span> <span class="s">&quot;0.9.0&quot;</span><span class="o">)</span></code></pre></div>
-
-<p>Now the application can be executed by <code>sbt run</code>. By default SBT runs an application in the same JVM itself is running in. This can lead to lass loading issues with Flink. To avoid these, append the following line to <code>build.sbt</code>:</p>
-
-<div class="highlight"><pre><code class="language-scala"><span class="n">fork</span> <span class="n">in</span> <span class="n">run</span> <span class="o">:=</span> <span class="kc">true</span></code></pre></div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/quickstart/setup_quickstart.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/quickstart/setup_quickstart.html b/content/docs/0.9/quickstart/setup_quickstart.html
deleted file mode 100644
index 82f98fa..0000000
--- a/content/docs/0.9/quickstart/setup_quickstart.html
+++ /dev/null
@@ -1,350 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Quickstart: Setup</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Quickstart: Setup</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#requirements" id="markdown-toc-requirements">Requirements</a></li>
-  <li><a href="#download" id="markdown-toc-download">Download</a></li>
-  <li><a href="#start" id="markdown-toc-start">Start</a></li>
-  <li><a href="#run-example" id="markdown-toc-run-example">Run Example</a></li>
-  <li><a href="#cluster-setup" id="markdown-toc-cluster-setup">Cluster Setup</a></li>
-  <li><a href="#flink-on-yarn" id="markdown-toc-flink-on-yarn">Flink on YARN</a></li>
-</ul>
-
-<p>Get Flink up and running in a few simple steps.</p>
-
-<h2 id="requirements">Requirements</h2>
-
-<p>Flink runs on <strong>Linux, Mac OS X, and Windows</strong>. To be able to run Flink, the
-only requirement is to have a working <strong>Java 6.x</strong> (or higher)
-installation. Windows users, please take a look at the
-<a href="local_setup.html#flink-on-windows">Flink on Windows</a> guide which describes
-how to run Flink on Windows for local setups.</p>
-
-<h2 id="download">Download</h2>
-<p>Download the ready to run binary package. Choose the Flink distribution that <strong>matches your Hadoop version</strong>. If you are unsure which version to choose or you just want to run locally, pick the package for Hadoop 1.2.</p>
-
-<ul class="nav nav-tabs">
-  <li class="active"><a href="#bin-hadoop1" data-toggle="tab">Hadoop 1.2</a></li>
-  <li><a href="#bin-hadoop2" data-toggle="tab">Hadoop 2 (YARN)</a></li>
-</ul>
-<p>
-<div class="tab-content text-center">
-  <div class="tab-pane active" id="bin-hadoop1">
-    <a class="btn btn-info btn-lg" onclick="_gaq.push(['_trackEvent','Action','download-quickstart-setup-1',this.href]);" href="http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop1.tgz"><i class="icon-download"> </i> Download Flink for Hadoop 1.2</a>
-  </div>
-  <div class="tab-pane" id="bin-hadoop2">
-    <a class="btn btn-info btn-lg" onclick="_gaq.push(['_trackEvent','Action','download-quickstart-setup-2',this.href]);" href="http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop2.tgz"><i class="icon-download"> </i> Download Flink for Hadoop 2</a>
-  </div>
-</div>
-</p>
-
-<h2 id="start">Start</h2>
-
-<ol>
-  <li>Go to the download directory.</li>
-  <li>Unpack the downloaded archive.</li>
-  <li>Start Flink.</li>
-</ol>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nv">$ </span><span class="nb">cd</span> ~/Downloads        <span class="c"># Go to download directory</span>
-<span class="nv">$ </span>tar xzf flink-*.tgz   <span class="c"># Unpack the downloaded archive</span>
-<span class="nv">$ </span><span class="nb">cd </span>flink-0.9.0
-<span class="nv">$ </span>bin/start-local.sh    <span class="c"># Start Flink</span></code></pre></div>
-
-<p>Check the <strong>JobManager’s web frontend</strong> at <a href="http://localhost:8081">http://localhost:8081</a> and make
-sure everything is up and running.</p>
-
-<p>Instead of starting Flink with <code>bin/start-local.sh</code> you can also start Flink in an streaming optimized
-mode, using <code>bin/start-local-streaming.sh</code>.</p>
-
-<h2 id="run-example">Run Example</h2>
-
-<p>Run the <strong>Word Count example</strong> to see Flink at work.</p>
-
-<ul>
-  <li>
-    <p><strong>Download test data</strong>:</p>
-
-    <div class="highlight"><pre><code class="language-bash"><span class="nv">$ </span>wget -O hamlet.txt http://www.gutenberg.org/cache/epub/1787/pg1787.txt</code></pre></div>
-  </li>
-  <li>You now have a text file called <em>hamlet.txt</em> in your working directory.</li>
-  <li>
-    <p><strong>Start the example program</strong>:</p>
-
-    <div class="highlight"><pre><code class="language-bash"><span class="nv">$ </span>bin/flink run ./examples/flink-java-examples-0.9.0-WordCount.jar file://<span class="sb">`</span><span class="nb">pwd</span><span class="sb">`</span>/hamlet.txt file://<span class="sb">`</span><span class="nb">pwd</span><span class="sb">`</span>/wordcount-result.txt</code></pre></div>
-  </li>
-  <li>You will find a file called <strong>wordcount-result.txt</strong> in your current directory.</li>
-</ul>
-
-<h2 id="cluster-setup">Cluster Setup</h2>
-
-<p><strong>Running Flink on a cluster</strong> is as easy as running it locally. Having <strong>passwordless SSH</strong> and
-<strong>the same directory structure</strong> on all your cluster nodes lets you use our scripts to control
-everything.</p>
-
-<ol>
-  <li>Copy the unpacked <strong>flink</strong> directory from the downloaded archive to the same file system path
-on each node of your setup.</li>
-  <li>Choose a <strong>master node</strong> (JobManager) and set the <code>jobmanager.rpc.address</code> key in
-<code>conf/flink-conf.yaml</code> to its IP or hostname. Make sure that all nodes in your cluster have the same
-<code>jobmanager.rpc.address</code> configured.</li>
-  <li>Add the IPs or hostnames (one per line) of all <strong>worker nodes</strong> (TaskManager) to the slaves files
-in <code>conf/slaves</code>.</li>
-</ol>
-
-<p>You can now <strong>start the cluster</strong> at your master node with <code>bin/start-cluster.sh</code>. If you are planning
-to run only streaming jobs with Flink, you can also an optimized streaming mode: <code>start-cluster-streaming.sh</code>.</p>
-
-<p>The following <strong>example</strong> illustrates the setup with three nodes (with IP addresses from <em>10.0.0.1</em>
-to <em>10.0.0.3</em> and hostnames <em>master</em>, <em>worker1</em>, <em>worker2</em>) and shows the contents of the
-configuration files, which need to be accessible at the same path on all machines:</p>
-
-<div class="row">
-  <div class="col-md-6 text-center">
-    <img src="http://flink.apache.org/docs/0.9/page/img/quickstart_cluster.png" style="width: 85%" />
-  </div>
-<div class="col-md-6">
-  <div class="row">
-    <p class="lead text-center">
-      /path/to/<strong>flink/conf/<br />flink-conf.yaml</strong>
-    <pre>jobmanager.rpc.address: 10.0.0.1</pre>
-    </p>
-  </div>
-<div class="row" style="margin-top: 1em;">
-  <p class="lead text-center">
-    /path/to/<strong>flink/<br />conf/slaves</strong>
-  <pre>
-10.0.0.2
-10.0.0.3</pre>
-  </p>
-</div>
-</div>
-</div>
-
-<p>Have a look at the <a href="config.html">Configuration</a> section of the documentation to see other available configuration options.
-For Flink to run efficiently, a few configuration values need to be set.</p>
-
-<p>In particular,</p>
-
-<ul>
-  <li>the amount of available memory per TaskManager (<code>taskmanager.heap.mb</code>),</li>
-  <li>the number of available CPUs per machine (<code>taskmanager.numberOfTaskSlots</code>),</li>
-  <li>the total number of CPUs in the cluster (<code>parallelism.default</code>) and</li>
-  <li>the temporary directories (<code>taskmanager.tmp.dirs</code>)</li>
-</ul>
-
-<p>are very important configuration values.</p>
-
-<h2 id="flink-on-yarn">Flink on YARN</h2>
-<p>You can easily deploy Flink on your existing <strong>YARN cluster</strong>.</p>
-
-<ol>
-  <li>Download the <strong>Flink Hadoop2 package</strong>: <a href="http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop2.tgz">Flink with Hadoop 2</a></li>
-  <li>Make sure your <strong>HADOOP_HOME</strong> (or <em>YARN_CONF_DIR</em> or <em>HADOOP_CONF_DIR</em>) <strong>environment variable</strong> is set to read your YARN and HDFS configuration.</li>
-  <li>Run the <strong>YARN client</strong> with: <code>./bin/yarn-session.sh</code>. You can run the client with options <code>-n 10 -tm 8192</code> to allocate 10 TaskManagers with 8GB of memory each.</li>
-</ol>
-
-<p>For <strong>more detailed instructions</strong>, check out the programming Guides and examples.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[48/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/example_connectors.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/example_connectors.html b/content/docs/0.9/apis/example_connectors.html
deleted file mode 100644
index 8a4415e..0000000
--- a/content/docs/0.9/apis/example_connectors.html
+++ /dev/null
@@ -1,404 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Connecting to other systems</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Connecting to other systems</h1>
-
-
-
-<h2 id="reading-from-filesystems">Reading from filesystems.</h2>
-
-<p>Flink has build-in support for the following file systems:</p>
-
-<table>
-  <thead>
-    <tr>
-      <th>Filesystem</th>
-      <th>Since</th>
-      <th>Scheme</th>
-      <th>Notes</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td>Hadoop Distributed File System (HDFS)</td>
-      <td>0.2</td>
-      <td><code>hdfs://</code></td>
-      <td>All HDFS versions are supported</td>
-    </tr>
-    <tr>
-      <td>Amazon S3</td>
-      <td>0.2</td>
-      <td><code>s3://</code></td>
-      <td> </td>
-    </tr>
-    <tr>
-      <td>MapR file system</td>
-      <td>0.7-incubating</td>
-      <td><code>maprfs://</code></td>
-      <td>The user has to manually place the required jar files in the <code>lib/</code> dir</td>
-    </tr>
-    <tr>
-      <td>Tachyon</td>
-      <td>0.9</td>
-      <td><code>tachyon://</code></td>
-      <td>Support through Hadoop file system implementation (see below)</td>
-    </tr>
-  </tbody>
-</table>
-
-<h3 id="using-hadoop-file-systems-with-apache-flink">Using Hadoop file systems with Apache Flink</h3>
-
-<p>Apache Flink allows users to use any file system implementing the <code>org.apache.hadoop.fs.FileSystem</code>
-interface. Hadoop ships adapters for FTP, <a href="http://hadoop.apache.org/docs/r1.2.1/hftp.html">Hftp</a>, and others.</p>
-
-<p>Flink has integrated testcases to validate the integration with <a href="http://tachyon-project.org/">Tachyon</a>.
-Other file systems we tested the integration is the
-<a href="https://cloud.google.com/hadoop/google-cloud-storage-connector">Google Cloud Storage Connector for Hadoop</a> and <a href="http://www.xtreemfs.org/">XtreemFS</a>.</p>
-
-<p>In order to use a Hadoop file system with Flink, make sure that the <code>flink-conf.yaml</code> has set the
-<code>fs.hdfs.hadoopconf</code> property set to the Hadoop configuration directory.
-In addition to that, the Hadoop configuration (in that directory) needs to have an entry for each supported file system.
-For example for tachyon support, there must be the following entry in the <code>core-site.xml</code> file:</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;property&gt;</span>
-  <span class="nt">&lt;name&gt;</span>fs.tachyon.impl<span class="nt">&lt;/name&gt;</span>
-  <span class="nt">&lt;value&gt;</span>tachyon.hadoop.TFS<span class="nt">&lt;/value&gt;</span>
-<span class="nt">&lt;/property&gt;</span></code></pre></div>
-
-<p>Also, the required classes for using the file system need to be placed in the <code>lib/</code> folder of the Flink installation (on all machines running Flink). If putting the files into the directory is not possible, Flink is also respecting the <code>HADOOP_CLASSPATH</code> environment variable to add Hadoop jar files to the classpath.</p>
-
-<h2 id="connecting-to-other-systems-using-input--output-format-wrappers-for-hadoop">Connecting to other systems using Input / Output Format wrappers for Hadoop</h2>
-
-<p>Apache Flink allows users to access many different systems as data sources or sinks.
-The system is designed for very easy extensibility. Similar to Apache Hadoop, Flink has the concept
-of so called <code>InputFormat</code>s and <code>OutputFormat</code>s.</p>
-
-<p>One implementation of these <code>InputFormat</code>s is the <code>HadoopInputFormat</code>. This is a wrapper that allows
-users to use all existing Hadoop input formats with Flink.</p>
-
-<p>This section shows some examples for connecting Flink to other systems.
-<a href="hadoop_compatibility.html">Read more about Hadoop compatibility in Flink</a>.</p>
-
-<h2 id="avro-support-in-flink">Avro support in Flink</h2>
-
-<p>Flink has extensive build-in support for <a href="http://avro.apache.org/">Apache Avro</a>. This allows to easily read from Avro files with Flink.
-Also, the serialization framework of Flink is able to handle classes generated from Avro schemas.</p>
-
-<p>In order to read data from an Avro file, you have to specify an <code>AvroInputFormat</code>.</p>
-
-<p><strong>Example</strong>:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">AvroInputFormat</span><span class="o">&lt;</span><span class="n">User</span><span class="o">&gt;</span> <span class="n">users</span> <span class="o">=</span> <span class="k">new</span> <span class="n">AvroInputFormat</span><span class="o">&lt;</span><span class="n">User</span><span class="o">&gt;(</span><span class="n">in</span><span class="o">,</span> <span class="n">User</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">User</span><span class="o">&gt;</span> <span class="n">usersDS</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">createInput</span><span class="o">(</span><span class="n">users</span><span class="o">);</span></code></pre></div>
-
-<p>Note that <code>User</code> is a POJO generated by Avro. Flink also allows to perform string-based key selection of these POJOs. For example:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">usersDS</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="s">&quot;name&quot;</span><span class="o">)</span></code></pre></div>
-
-<p>Note that using the <code>GenericData.Record</code> type is possible with Flink, but not recommended. Since the record contains the full schema, its very data intensive and thus probably slow to use.</p>
-
-<p>Flink’s POJO field selection also works with POJOs generated from Avro. However, the usage is only possible if the field types are written correctly to the generated class. If a field is of type <code>Object</code> you can not use the field as a join or grouping key.
-Specifying a field in Avro like this <code>{"name": "type_double_test", "type": "double"},</code> works fine, however specifying it as a UNION-type with only one field (<code>{"name": "type_double_test", "type": ["double"]},</code>) will generate a field of type <code>Object</code>. Note that specifying nullable types (<code>{"name": "type_double_test", "type": ["null", "double"]},</code>) is possible!</p>
-
-<h3 id="access-microsoft-azure-table-storage">Access Microsoft Azure Table Storage</h3>
-
-<p><em>Note: This example works starting from Flink 0.6-incubating</em></p>
-
-<p>This example is using the <code>HadoopInputFormat</code> wrapper to use an existing Hadoop input format implementation for accessing <a href="https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/">Azure’s Table Storage</a>.</p>
-
-<ol>
-  <li>
-    <p>Download and compile the <code>azure-tables-hadoop</code> project. The input format developed by the project is not yet available in Maven Central, therefore, we have to build the project ourselves.
-Execute the following commands:</p>
-
-    <div class="highlight"><pre><code class="language-bash">git clone https://github.com/mooso/azure-tables-hadoop.git
-<span class="nb">cd </span>azure-tables-hadoop
-mvn clean install</code></pre></div>
-  </li>
-  <li>
-    <p>Setup a new Flink project using the quickstarts:</p>
-
-    <div class="highlight"><pre><code class="language-bash">curl http://flink.apache.org/q/quickstart.sh <span class="p">|</span> bash</code></pre></div>
-  </li>
-  <li>
-    <p>Add the following dependencies (in the <code>&lt;dependencies&gt;</code> section) to your <code>pom.xml</code> file:</p>
-
-    <div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>flink-hadoop-compatibility<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>com.microsoft.hadoop<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>microsoft-hadoop-azure<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.0.4<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-    <p><code>flink-hadoop-compatibility</code> is a Flink package that provides the Hadoop input format wrappers.
-<code>microsoft-hadoop-azure</code> is adding the project we’ve build before to our project.</p>
-  </li>
-</ol>
-
-<p>The project is now prepared for starting to code. We recommend to import the project into an IDE, such as Eclipse or IntelliJ. (Import as a Maven project!).
-Browse to the code of the <code>Job.java</code> file. Its an empty skeleton for a Flink job.</p>
-
-<p>Paste the following code into it:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kn">import</span> <span class="nn">java.util.Map</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.flink.api.common.functions.MapFunction</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.flink.api.java.DataSet</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.flink.api.java.ExecutionEnvironment</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.flink.api.java.tuple.Tuple2</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.flink.hadoopcompatibility.mapreduce.HadoopInputFormat</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.hadoop.io.Text</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.hadoop.mapreduce.Job</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.microsoft.hadoop.azure.AzureTableConfiguration</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.microsoft.hadoop.azure.AzureTableInputFormat</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.microsoft.hadoop.azure.WritableEntity</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.microsoft.windowsazure.storage.table.EntityProperty</span><span class="o">;</span>
-
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">AzureTableExample</span> <span class="o">{</span>
-
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    <span class="c1">// set up the execution environment</span>
-    <span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-    
-    <span class="c1">// create a  AzureTableInputFormat, using a Hadoop input format wrapper</span>
-    <span class="n">HadoopInputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">WritableEntity</span><span class="o">&gt;</span> <span class="n">hdIf</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HadoopInputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">WritableEntity</span><span class="o">&gt;(</span><span class="k">new</span> <span class="nf">AzureTableInputFormat</span><span class="o">(),</span> <span class="n">Text</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">WritableEntity</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="k">new</span> <span class="nf">Job</span><span class="o">());</span>
-
-    <span class="c1">// set the Account URI, something like: https://apacheflink.table.core.windows.net</span>
-    <span class="n">hdIf</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">().</span><span class="na">set</span><span class="o">(</span><span class="n">AzureTableConfiguration</span><span class="o">.</span><span class="na">Keys</span><span class="o">.</span><span class="na">ACCOUNT_URI</span><span class="o">.</span><span class="na">getKey</span><span class="o">(),</span> <span class="s">&quot;TODO&quot;</span><span class="o">);</span> 
-    <span class="c1">// set the secret storage key here</span>
-    <span class="n">hdIf</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">().</span><span class="na">set</span><span class="o">(</span><span class="n">AzureTableConfiguration</span><span class="o">.</span><span class="na">Keys</span><span class="o">.</span><span class="na">STORAGE_KEY</span><span class="o">.</span><span class="na">getKey</span><span class="o">(),</span> <span class="s">&quot;TODO&quot;</span><span class="o">);</span>
-    <span class="c1">// set the table name here</span>
-    <span class="n">hdIf</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">().</span><span class="na">set</span><span class="o">(</span><span class="n">AzureTableConfiguration</span><span class="o">.</span><span class="na">Keys</span><span class="o">.</span><span class="na">TABLE_NAME</span><span class="o">.</span><span class="na">getKey</span><span class="o">(),</span> <span class="s">&quot;TODO&quot;</span><span class="o">);</span>
-    
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">WritableEntity</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">createInput</span><span class="o">(</span><span class="n">hdIf</span><span class="o">);</span>
-    <span class="c1">// a little example how to use the data in a mapper.</span>
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">fin</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span><span class="n">WritableEntity</span><span class="o">&gt;,</span> <span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-      <span class="nd">@Override</span>
-      <span class="kd">public</span> <span class="n">String</span> <span class="nf">map</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">WritableEntity</span><span class="o">&gt;</span> <span class="n">arg0</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">err</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;--------------------------------\nKey = &quot;</span><span class="o">+</span><span class="n">arg0</span><span class="o">.</span><span class="na">f0</span><span class="o">);</span>
-        <span class="n">WritableEntity</span> <span class="n">we</span> <span class="o">=</span> <span class="n">arg0</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-
-        <span class="k">for</span><span class="o">(</span><span class="n">Map</span><span class="o">.</span><span class="na">Entry</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">EntityProperty</span><span class="o">&gt;</span> <span class="n">prop</span> <span class="o">:</span> <span class="n">we</span><span class="o">.</span><span class="na">getProperties</span><span class="o">().</span><span class="na">entrySet</span><span class="o">())</span> <span class="o">{</span>
-          <span class="n">System</span><span class="o">.</span><span class="na">err</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;key=&quot;</span><span class="o">+</span><span class="n">prop</span><span class="o">.</span><span class="na">getKey</span><span class="o">()</span> <span class="o">+</span> <span class="s">&quot; ; value (asString)=&quot;</span><span class="o">+</span><span class="n">prop</span><span class="o">.</span><span class="na">getValue</span><span class="o">().</span><span class="na">getValueAsString</span><span class="o">());</span>
-        <span class="o">}</span>
-
-        <span class="k">return</span> <span class="n">arg0</span><span class="o">.</span><span class="na">f0</span><span class="o">.</span><span class="na">toString</span><span class="o">();</span>
-      <span class="o">}</span>
-    <span class="o">});</span>
-
-    <span class="c1">// emit result (this works only locally)</span>
-    <span class="n">fin</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-
-    <span class="c1">// execute program</span>
-    <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="s">&quot;Azure Example&quot;</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The example shows how to access an Azure table and turn data into Flink’s <code>DataSet</code> (more specifically, the type of the set is <code>DataSet&lt;Tuple2&lt;Text, WritableEntity&gt;&gt;</code>). With the <code>DataSet</code>, you can apply all known transformations to the DataSet.</p>
-
-<h2 id="access-mongodb">Access MongoDB</h2>
-
-<p>This <a href="https://github.com/okkam-it/flink-mongodb-test">GitHub repository documents how to use MongoDB with Apache Flink (starting from 0.7-incubating)</a>.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[06/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/fig/stack.svg
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/fig/stack.svg b/content/docs/master/internals/fig/stack.svg
deleted file mode 100644
index 7cdebc2..0000000
--- a/content/docs/master/internals/fig/stack.svg
+++ /dev/null
@@ -1,606 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.0"
-   width="223.19mm"
-   height="120.14mm"
-   id="svg2"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="Picture1.emf">
-  <metadata
-     id="metadata252">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="640"
-     inkscape:window-height="480"
-     id="namedview250"
-     showgrid="false"
-     inkscape:zoom="0.43625014"
-     inkscape:cx="395.41534"
-     inkscape:cy="212.84645"
-     inkscape:window-x="0"
-     inkscape:window-y="0"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg2" />
-  <defs
-     id="defs4" />
-  <g
-     id="g6">
-    <path
-       style="fill:#d7e4bd;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 336.62761 106.86412   C 336.62761 102.73809 339.96594 99.399763 344.09197 99.399763   L 478.01909 99.399763   C 482.14511 99.399763 485.48345 102.73809 485.48345 106.86412   L 485.48345 136.72156   C 485.48345 140.84759 482.14511 144.18592 478.01909 144.18592   L 344.09197 144.18592   C 339.96594 144.18592 336.62761 140.84759 336.62761 136.72156   z"
-       id="path8" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 336.62761 106.86412   C 336.62761 102.73809 339.96594 99.399763 344.09197 99.399763   L 478.01909 99.399763   C 482.14511 99.399763 485.48345 102.73809 485.48345 106.86412   L 485.48345 136.72156   C 485.48345 140.84759 482.14511 144.18592 478.01909 144.18592   L 344.09197 144.18592   C 339.96594 144.18592 336.62761 140.84759 336.62761 136.72156   z"
-       id="path10" />
-    <text
-       xml:space="preserve"
-       x="363.12525"
-       y="130.71455"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text12">Java API</text>
-    <path
-       style="fill:#8eb4e3;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 159.41471 226.06882   C 159.41471 221.08008 163.46572 217.02907 168.45447 217.02907   L 774.19287 217.02907   C 779.18161 217.02907 783.23262 221.08008 783.23262 226.06882   L 783.23262 262.26534   C 783.23262 267.25408 779.18161 271.30509 774.19287 271.30509   L 168.45447 271.30509   C 163.46572 271.30509 159.41471 267.25408 159.41471 262.26534   z"
-       id="path14" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 159.41471 226.06882   C 159.41471 221.08008 163.46572 217.02907 168.45447 217.02907   L 774.19287 217.02907   C 779.18161 217.02907 783.23262 221.08008 783.23262 226.06882   L 783.23262 262.26534   C 783.23262 267.25408 779.18161 271.30509 774.19287 271.30509   L 168.45447 271.30509   C 163.46572 271.30509 159.41471 267.25408 159.41471 262.26534   z"
-       id="path16" />
-    <text
-       xml:space="preserve"
-       x="393.65398"
-       y="253.07254"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text18">Flink Runtime</text>
-    <path
-       style="fill:#c6d9f1;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 258.66444 162.34044   C 258.66444 157.27668 262.71545 153.22567 267.77921 153.22567   L 774.11785 153.22567   C 779.18161 153.22567 783.23262 157.27668 783.23262 162.34044   L 783.23262 198.79953   C 783.23262 203.82578 779.18161 207.9143 774.11785 207.9143   L 267.77921 207.9143   C 262.71545 207.9143 258.66444 203.82578 258.66444 198.79953   z"
-       id="path20" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 258.66444 162.34044   C 258.66444 157.27668 262.71545 153.22567 267.77921 153.22567   L 774.11785 153.22567   C 779.18161 153.22567 783.23262 157.27668 783.23262 162.34044   L 783.23262 198.79953   C 783.23262 203.82578 779.18161 207.9143 774.11785 207.9143   L 267.77921 207.9143   C 262.71545 207.9143 258.66444 203.82578 258.66444 198.79953   z"
-       id="path22" />
-    <text
-       xml:space="preserve"
-       x="348.84817"
-       y="189.46831"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text24">Flink Common API / Optimizer</text>
-    <path
-       style="fill:#93cddd;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 498.23662 106.86412   C 498.23662 102.73809 501.57495 99.399763 505.70098 99.399763   L 618.37905 99.399763   C 622.50508 99.399763 625.84341 102.73809 625.84341 106.86412   L 625.84341 136.72156   C 625.84341 140.84759 622.50508 144.18592 618.37905 144.18592   L 505.70098 144.18592   C 501.57495 144.18592 498.23662 140.84759 498.23662 136.72156   z"
-       id="path26" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 498.23662 106.86412   C 498.23662 102.73809 501.57495 99.399763 505.70098 99.399763   L 618.37905 99.399763   C 622.50508 99.399763 625.84341 102.73809 625.84341 106.86412   L 625.84341 136.72156   C 625.84341 140.84759 622.50508 144.18592 618.37905 144.18592   L 505.70098 144.18592   C 501.57495 144.18592 498.23662 140.84759 498.23662 136.72156   z"
-       id="path28" />
-    <text
-       xml:space="preserve"
-       x="508.83228"
-       y="130.71455"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text30">Scala</text>
-    <text
-       xml:space="preserve"
-       x="576.94925"
-       y="130.71455"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text32">API</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 637.69637 106.90163   C 637.69637 102.7756 641.0347 99.399763 645.16073 99.399763   L 774.83053 99.399763   C 778.95656 99.399763 782.3324 102.7756 782.3324 106.90163   L 782.3324 136.8716   C 782.3324 141.03514 778.95656 144.37347 774.83053 144.37347   L 645.16073 144.37347   C 641.0347 144.37347 637.69637 141.03514 637.69637 136.8716   z"
-       id="path34" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.037509345px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 636.42105 136.8716   L 636.42105 134.39598   L 638.93417 134.39598   L 638.93417 136.8716   z  M 636.42105 131.88286   L 636.42105 129.36973   L 638.93417 129.36973   L 638.93417 131.88286   z  M 636.42105 126.89411   L 636.42105 124.38099   L 638.93417 124.38099   L 638.93417 126.89411   z  M 636.42105 121.86786   L 636.42105 119.39224   L 638.93417 119.39224   L 638.93417 121.86786   z  M 636.42105 116.87912   L 636.42105 114.36599   L 638.93417 114.36599   L 638.93417 116.87912   z  M 636.42105 111.89037   L 636.42105 109.37725   L 638.93417 109.37725   L 638.93417 111.89037   z  M 636.42105 106.82661   L 636.45856 106.07643   L 636.6086 105.21371   L 636.79614 104.351   L 636.94618 104.01341   L 639.27176 104.87613   L 639.23425 104.98866   L 639.08421 105.5888   L 638.97168 106.18895   L 638.93417 106.93914   z  M 638.37153 101.46278   L 638.89667 100.82512   C 638.97168 100.7501 639.00919 100.71259 639.08421 100.63757   L 640.17198 99.737347   C 640.247 99.699838
  640.28451 99.662328 640.32202 99.624819   L 640.50957 99.512291   L 641.82239 101.65032   L 641.63485 101.76285   L 641.78488 101.65032   L 640.69711 102.58806   L 640.84715 102.40051   L 640.32202 103.07568   z  M 643.13522 98.42452   L 643.36028 98.349501   L 644.22299 98.236973   L 645.12322 98.161955   L 645.94842 98.161955   L 645.94842 100.67508   L 645.23574 100.67508   L 644.59809 100.67508   L 643.99794 100.78761   L 643.77288 100.82512   z  M 648.46155 98.161955   L 650.93716 98.161955   L 650.93716 100.67508   L 648.46155 100.67508   z  M 653.45029 98.161955   L 655.96342 98.161955   L 655.96342 100.67508   L 653.45029 100.67508   z  M 658.43903 98.161955   L 660.95216 98.161955   L 660.95216 100.67508   L 658.43903 100.67508   z  M 663.46529 98.161955   L 665.9409 98.161955   L 665.9409 100.67508   L 663.46529 100.67508   z  M 668.45403 98.161955   L 670.96715 98.161955   L 670.96715 100.67508   L 668.45403 100.67508   z  M 673.44277 98.161955   L 675.9559 98.161955   L
  675.9559 100.67508   L 673.44277 100.67508   z  M 678.46902 98.161955   L 680.94464 98.161955   L 680.94464 100.67508   L 678.46902 100.67508   z  M 683.45777 98.161955   L 685.97089 98.161955   L 685.97089 100.67508   L 683.45777 100.67508   z  M 688.44651 98.161955   L 690.95964 98.161955   L 690.95964 100.67508   L 688.44651 100.67508   z  M 693.47276 98.161955   L 695.94838 98.161955   L 695.94838 100.67508   L 693.47276 100.67508   z  M 698.4615 98.161955   L 700.97463 98.161955   L 700.97463 100.67508   L 698.4615 100.67508   z  M 703.45025 98.161955   L 705.96337 98.161955   L 705.96337 100.67508   L 703.45025 100.67508   z  M 708.4765 98.161955   L 710.95212 98.161955   L 710.95212 100.67508   L 708.4765 100.67508   z  M 713.46524 98.161955   L 715.97837 98.161955   L 715.97837 100.67508   L 713.46524 100.67508   z  M 718.45398 98.161955   L 720.96711 98.161955   L 720.96711 100.67508   L 718.45398 100.67508   z  M 723.48024 98.161955   L 725.95585 98.161955   L 725.95585 1
 00.67508   L 723.48024 100.67508   z  M 728.46898 98.161955   L 730.98211 98.161955   L 730.98211 100.67508   L 728.46898 100.67508   z  M 733.45772 98.161955   L 735.97085 98.161955   L 735.97085 100.67508   L 733.45772 100.67508   z  M 738.48397 98.161955   L 740.95959 98.161955   L 740.95959 100.67508   L 738.48397 100.67508   z  M 743.47272 98.161955   L 745.98584 98.161955   L 745.98584 100.67508   L 743.47272 100.67508   z  M 748.46146 98.161955   L 750.97459 98.161955   L 750.97459 100.67508   L 748.46146 100.67508   z  M 753.48771 98.161955   L 755.96333 98.161955   L 755.96333 100.67508   L 753.48771 100.67508   z  M 758.47646 98.161955   L 760.98958 98.161955   L 760.98958 100.67508   L 758.47646 100.67508   z  M 763.4652 98.161955   L 765.97832 98.161955   L 765.97832 100.67508   L 763.4652 100.67508   z  M 768.49145 98.161955   L 770.96707 98.161955   L 770.96707 100.67508   L 768.49145 100.67508   z  M 773.48019 98.161955   L 774.83053 98.161955   L 775.65574 98.199464 
   L 776.14336 98.274483   L 775.76826 100.7501   L 775.54321 100.71259   L 774.83053 100.67508   L 773.48019 100.67508   z  M 778.88154 99.137198   L 778.95656 99.174707   L 779.66924 99.624819   C 779.74425 99.662328 779.78176 99.699838 779.81927 99.737347   L 780.94455 100.63757   C 780.98206 100.71259 781.05708 100.7501 781.09459 100.82512   L 781.28214 101.01266   L 779.33165 102.58806   L 779.18161 102.40051   L 779.33165 102.58806   L 778.24388 101.65032   L 778.39392 101.76285   L 777.86879 101.46278   L 777.79377 101.42527   z  M 782.82002 103.33824   L 782.85753 103.45077   L 783.1576 104.23847   L 783.38266 105.10118   L 783.5327 105.9639   L 783.5327 106.22646   L 781.05708 106.33899   L 781.05708 106.33899   L 780.98206 105.70133   L 780.83202 105.10118   L 780.60697 104.53854   L 780.56946 104.42602   z  M 783.57021 108.7771   L 783.57021 111.29023   L 781.09459 111.29023   L 781.09459 108.7771   z  M 783.57021 113.80335   L 783.57021 116.27897   L 781.09459 116.27897  
  L 781.09459 113.80335   z  M 783.57021 118.79209   L 783.57021 121.30522   L 781.09459 121.30522   L 781.09459 118.79209   z  M 783.57021 123.78084   L 783.57021 126.29396   L 781.09459 126.29396   L 781.09459 123.78084   z  M 783.57021 128.80709   L 783.57021 131.28271   L 781.09459 131.28271   L 781.09459 128.80709   z  M 783.57021 133.79583   L 783.57021 136.30896   L 781.09459 136.30896   L 781.09459 133.79583   z  M 783.30764 139.08465   L 783.19511 139.42223   L 782.93255 140.24744   L 782.55745 140.99763   L 782.14485 141.7103   L 780.00682 140.39748   L 780.30689 139.94736   L 780.56946 139.38472   L 780.79452 138.78457   L 780.86953 138.44699   z  M 780.15686 143.81083   L 779.81927 144.07339   L 779.06909 144.56101   L 778.28139 144.93611   L 777.56871 145.19867   L 776.74351 142.83558   L 777.23113 142.64804   L 777.75626 142.42298   L 778.24388 142.12291   L 778.54395 141.86034   z  M 774.68049 145.64878   L 772.20488 145.64878   L 772.20488 143.13566   L 774.68049 143.
 13566   z  M 769.69175 145.64878   L 767.17862 145.64878   L 767.17862 143.13566   L 769.69175 143.13566   z  M 764.70301 145.64878   L 762.18988 145.64878   L 762.18988 143.13566   L 764.70301 143.13566   z  M 759.67675 145.64878   L 757.20114 145.64878   L 757.20114 143.13566   L 759.67675 143.13566   z  M 754.68801 145.64878   L 752.17489 145.64878   L 752.17489 143.13566   L 754.68801 143.13566   z  M 749.69927 145.64878   L 747.18614 145.64878   L 747.18614 143.13566   L 749.69927 143.13566   z  M 744.67302 145.64878   L 742.1974 145.64878   L 742.1974 143.13566   L 744.67302 143.13566   z  M 739.68427 145.64878   L 737.17115 145.64878   L 737.17115 143.13566   L 739.68427 143.13566   z  M 734.69553 145.64878   L 732.1824 145.64878   L 732.1824 143.13566   L 734.69553 143.13566   z  M 729.66928 145.64878   L 727.19366 145.64878   L 727.19366 143.13566   L 729.66928 143.13566   z  M 724.68054 145.64878   L 722.16741 145.64878   L 722.16741 143.13566   L 724.68054 143.13566   z  
 M 719.69179 145.64878   L 717.17867 145.64878   L 717.17867 143.13566   L 719.69179 143.13566   z  M 714.66554 145.64878   L 712.18992 145.64878   L 712.18992 143.13566   L 714.66554 143.13566   z  M 709.6768 145.64878   L 707.16367 145.64878   L 707.16367 143.13566   L 709.6768 143.13566   z  M 704.68806 145.64878   L 702.17493 145.64878   L 702.17493 143.13566   L 704.68806 143.13566   z  M 699.6618 145.64878   L 697.18619 145.64878   L 697.18619 143.13566   L 699.6618 143.13566   z  M 694.67306 145.64878   L 692.15993 145.64878   L 692.15993 143.13566   L 694.67306 143.13566   z  M 689.68432 145.64878   L 687.17119 145.64878   L 687.17119 143.13566   L 689.68432 143.13566   z  M 684.65807 145.64878   L 682.18245 145.64878   L 682.18245 143.13566   L 684.65807 143.13566   z  M 679.66932 145.64878   L 677.1562 145.64878   L 677.1562 143.13566   L 679.66932 143.13566   z  M 674.68058 145.64878   L 672.16745 145.64878   L 672.16745 143.13566   L 674.68058 143.13566   z  M 669.65433 1
 45.64878   L 667.17871 145.64878   L 667.17871 143.13566   L 669.65433 143.13566   z  M 664.66558 145.64878   L 662.15246 145.64878   L 662.15246 143.13566   L 664.66558 143.13566   z  M 659.67684 145.64878   L 657.16372 145.64878   L 657.16372 143.13566   L 659.67684 143.13566   z  M 654.65059 145.64878   L 652.17497 145.64878   L 652.17497 143.13566   L 654.65059 143.13566   z  M 649.66185 145.64878   L 647.14872 145.64878   L 647.14872 143.13566   L 649.66185 143.13566   z  M 644.59809 145.61128   L 644.33552 145.61128   L 643.47281 145.46124   L 642.6476 145.23618   L 641.82239 144.97362   L 641.70987 144.8986   L 642.68511 142.61053   L 642.68511 142.61053   L 643.28526 142.83558   L 643.8479 142.98562   L 644.48556 143.09815   L 644.71061 143.09815   z  M 639.38429 143.39822   L 639.08421 143.13566   C 639.00919 143.09815 638.97168 143.06064 638.89667 142.98562   L 637.99644 141.86034   L 637.54633 141.14766   L 639.64685 139.83484   L 639.94693 140.28495   L 640.84715 141.410
 23   L 640.6596 141.22268   L 640.95968 141.44774   z  M 636.57109 138.29695   L 636.49607 137.84684   L 636.42105 136.94662   L 638.93417 136.83409   L 638.97168 137.47175   L 639.0467 137.92186   z"
-       id="path36" />
-    <text
-       xml:space="preserve"
-       x="644.23405"
-       y="130.80306"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text38">SQL,Python</text>
-    <path
-       style="fill:#bfbfbf;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 67.254255 361.62759   C 67.254255 355.6636 72.055451 350.86241 78.019437 350.86241   L 772.46744 350.86241   C 778.43143 350.86241 783.23262 355.6636 783.23262 361.62759   L 783.23262 404.72583   C 783.23262 410.68981 778.43143 415.49101 772.46744 415.49101   L 78.019437 415.49101   C 72.055451 415.49101 67.254255 410.68981 67.254255 404.72583   z"
-       id="path40" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 67.254255 361.62759   C 67.254255 355.6636 72.055451 350.86241 78.019437 350.86241   L 772.46744 350.86241   C 778.43143 350.86241 783.23262 355.6636 783.23262 361.62759   L 783.23262 404.72583   C 783.23262 410.68981 778.43143 415.49101 772.46744 415.49101   L 78.019437 415.49101   C 72.055451 415.49101 67.254255 410.68981 67.254255 404.72583   z"
-       id="path42" />
-    <text
-       xml:space="preserve"
-       x="79.454242"
-       y="390.14011"
-       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text44">Storage </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 356.48881 365.20973   C 356.48881 360.2585 360.50231 356.22624 365.45354 356.22624   L 449.90583 356.22624   C 454.87582 356.22624 458.88932 360.2585 458.88932 365.20973   L 458.88932 401.12493   C 458.88932 406.09492 454.87582 410.10842 449.90583 410.10842   L 365.45354 410.10842   C 360.50231 410.10842 356.48881 406.09492 356.48881 401.12493   z"
-       id="path46" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 356.48881 365.20973   C 356.48881 360.2585 360.50231 356.22624 365.45354 356.22624   L 449.90583 356.22624   C 454.87582 356.22624 458.88932 360.2585 458.88932 365.20973   L 458.88932 401.12493   C 458.88932 406.09492 454.87582 410.10842 449.90583 410.10842   L 365.45354 410.10842   C 360.50231 410.10842 356.48881 406.09492 356.48881 401.12493   z"
-       id="path48" />
-    <text
-       xml:space="preserve"
-       x="376.31276"
-       y="392.09071"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text50">HDFS </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 225.39365 365.20973   C 225.39365 360.2585 229.42591 356.22624 234.37714 356.22624   L 331.11374 356.22624   C 336.06497 356.22624 340.09723 360.2585 340.09723 365.20973   L 340.09723 401.12493   C 340.09723 406.09492 336.06497 410.10842 331.11374 410.10842   L 234.37714 410.10842   C 229.42591 410.10842 225.39365 406.09492 225.39365 401.12493   z"
-       id="path52" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 225.39365 365.20973   C 225.39365 360.2585 229.42591 356.22624 234.37714 356.22624   L 331.11374 356.22624   C 336.06497 356.22624 340.09723 360.2585 340.09723 365.20973   L 340.09723 401.12493   C 340.09723 406.09492 336.06497 410.10842 331.11374 410.10842   L 234.37714 410.10842   C 229.42591 410.10842 225.39365 406.09492 225.39365 401.12493   z"
-       id="path54" />
-    <text
-       xml:space="preserve"
-       x="253.91802"
-       y="378.58735"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text56">Local </text>
-    <text
-       xml:space="preserve"
-       x="257.51892"
-       y="405.59407"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text58">Files </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 472.01759 366.39128   C 472.01759 361.44004 476.03109 357.42654 480.98232 357.42654   L 565.15329 357.42654   C 570.12328 357.42654 574.13678 361.44004 574.13678 366.39128   L 574.13678 402.32523   C 574.13678 407.27646 570.12328 411.28996 565.15329 411.28996   L 480.98232 411.28996   C 476.03109 411.28996 472.01759 407.27646 472.01759 402.32523   z"
-       id="path60" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 472.01759 366.39128   C 472.01759 361.44004 476.03109 357.42654 480.98232 357.42654   L 565.15329 357.42654   C 570.12328 357.42654 574.13678 361.44004 574.13678 366.39128   L 574.13678 402.32523   C 574.13678 407.27646 570.12328 411.28996 565.15329 411.28996   L 480.98232 411.28996   C 476.03109 411.28996 472.01759 407.27646 472.01759 402.32523   z"
-       id="path62" />
-    <text
-       xml:space="preserve"
-       x="508.21008"
-       y="393.27592"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text64">S3</text>
-    <path
-       style="fill:#c3d69b;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 67.254255 291.59764   C 67.254255 285.63366 72.055451 280.79495 78.019437 280.79495   L 772.46744 280.79495   C 778.43143 280.79495 783.23262 285.63366 783.23262 291.59764   L 783.23262 334.69588   C 783.23262 340.65987 778.43143 345.46106 772.46744 345.46106   L 78.019437 345.46106   C 72.055451 345.46106 67.254255 340.65987 67.254255 334.69588   z"
-       id="path66" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 67.254255 291.59764   C 67.254255 285.63366 72.055451 280.79495 78.019437 280.79495   L 772.46744 280.79495   C 778.43143 280.79495 783.23262 285.63366 783.23262 291.59764   L 783.23262 334.69588   C 783.23262 340.65987 778.43143 345.46106 772.46744 345.46106   L 78.019437 345.46106   C 72.055451 345.46106 67.254255 340.65987 67.254255 334.69588   z"
-       id="path68" />
-    <text
-       xml:space="preserve"
-       x="79.454242"
-       y="308.99647"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text70">Cluster</text>
-    <text
-       xml:space="preserve"
-       x="79.454242"
-       y="333.00247"
-       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text72">Manager </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 412.00264 295.17979   C 412.00264 290.2098 416.01614 286.1963 420.96737 286.1963   L 564.19681 286.1963   C 569.16679 286.1963 573.18029 290.2098 573.18029 295.17979   L 573.18029 331.09498   C 573.18029 336.04622 569.16679 340.07847 564.19681 340.07847   L 420.96737 340.07847   C 416.01614 340.07847 412.00264 336.04622 412.00264 331.09498   z"
-       id="path74" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 412.00264 295.17979   C 412.00264 290.2098 416.01614 286.1963 420.96737 286.1963   L 564.19681 286.1963   C 569.16679 286.1963 573.18029 290.2098 573.18029 295.17979   L 573.18029 331.09498   C 573.18029 336.04622 569.16679 340.07847 564.19681 340.07847   L 420.96737 340.07847   C 416.01614 340.07847 412.00264 336.04622 412.00264 331.09498   z"
-       id="path76" />
-    <text
-       xml:space="preserve"
-       x="462.29091"
-       y="322.04981"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text78">YARN </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 588.70916 295.19854   C 588.70916 290.2098 592.72266 286.1963 597.6739 286.1963   L 763.24014 286.1963   C 768.19138 286.1963 772.20488 290.2098 772.20488 295.19854   L 772.20488 331.09498   C 772.20488 336.04622 768.19138 340.09723 763.24014 340.09723   L 597.6739 340.09723   C 592.72266 340.09723 588.70916 336.04622 588.70916 331.09498   z"
-       id="path80" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 588.70916 295.19854   C 588.70916 290.2098 592.72266 286.1963 597.6739 286.1963   L 763.24014 286.1963   C 768.19138 286.1963 772.20488 290.2098 772.20488 295.19854   L 772.20488 331.09498   C 772.20488 336.04622 768.19138 340.09723 763.24014 340.09723   L 597.6739 340.09723   C 592.72266 340.09723 588.70916 336.04622 588.70916 331.09498   z"
-       id="path82" />
-    <text
-       xml:space="preserve"
-       x="658.31057"
-       y="322.04981"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text84">EC2 </text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 237.67796 295.17979   C 237.67796 290.2098 241.71022 286.1963 246.66145 286.1963   L 391.44752 286.1963   C 396.39875 286.1963 400.41225 290.2098 400.41225 295.17979   L 400.41225 331.09498   C 400.41225 336.04622 396.39875 340.07847 391.44752 340.07847   L 246.66145 340.07847   C 241.71022 340.07847 237.67796 336.04622 237.67796 331.09498   z"
-       id="path86" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 237.67796 295.17979   C 237.67796 290.2098 241.71022 286.1963 246.66145 286.1963   L 391.44752 286.1963   C 396.39875 286.1963 400.41225 290.2098 400.41225 295.17979   L 400.41225 331.09498   C 400.41225 336.04622 396.39875 340.07847 391.44752 340.07847   L 246.66145 340.07847   C 241.71022 340.07847 237.67796 336.04622 237.67796 331.09498   z"
-       id="path88" />
-    <text
-       xml:space="preserve"
-       x="285.42287"
-       y="322.04981"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text90">Direct</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 705.2507 365.22849   C 705.2507 360.27725 709.3017 356.22624 714.25294 356.22624   L 763.24014 356.22624   C 768.19138 356.22624 772.20488 360.27725 772.20488 365.22849   L 772.20488 401.12493   C 772.20488 406.11367 768.19138 410.12717 763.24014 410.12717   L 714.25294 410.12717   C 709.3017 410.12717 705.2507 406.11367 705.2507 401.12493   z"
-       id="path92" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 705.2507 365.22849   C 705.2507 360.27725 709.3017 356.22624 714.25294 356.22624   L 763.24014 356.22624   C 768.19138 356.22624 772.20488 360.27725 772.20488 365.22849   L 772.20488 401.12493   C 772.20488 406.11367 768.19138 410.12717 763.24014 410.12717   L 714.25294 410.12717   C 709.3017 410.12717 705.2507 406.11367 705.2507 401.12493   z"
-       id="path94" />
-    <text
-       xml:space="preserve"
-       x="726.42582"
-       y="392.09071"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text96">...</text>
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 588.70916 366.39128   C 588.70916 361.44004 592.72266 357.42654 597.6739 357.42654   L 681.84486 357.42654   C 686.7961 357.42654 690.8096 361.44004 690.8096 366.39128   L 690.8096 402.32523   C 690.8096 407.27646 686.7961 411.28996 681.84486 411.28996   L 597.6739 411.28996   C 592.72266 411.28996 588.70916 407.27646 588.70916 402.32523   z"
-       id="path98" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 588.70916 366.39128   C 588.70916 361.44004 592.72266 357.42654 597.6739 357.42654   L 681.84486 357.42654   C 686.7961 357.42654 690.8096 361.44004 690.8096 366.39128   L 690.8096 402.32523   C 690.8096 407.27646 686.7961 411.28996 681.84486 411.28996   L 597.6739 411.28996   C 592.72266 411.28996 588.70916 407.27646 588.70916 402.32523   z"
-       id="path100" />
-    <text
-       xml:space="preserve"
-       x="610.33872"
-       y="393.27592"
-       style="font-size:22.505608px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text102">JDBC</text>
-    <text
-       xml:space="preserve"
-       x="66.875322"
-       y="177.50977"
-       style="font-size:13.803439px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text104">JobGraphs</text>
-    <text
-       xml:space="preserve"
-       x="30.416239"
-       y="194.01388"
-       style="font-size:13.803439px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text106">(generic data stream</text>
-    <text
-       xml:space="preserve"
-       x="70.476219"
-       y="210.51799"
-       style="font-size:13.803439px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text108">program)</text>
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 93.585815 151.16266   C 93.585815 147.27106 96.745977 144.1109 100.63757 144.1109   C 104.52917 144.1109 107.68933 147.27106 107.68933 151.16266   C 107.68933 155.05425 104.52917 158.21442 100.63757 158.21442   C 96.745977 158.21442 93.585815 155.05425 93.585815 151.16266 "
-       id="path110" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 93.585815 151.16266   C 93.585815 147.27106 96.745977 144.1109 100.63757 144.1109   C 104.52917 144.1109 107.68933 147.27106 107.68933 151.16266   C 107.68933 155.05425 104.52917 158.21442 100.63757 158.21442   C 96.745977 158.21442 93.585815 155.05425 93.585815 151.16266  "
-       id="path112" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 130.91699 151.16266   C 130.91699 147.27106 134.06777 144.1109 137.96875 144.1109   C 141.86034 144.1109 145.01113 147.27106 145.01113 151.16266   C 145.01113 155.05425 141.86034 158.21442 137.96875 158.21442   C 134.06777 158.21442 130.91699 155.05425 130.91699 151.16266 "
-       id="path114" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 130.91699 151.16266   C 130.91699 147.27106 134.06777 144.1109 137.96875 144.1109   C 141.86034 144.1109 145.01113 147.27106 145.01113 151.16266   C 145.01113 155.05425 141.86034 158.21442 137.96875 158.21442   C 134.06777 158.21442 130.91699 155.05425 130.91699 151.16266  "
-       id="path116" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 113.7002 123.99652   C 113.7002 120.10492 116.90725 116.94476 120.85511 116.94476   C 124.81234 116.94476 128.01002 120.10492 128.01002 123.99652   C 128.01002 127.88811 124.81234 131.04827 120.85511 131.04827   C 116.90725 131.04827 113.7002 127.88811 113.7002 123.99652 "
-       id="path118" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 113.7002 123.99652   C 113.7002 120.10492 116.90725 116.94476 120.85511 116.94476   C 124.81234 116.94476 128.01002 120.10492 128.01002 123.99652   C 128.01002 127.88811 124.81234 131.04827 120.85511 131.04827   C 116.90725 131.04827 113.7002 127.88811 113.7002 123.99652  "
-       id="path120" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 113.7002 96.005167   C 113.7002 92.113573 116.90725 88.953411 120.85511 88.953411   C 124.81234 88.953411 128.01002 92.113573 128.01002 96.005167   C 128.01002 99.896762 124.81234 103.05692 120.85511 103.05692   C 116.90725 103.05692 113.7002 99.896762 113.7002 96.005167 "
-       id="path122" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 113.7002 96.005167   C 113.7002 92.113573 116.90725 88.953411 120.85511 88.953411   C 124.81234 88.953411 128.01002 92.113573 128.01002 96.005167   C 128.01002 99.896762 124.81234 103.05692 120.85511 103.05692   C 116.90725 103.05692 113.7002 99.896762 113.7002 96.005167  "
-       id="path124" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 105.06367 145.63003   L 119.15781 131.53589   L 120.26434 132.64242   L 106.1702 146.73656   z  M 113.79397 132.6518   L 120.76133 131.0389   L 119.14843 138.00626   C 119.05466 138.42824 118.63268 138.6908 118.2107 138.59703   C 117.78872 138.49388 117.52615 138.08127 117.6293 137.65929   L 118.95151 131.91099   L 119.88924 132.84872   L 114.14094 134.17093   C 113.71896 134.27408 113.30635 134.01151 113.2032 133.58953   C 113.10943 133.16755 113.37199 132.74557 113.79397 132.6518   z"
-       id="path126" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 119.97364 117.14168   L 120.16119 104.71671   L 121.71782 104.74484   L 121.53028 117.16981   z  M 117.08542 109.25534   L 120.95826 103.25385   L 124.66231 109.37725   C 124.87799 109.74296 124.76546 110.22121 124.39036 110.44626   C 124.02465 110.67132 123.5464 110.54942 123.32135 110.1837   L 120.27371 105.12932   L 121.59592 105.15745   L 118.39825 110.10868   C 118.16381 110.4744 117.67619 110.57755 117.31047 110.34311   C 116.95414 110.10868 116.85099 109.62106 117.08542 109.25534   z"
-       id="path128" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 74.924916 151.16266   C 74.924916 147.27106 78.085078 144.1109 81.976672 144.1109   C 85.868267 144.1109 89.028429 147.27106 89.028429 151.16266   C 89.028429 155.05425 85.868267 158.21442 81.976672 158.21442   C 78.085078 158.21442 74.924916 155.05425 74.924916 151.16266 "
-       id="path130" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 74.924916 151.16266   C 74.924916 147.27106 78.085078 144.1109 81.976672 144.1109   C 85.868267 144.1109 89.028429 147.27106 89.028429 151.16266   C 89.028429 155.05425 85.868267 158.21442 81.976672 158.21442   C 78.085078 158.21442 74.924916 155.05425 74.924916 151.16266  "
-       id="path132" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 56.264017 151.16266   C 56.264017 147.27106 59.414802 144.1109 63.315774 144.1109   C 67.207368 144.1109 70.36753 147.27106 70.36753 151.16266   C 70.36753 155.05425 67.207368 158.21442 63.315774 158.21442   C 59.414802 158.21442 56.264017 155.05425 56.264017 151.16266 "
-       id="path134" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 56.264017 151.16266   C 56.264017 147.27106 59.414802 144.1109 63.315774 144.1109   C 67.207368 144.1109 70.36753 147.27106 70.36753 151.16266   C 70.36753 155.05425 67.207368 158.21442 63.315774 158.21442   C 59.414802 158.21442 56.264017 155.05425 56.264017 151.16266  "
-       id="path136" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 37.603118 151.16266   C 37.603118 147.27106 40.753903 144.1109 44.654875 144.1109   C 48.546469 144.1109 51.697254 147.27106 51.697254 151.16266   C 51.697254 155.05425 48.546469 158.21442 44.654875 158.21442   C 40.753903 158.21442 37.603118 155.05425 37.603118 151.16266 "
-       id="path138" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 37.603118 151.16266   C 37.603118 147.27106 40.753903 144.1109 44.654875 144.1109   C 48.546469 144.1109 51.697254 147.27106 51.697254 151.16266   C 51.697254 155.05425 48.546469 158.21442 44.654875 158.21442   C 40.753903 158.21442 37.603118 155.05425 37.603118 151.16266  "
-       id="path140" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 76.378403 123.99652   C 76.378403 120.10492 79.576074 116.94476 83.53331 116.94476   C 87.481169 116.94476 90.688218 120.10492 90.688218 123.99652   C 90.688218 127.88811 87.481169 131.04827 83.53331 131.04827   C 79.576074 131.04827 76.378403 127.88811 76.378403 123.99652 "
-       id="path142" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 76.378403 123.99652   C 76.378403 120.10492 79.576074 116.94476 83.53331 116.94476   C 87.481169 116.94476 90.688218 120.10492 90.688218 123.99652   C 90.688218 127.88811 87.481169 131.04827 83.53331 131.04827   C 79.576074 131.04827 76.378403 127.88811 76.378403 123.99652  "
-       id="path144" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 149.57789 151.16266   C 149.57789 147.27106 152.72867 144.1109 156.62965 144.1109   C 160.52124 144.1109 163.6814 147.27106 163.6814 151.16266   C 163.6814 155.05425 160.52124 158.21442 156.62965 158.21442   C 152.72867 158.21442 149.57789 155.05425 149.57789 151.16266 "
-       id="path146" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 149.57789 151.16266   C 149.57789 147.27106 152.72867 144.1109 156.62965 144.1109   C 160.52124 144.1109 163.6814 147.27106 163.6814 151.16266   C 163.6814 155.05425 160.52124 158.21442 156.62965 158.21442   C 152.72867 158.21442 149.57789 155.05425 149.57789 151.16266  "
-       id="path148" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 76.378403 96.005167   C 76.378403 92.113573 79.576074 88.953411 83.53331 88.953411   C 87.481169 88.953411 90.688218 92.113573 90.688218 96.005167   C 90.688218 99.896762 87.481169 103.05692 83.53331 103.05692   C 79.576074 103.05692 76.378403 99.896762 76.378403 96.005167 "
-       id="path150" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 76.378403 96.005167   C 76.378403 92.113573 79.576074 88.953411 83.53331 88.953411   C 87.481169 88.953411 90.688218 92.113573 90.688218 96.005167   C 90.688218 99.896762 87.481169 103.05692 83.53331 103.05692   C 79.576074 103.05692 76.378403 99.896762 76.378403 96.005167  "
-       id="path152" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 81.723484 143.37009   L 119.11092 130.77633   L 119.60792 132.25795   L 82.229861 144.85171   z  M 113.80335 129.38848   L 120.76133 131.04827   L 116.2227 136.57152   C 115.95076 136.89973 115.45376 136.95599 115.12556 136.67467   C 114.78797 136.40273 114.74108 135.91511 115.01303 135.57753   L 118.75458 131.02014   L 119.17656 132.2767   L 113.43764 130.90761   C 113.02503 130.81384 112.76247 130.39186 112.86562 129.96988   C 112.95939 129.5479 113.38137 129.29471 113.80335 129.38848   z"
-       id="path154" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 133.2707 145.45186   L 90.266238 128.77896   L 89.69422 130.23244   L 132.70806 146.91473   z  M 95.630074 127.63492   L 88.606449 128.97588   L 92.891892 134.69606   C 93.14508 135.04302 93.632701 135.10866 93.979663 134.85547   C 94.326624 134.59291 94.401643 134.10528 94.139077 133.75832   L 90.603822 129.03215   L 90.125578 130.26995   L 95.920771 129.16343   C 96.342751 129.08841 96.624071 128.67581 96.539675 128.25383   C 96.464657 127.83185 96.052054 127.55053 95.630074 127.63492   z"
-       id="path156" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 152.08164 145.53626   L 127.58804 129.14467   L 126.72532 130.43875   L 151.21892 146.83033   z  M 133.07378 129.19156   L 125.92825 128.9665   L 128.86335 135.49313   C 129.04152 135.88698 129.50101 136.05577 129.89486 135.88698   C 130.28871 135.70881 130.46688 135.23994 130.28871 134.84609   L 127.86936 129.47288   L 127.13792 130.57003   L 133.02689 130.75757   C 133.45825 130.76695 133.82396 130.42937 133.83334 129.99801   C 133.84272 129.56665 133.50513 129.21031 133.07378 129.19156   z"
-       id="path158" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 62.762511 143.55764   L 76.856647 129.4635   L 77.963173 130.56065   L 63.869036 144.66416   z  M 71.492811 130.57941   L 78.450794 128.9665   L 76.84727 135.93386   C 76.753496 136.35584 76.331516 136.61841 75.909536 136.52464   C 75.487556 136.42149 75.22499 135.99951 75.328141 135.5869   L 76.650346 129.8386   L 77.588079 130.77633   L 71.839772 132.09853   C 71.417792 132.20168 71.005189 131.93912 70.902038 131.51714   C 70.808265 131.09516 71.070831 130.67318 71.492811 130.57941   z"
-       id="path160" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 44.326668 143.39822   L 76.791006 128.86335   L 77.428664 130.28871   L 44.973704 144.82358   z  M 71.370905 127.99126   L 78.460171 128.97588   L 74.474804 134.90236   C 74.230993 135.26807 73.743371 135.36185 73.387033 135.11804   C 73.030694 134.8836 72.93692 134.39598 73.171354 134.03964   L 76.462799 129.1353   L 77.006684 130.34497   L 71.164604 129.53852   C 70.733246 129.48226 70.433172 129.08841 70.489436 128.65705   C 70.555077 128.23507 70.948925 127.935 71.370905 127.99126   z"
-       id="path162" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 82.642463 117.14168   L 82.83001 104.71671   L 84.396025 104.74484   L 84.208478 117.16981   z  M 79.754244 109.25534   L 83.636461 103.25385   L 87.331131 109.37725   C 87.556187 109.74296 87.434282 110.22121 87.068566 110.44626   C 86.70285 110.67132 86.215228 110.54942 85.99955 110.1837   L 85.99955 110.1837   L 82.942538 105.12932   L 84.264742 105.15745   L 81.067071 110.10868   C 80.832637 110.4744 80.354393 110.57755 79.988677 110.34311   C 79.622961 110.10868 79.51981 109.62106 79.754244 109.25534   z"
-       id="path164" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 88.175092 118.37011   L 114.12218 101.14395   L 114.9849 102.4474   L 89.047184 119.67356   z  M 108.63644 101.17208   L 115.78197 100.97516   L 112.82811 107.48303   C 112.64994 107.87687 112.18107 108.05504 111.7966 107.87687   C 111.40275 107.69871 111.22458 107.22984 111.40275 106.83599   L 113.84086 101.47215   L 114.57229 102.5693   L 108.67395 102.73809   C 108.24259 102.74747 107.88625 102.40989 107.87687 101.97853   C 107.8675 101.54717 108.20508 101.18146 108.63644 101.17208   z"
-       id="path166" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 116.20395 118.37011   L 90.266238 101.14395   L 89.403523 102.4474   L 115.34123 119.67356   z  M 95.751979 101.17208   L 88.606449 100.97516   L 91.56031 107.48303   L 91.56031 107.48303   C 91.738479 107.87687 92.197969 108.05504 92.591817 107.87687   C 92.985665 107.69871 93.163834 107.22984 92.985665 106.83599   L 90.547558 101.47215   L 89.816125 102.5693   L 95.705093 102.73809   C 96.13645 102.74747 96.502166 102.40989 96.511543 101.97853   C 96.520921 101.54717 96.183337 101.18146 95.751979 101.17208   z"
-       id="path168" />
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 390.73484 13.822193   L 433.27044 13.822193   L 433.27044 56.35779   L 426.18117 63.447056   L 390.73484 63.447056  z "
-       id="path170" />
-    <path
-       style="fill:#cdcdcd;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 426.18117 63.447056   L 427.58777 57.783145   L 433.27044 56.35779  z "
-       id="path172" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.2565631px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 426.18117 63.447056   L 427.58777 57.783145   L 433.27044 56.35779   L 426.18117 63.447056   L 390.73484 63.447056   L 390.73484 13.822193   L 433.27044 13.822193   L 433.27044 56.35779  "
-       id="path174" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 18.342069   L 422.63654 18.342069  "
-       id="path176" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 22.843191   L 427.94411 22.843191  "
-       id="path178" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 27.363067   L 417.31021 27.363067  "
-       id="path180" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 31.882943   L 427.94411 31.882943  "
-       id="path182" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 36.384064   L 427.94411 36.384064  "
-       id="path184" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.04241 40.90394   L 409.33948 40.90394  "
-       id="path186" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 396.07992 45.405062   L 422.63654 45.405062  "
-       id="path188" />
-    <path
-       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 539.19683 12.88446   L 581.73242 12.88446   L 581.73242 55.420057   L 574.64316 62.509323   L 539.19683 62.509323  z "
-       id="path190" />
-    <path
-       style="fill:#cdcdcd;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 574.64316 62.509323   L 576.06851 56.826657   L 581.73242 55.420057  z "
-       id="path192" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.2565631px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 574.64316 62.509323   L 576.06851 56.826657   L 581.73242 55.420057   L 574.64316 62.509323   L 539.19683 62.509323   L 539.19683 12.88446   L 581.73242 12.88446   L 581.73242 55.420057  "
-       id="path194" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 17.385581   L 571.09852 17.385581  "
-       id="path196" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 21.905457   L 576.42485 21.905457  "
-       id="path198" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 26.406579   L 565.79095 26.406579  "
-       id="path200" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 30.926455   L 576.42485 30.926455  "
-       id="path202" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 35.427576   L 576.42485 35.427576  "
-       id="path204" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.52315 39.947452   L 557.82022 39.947452  "
-       id="path206" />
-    <path
-       style="fill:none;stroke:#000000;stroke-width:1.8754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 544.54191 44.448573   L 571.09852 44.448573  "
-       id="path208" />
-    <text
-       xml:space="preserve"
-       x="364.78497"
-       y="80.72277"
-       style="font-size:13.803439px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text210">Java Program</text>
-    <text
-       xml:space="preserve"
-       x="512.48505"
-       y="81.674089"
-       style="font-size:13.803439px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text212">Scala Program</text>
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 203.20687 48.968449   L 203.20687 56.620356   L 223.62133 56.620356   L 223.62133 48.968449   L 203.20687 48.968449  z "
-       id="path214" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 203.20687 48.968449   L 223.62133 48.968449   L 223.62133 56.620356   L 203.20687 56.620356  z "
-       id="path216" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 244.0358 48.968449   L 244.0358 56.620356   L 264.45026 56.620356   L 264.45026 48.968449   L 244.0358 48.968449  z "
-       id="path218" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 244.0358 48.968449   L 264.45026 48.968449   L 264.45026 56.620356   L 244.0358 56.620356  z "
-       id="path220" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 223.62133 31.967339   L 223.62133 39.619245   L 244.0358 39.619245   L 244.0358 31.967339   L 223.62133 31.967339  z "
-       id="path222" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 223.62133 31.967339   L 244.0358 31.967339   L 244.0358 39.619245   L 223.62133 39.619245  z "
-       id="path224" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 223.62133 15.622642   L 223.62133 23.274548   L 244.0358 23.274548   L 244.0358 15.622642   L 223.62133 15.622642  z "
-       id="path226" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 223.62133 15.622642   L 244.0358 15.622642   L 244.0358 23.274548   L 223.62133 23.274548  z "
-       id="path228" />
-    <path
-       style="fill:#9bbb59;fill-rule:evenodd;fill-opacity:1;stroke:none;"
-       d="  M 203.20687 66.35403   L 203.20687 74.005937   L 223.62133 74.005937   L 223.62133 66.35403   L 203.20687 66.35403  z "
-       id="path230" />
-    <path
-       style="fill:none;stroke:#71893f;stroke-width:1.5660151px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 203.20687 66.35403   L 223.62133 66.35403   L 223.62133 74.005937   L 203.20687 74.005937  z "
-       id="path232" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 212.6311 66.485313   L 212.6311 61.552834   C 212.6311 61.121477 212.97806 60.774515 213.40942 60.774515   L 213.40942 60.774515   L 212.6311 61.552834   L 212.6311 58.092597   L 214.19711 58.092597   L 214.19711 61.552834   C 214.19711 61.984192 213.84077 62.331153 213.40942 62.331153   L 213.40942 62.331153   L 214.19711 61.552834   L 214.19711 66.485313   z  M 209.62097 62.678115   L 213.40942 56.620356   L 217.19786 62.678115   C 217.43229 63.043831 217.31976 63.522075 216.95405 63.756508   C 216.58833 63.981564 216.10071 63.869036 215.87566 63.50332   L 212.753 58.5052   L 214.07521 58.5052   L 210.95255 63.50332   C 210.71812 63.869036 210.23988 63.981564 209.87416 63.756508   C 209.50844 63.522075 209.39592 63.043831 209.62097 62.678115   z"
-       id="path234" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 255.02603 48.968449   L 255.02603 46.436569   C 255.02603 46.005211 254.67907 45.65825 254.24771 45.65825   L 233.83325 45.65825   L 234.61157 46.436569   L 234.61157 41.091487   L 233.04556 41.091487   L 233.04556 46.436569   C 233.04556 46.867926 233.4019 47.224265 233.83325 47.224265   L 254.24771 47.224265   L 253.4694 46.436569   L 253.4694 48.968449   z  M 237.6217 45.677004   L 233.83325 39.619245   L 230.04481 45.677004   C 229.81038 46.04272 229.9229 46.530342 230.28862 46.755398   C 230.65434 46.989831 231.14196 46.877303 231.36701 46.511587   L 234.48967 41.50409   L 233.16746 41.50409   L 236.29012 46.511587   C 236.52455 46.877303 237.00279 46.989831 237.36851 46.755398   C 237.73423 46.530342 237.84675 46.04272 237.6217 45.677004   z"
-       id="path236" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 212.6311 48.968449   L 212.6311 45.90206   C 212.6311 45.470703 212.97806 45.123741 213.40942 45.123741   L 233.83325 45.123741   L 233.04556 45.90206   L 233.04556 41.091487   L 234.61157 41.091487   L 234.61157 45.90206   C 234.61157 46.333418 234.26461 46.680379 233.83325 46.680379   L 213.40942 46.680379   L 214.19711 45.90206   L 214.19711 48.968449   z  M 230.04481 45.677004   L 233.83325 39.619245   L 237.6217 45.677004   C 237.84675 46.04272 237.73423 46.530342 237.36851 46.755398   C 237.00279 46.989831 236.52455 46.877303 236.29012 46.511587   L 233.16746 41.50409   L 234.48967 41.50409   L 231.36701 46.511587   C 231.14196 46.877303 230.65434 46.989831 230.28862 46.755398   C 229.9229 46.530342 229.81038 46.04272 230.04481 45.677004   z"
-       id="path238" />
-    <path
-       style="fill:#77933c;fill-rule:nonzero;fill-opacity:1;stroke:#77933c;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 233.04556 31.967339   L 233.04556 27.625632   C 233.04556 27.194275 233.38314 26.856691 233.80512 26.837936   L 233.80512 26.837936   L 233.04556 27.625632   L 233.04556 24.74679   L 234.61157 24.74679   L 234.61157 27.625632   C 234.61157 28.047612 234.27399 28.385196 233.85201 28.403951   L 233.85201 28.403951   L 234.61157 27.625632   L 234.61157 31.967339   z  M 230.04481 29.332307   L 233.83325 23.265171   L 237.6217 29.332307   C 237.84675 29.698024 237.73423 30.176268 237.36851 30.410701   C 237.00279 30.635757 236.52455 30.523229 236.29012 30.157513   L 233.16746 25.159393   L 234.48967 25.159393   L 231.36701 30.157513   C 231.14196 30.523229 230.65434 30.635757 230.28862 30.410701   C 229.9229 30.176268 229.81038 29.698024 230.04481 29.332307   z"
-       id="path240" />
-    <text
-       xml:space="preserve"
-       x="176.83757"
-       y="91.124374"
-       style="font-size:13.803439px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text242">Operator DAG</text>
-    <text
-       xml:space="preserve"
-       x="172.78656"
-       y="107.62849"
-       style="font-size:13.803439px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
-       id="text244">(type agnostic)</text>
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 272.82422 92.029177   L 300.2623 92.029177   C 300.95623 92.029177 301.50011 92.573062 301.50011 93.266985   L 301.50011 130.55127   L 299.00574 130.55127   L 299.00574 93.266985   L 300.2623 94.523548   L 272.82422 94.523548   z  M 305.71991 123.68706   L 300.2623 133.04565   L 294.80469 123.68706   C 294.44835 123.08691 294.65466 122.31797 295.25481 121.98039   C 295.85495 121.62405 296.6239 121.83035 296.96148 122.4305   L 301.33132 129.93237   L 299.17453 129.93237   L 303.56313 122.4305   C 303.90071 121.83035 304.66965 121.62405 305.2698 121.98039   C 305.86995 122.31797 306.0575 123.08691 305.71991 123.68706   z"
-       id="path246" />
-    <path
-       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
-       d="  M 171.23016 145.47062   L 213.40942 145.47062   C 214.10334 145.47062 214.66598 146.02388 214.66598 146.7178   L 214.66598 200.34679   L 212.16223 200.34679   L 212.16223 146.7178   L 213.40942 147.96499   L 171.23016 147.96499   z  M 218.86703 193.4732   L 213.40942 202.8224   L 207.96118 193.4732   C 207.60484 192.87305 207.81115 192.11349 208.40192 191.75715   C 209.00207 191.41019 209.77101 191.61649 210.11797 192.20726   L 214.49719 199.70913   L 212.33102 199.70913   L 216.71024 192.20726   C 217.0572 191.61649 217.82614 191.41019 218.41691 191.75715   C 219.01706 192.11349 219.21399 192.87305 218.86703 193.4732   z"
-       id="path248" />
-  </g>
-</svg>


[47/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/examples.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/examples.html b/content/docs/0.9/apis/examples.html
deleted file mode 100644
index 37f6ced..0000000
--- a/content/docs/0.9/apis/examples.html
+++ /dev/null
@@ -1,681 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Bundled Examples</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Bundled Examples</h1>
-
-
-
-<p>The following example programs showcase different applications of Flink 
-from simple word counting to graph algorithms. The code samples illustrate the 
-use of <a href="programming_guide.html">Flink’s API</a>.</p>
-
-<p>The full source code of the following and more examples can be found in the <strong>flink-java-examples</strong>
-or <strong>flink-scala-examples</strong> module of the Flink source repository.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#running-an-example" id="markdown-toc-running-an-example">Running an example</a></li>
-  <li><a href="#word-count" id="markdown-toc-word-count">Word Count</a></li>
-  <li><a href="#page-rank" id="markdown-toc-page-rank">Page Rank</a></li>
-  <li><a href="#connected-components" id="markdown-toc-connected-components">Connected Components</a></li>
-  <li><a href="#relational-query" id="markdown-toc-relational-query">Relational Query</a></li>
-</ul>
-
-<h2 id="running-an-example">Running an example</h2>
-
-<p>In order to run a Flink example, we assume you have a running Flink instance available. The “Setup” tab in the navigation describes various ways of starting Flink.</p>
-
-<p>The easiest way is running the <code>./bin/start-local.sh</code> script, which will start a JobManager locally.</p>
-
-<p>Each binary release of Flink contains an <code>examples</code> directory with jar files for each of the examples on this page.</p>
-
-<p>To run the WordCount example, issue the following command:</p>
-
-<div class="highlight"><pre><code class="language-bash">./bin/flink run ./examples/flink-java-examples-0.9.0-WordCount.jar</code></pre></div>
-
-<p>The other examples can be started in a similar way.</p>
-
-<p>Note that many examples run without passing any arguments for them, by using build-in data. To run WordCount with real data, you have to pass the path to the data:</p>
-
-<div class="highlight"><pre><code class="language-bash">./bin/flink run ./examples/flink-java-examples-0.9.0-WordCount.jar /path/to/some/text/data /path/to/result</code></pre></div>
-
-<p>Note that non-local file systems require a schema prefix, such as <code>hdfs://</code>.</p>
-
-<h2 id="word-count">Word Count</h2>
-<p>WordCount is the “Hello World” of Big Data processing systems. It computes the frequency of words in a text collection. The algorithm works in two steps: First, the texts are splits the text to individual words. Second, the words are grouped and counted.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readTextFile</span><span class="o">(</span><span class="s">&quot;/path/to/file&quot;</span><span class="o">);</span> 
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">counts</span> <span class="o">=</span> 
-        <span class="c1">// split up the lines in pairs (2-tuples) containing: (word,1)</span>
-        <span class="n">text</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">())</span>
-        <span class="c1">// group by the tuple field &quot;0&quot; and sum up tuple field &quot;1&quot;</span>
-        <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-        <span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
-
-<span class="n">counts</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">);</span>
-
-<span class="c1">// User-defined functions</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">Tokenizer</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-        <span class="c1">// normalize and split the line</span>
-        <span class="n">String</span><span class="o">[]</span> <span class="n">tokens</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="na">toLowerCase</span><span class="o">().</span><span class="na">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">);</span>
-        
-        <span class="c1">// emit the pairs</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">token</span> <span class="o">:</span> <span class="n">tokens</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">if</span> <span class="o">(</span><span class="n">token</span><span class="o">.</span><span class="na">length</span><span class="o">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
-                <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;(</span><span class="n">token</span><span class="o">,</span> <span class="mi">1</span><span class="o">));</span>
-            <span class="o">}</span>   
-        <span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/wordcount/WordCount.java">WordCount example</a> implements the above described algorithm with input parameters: <code>&lt;text input path&gt;, &lt;output path&gt;</code>. As test data, any text file will do.</p>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-
-<span class="c1">// get input data</span>
-<span class="k">val</span> <span class="n">text</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readTextFile</span><span class="o">(</span><span class="s">&quot;/path/to/file&quot;</span><span class="o">)</span>
-
-<span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">text</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">toLowerCase</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">)</span> <span class="n">filter</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">nonEmpty</span> <span class="o">}</span> <span class="o">}</span>
-  <span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span>
-  <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-
-<span class="n">counts</span><span class="o">.</span><span class="n">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">)</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-scala-examples/src/main/scala/org/apache/flink/examples/scala/wordcount/WordCount.scala">WordCount example</a> implements the above described algorithm with input parameters: <code>&lt;text input path&gt;, &lt;output path&gt;</code>. As test data, any text file will do.</p>
-
-  </div>
-</div>
-
-<h2 id="page-rank">Page Rank</h2>
-
-<p>The PageRank algorithm computes the “importance” of pages in a graph defined by links, which point from one pages to another page. It is an iterative graph algorithm, which means that it repeatedly applies the same computation. In each iteration, each page distributes its current rank over all its neighbors, and compute its new rank as a taxed sum of the ranks it received from its neighbors. The PageRank algorithm was popularized by the Google search engine which uses the importance of webpages to rank the results of search queries.</p>
-
-<p>In this simple example, PageRank is implemented with a <a href="iterations.html">bulk iteration</a> and a fixed number of iterations.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="c1">// read the pages and initial ranks by parsing a CSV file</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">pagesWithRanks</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readCsvFile</span><span class="o">(</span><span class="n">pagesInputPath</span><span class="o">)</span>
-						   <span class="o">.</span><span class="na">types</span><span class="o">(</span><span class="n">Long</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Double</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
-
-<span class="c1">// the links are encoded as an adjacency list: (page-id, Array(neighbor-ids))</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">[]&gt;&gt;</span> <span class="n">pageLinkLists</span> <span class="o">=</span> <span class="n">getLinksDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">);</span>
-
-<span class="c1">// set iterative data set</span>
-<span class="n">IterativeDataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">iteration</span> <span class="o">=</span> <span class="n">pagesWithRanks</span><span class="o">.</span><span class="na">iterate</span><span class="o">(</span><span class="n">maxIterations</span><span class="o">);</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">newRanks</span> <span class="o">=</span> <span class="n">iteration</span>
-        <span class="c1">// join pages with outgoing edges and distribute rank</span>
-        <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">pageLinkLists</span><span class="o">).</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">JoinVertexWithEdgesMatch</span><span class="o">())</span>
-        <span class="c1">// collect and sum ranks</span>
-        <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-        <span class="c1">// apply dampening factor</span>
-        <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="nf">Dampener</span><span class="o">(</span><span class="n">DAMPENING_FACTOR</span><span class="o">,</span> <span class="n">numPages</span><span class="o">));</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">finalPageRanks</span> <span class="o">=</span> <span class="n">iteration</span><span class="o">.</span><span class="na">closeWith</span><span class="o">(</span>
-        <span class="n">newRanks</span><span class="o">,</span> 
-        <span class="n">newRanks</span><span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">iteration</span><span class="o">).</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-        <span class="c1">// termination condition</span>
-        <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="nf">EpsilonFilter</span><span class="o">()));</span>
-
-<span class="n">finalPageRanks</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">);</span>
-
-<span class="c1">// User-defined functions</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">JoinVertexWithEdgesMatch</span> 
-                    <span class="kd">implements</span> <span class="n">FlatJoinFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">[]&gt;,</span> 
-                                            <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">join</span><span class="o">(&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">page</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">[]&gt;</span> <span class="n">adj</span><span class="o">,</span> 
-                        <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">Long</span><span class="o">[]</span> <span class="n">neigbors</span> <span class="o">=</span> <span class="n">adj</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-        <span class="kt">double</span> <span class="n">rank</span> <span class="o">=</span> <span class="n">page</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-        <span class="kt">double</span> <span class="n">rankToDistribute</span> <span class="o">=</span> <span class="n">rank</span> <span class="o">/</span> <span class="o">((</span><span class="kt">double</span><span class="o">)</span> <span class="n">neigbors</span><span class="o">.</span><span class="na">length</span><span class="o">);</span>
-            
-        <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">neigbors</span><span class="o">.</span><span class="na">length</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
-            <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;(</span><span class="n">neigbors</span><span class="o">[</span><span class="n">i</span><span class="o">],</span> <span class="n">rankToDistribute</span><span class="o">));</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Dampener</span> <span class="kd">implements</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span><span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span><span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-    <span class="kd">private</span> <span class="kd">final</span> <span class="kt">double</span> <span class="n">dampening</span><span class="o">,</span> <span class="n">randomJump</span><span class="o">;</span>
-
-    <span class="kd">public</span> <span class="nf">Dampener</span><span class="o">(</span><span class="kt">double</span> <span class="n">dampening</span><span class="o">,</span> <span class="kt">double</span> <span class="n">numVertices</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">this</span><span class="o">.</span><span class="na">dampening</span> <span class="o">=</span> <span class="n">dampening</span><span class="o">;</span>
-        <span class="k">this</span><span class="o">.</span><span class="na">randomJump</span> <span class="o">=</span> <span class="o">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">dampening</span><span class="o">)</span> <span class="o">/</span> <span class="n">numVertices</span><span class="o">;</span>
-    <span class="o">}</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="nf">map</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">value</span><span class="o">.</span><span class="na">f1</span> <span class="o">=</span> <span class="o">(</span><span class="n">value</span><span class="o">.</span><span class="na">f1</span> <span class="o">*</span> <span class="n">dampening</span><span class="o">)</span> <span class="o">+</span> <span class="n">randomJump</span><span class="o">;</span>
-        <span class="k">return</span> <span class="n">value</span><span class="o">;</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">EpsilonFilter</span> 
-                <span class="kd">implements</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="n">Math</span><span class="o">.</span><span class="na">abs</span><span class="o">(</span><span class="n">value</span><span class="o">.</span><span class="na">f0</span><span class="o">.</span><span class="na">f1</span> <span class="o">-</span> <span class="n">value</span><span class="o">.</span><span class="na">f1</span><span class="o">.</span><span class="na">f1</span><span class="o">)</span> <span class="o">&gt;</span> <span class="n">EPSILON</span><span class="o">;</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/graph/PageRankBasic.java">PageRank program</a> implements the above example.
-It requires the following parameters to run: <code>&lt;pages input path&gt;, &lt;links input path&gt;, &lt;output path&gt;, &lt;num pages&gt;, &lt;num iterations&gt;</code>.</p>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="c1">// User-defined types</span>
-<span class="k">case</span> <span class="k">class</span> <span class="nc">Link</span><span class="o">(</span><span class="n">sourceId</span><span class="k">:</span> <span class="kt">Long</span><span class="o">,</span> <span class="n">targetId</span><span class="k">:</span> <span class="kt">Long</span><span class="o">)</span>
-<span class="k">case</span> <span class="k">class</span> <span class="nc">Page</span><span class="o">(</span><span class="n">pageId</span><span class="k">:</span> <span class="kt">Long</span><span class="o">,</span> <span class="n">rank</span><span class="k">:</span> <span class="kt">Double</span><span class="o">)</span>
-<span class="k">case</span> <span class="k">class</span> <span class="nc">AdjacencyList</span><span class="o">(</span><span class="n">sourceId</span><span class="k">:</span> <span class="kt">Long</span><span class="o">,</span> <span class="n">targetIds</span><span class="k">:</span> <span class="kt">Array</span><span class="o">[</span><span class="kt">Long</span><span class="o">])</span>
-
-<span class="c1">// set up execution environment</span>
-<span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-
-<span class="c1">// read the pages and initial ranks by parsing a CSV file</span>
-<span class="k">val</span> <span class="n">pages</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readCsvFile</span><span class="o">[</span><span class="kt">Page</span><span class="o">](</span><span class="n">pagesInputPath</span><span class="o">)</span>
-
-<span class="c1">// the links are encoded as an adjacency list: (page-id, Array(neighbor-ids))</span>
-<span class="k">val</span> <span class="n">links</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readCsvFile</span><span class="o">[</span><span class="kt">Link</span><span class="o">](</span><span class="n">linksInputPath</span><span class="o">)</span>
-
-<span class="c1">// assign initial ranks to pages</span>
-<span class="k">val</span> <span class="n">pagesWithRanks</span> <span class="k">=</span> <span class="n">pages</span><span class="o">.</span><span class="n">map</span><span class="o">(</span><span class="n">p</span> <span class="k">=&gt;</span> <span class="nc">Page</span><span class="o">(</span><span class="n">p</span><span class="o">,</span> <span class="mf">1.0</span> <span class="o">/</span> <span class="n">numPages</span><span class="o">))</span>
-
-<span class="c1">// build adjacency list from link input</span>
-<span class="k">val</span> <span class="n">adjacencyLists</span> <span class="k">=</span> <span class="n">links</span>
-  <span class="c1">// initialize lists</span>
-  <span class="o">.</span><span class="n">map</span><span class="o">(</span><span class="n">e</span> <span class="k">=&gt;</span> <span class="nc">AdjacencyList</span><span class="o">(</span><span class="n">e</span><span class="o">.</span><span class="n">sourceId</span><span class="o">,</span> <span class="nc">Array</span><span class="o">(</span><span class="n">e</span><span class="o">.</span><span class="n">targetId</span><span class="o">)))</span>
-  <span class="c1">// concatenate lists</span>
-  <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="s">&quot;sourceId&quot;</span><span class="o">).</span><span class="n">reduce</span> <span class="o">{</span>
-  <span class="o">(</span><span class="n">l1</span><span class="o">,</span> <span class="n">l2</span><span class="o">)</span> <span class="k">=&gt;</span> <span class="nc">AdjacencyList</span><span class="o">(</span><span class="n">l1</span><span class="o">.</span><span class="n">sourceId</span><span class="o">,</span> <span class="n">l1</span><span class="o">.</span><span class="n">targetIds</span> <span class="o">++</span> <span class="n">l2</span><span class="o">.</span><span class="n">targetIds</span><span class="o">)</span>
-  <span class="o">}</span>
-
-<span class="c1">// start iteration</span>
-<span class="k">val</span> <span class="n">finalRanks</span> <span class="k">=</span> <span class="n">pagesWithRanks</span><span class="o">.</span><span class="n">iterateWithTermination</span><span class="o">(</span><span class="n">maxIterations</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">currentRanks</span> <span class="k">=&gt;</span>
-    <span class="k">val</span> <span class="n">newRanks</span> <span class="k">=</span> <span class="n">currentRanks</span>
-      <span class="c1">// distribute ranks to target pages</span>
-      <span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">adjacencyLists</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="s">&quot;sourceId&quot;</span><span class="o">)</span> <span class="o">{</span>
-        <span class="o">(</span><span class="n">page</span><span class="o">,</span> <span class="n">adjacent</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[</span><span class="kt">Page</span><span class="o">])</span> <span class="k">=&gt;</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">targetId</span> <span class="k">&lt;-</span> <span class="n">adjacent</span><span class="o">.</span><span class="n">targetIds</span><span class="o">)</span> <span class="o">{</span>
-          <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="nc">Page</span><span class="o">(</span><span class="n">targetId</span><span class="o">,</span> <span class="n">page</span><span class="o">.</span><span class="n">rank</span> <span class="o">/</span> <span class="n">adjacent</span><span class="o">.</span><span class="n">targetIds</span><span class="o">.</span><span class="n">length</span><span class="o">))</span>
-        <span class="o">}</span>
-      <span class="o">}</span>
-      <span class="c1">// collect ranks and sum them up</span>
-      <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">).</span><span class="n">aggregate</span><span class="o">(</span><span class="nc">SUM</span><span class="o">,</span> <span class="s">&quot;rank&quot;</span><span class="o">)</span>
-      <span class="c1">// apply dampening factor</span>
-      <span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">p</span> <span class="k">=&gt;</span>
-        <span class="nc">Page</span><span class="o">(</span><span class="n">p</span><span class="o">.</span><span class="n">pageId</span><span class="o">,</span> <span class="o">(</span><span class="n">p</span><span class="o">.</span><span class="n">rank</span> <span class="o">*</span> <span class="nc">DAMPENING_FACTOR</span><span class="o">)</span> <span class="o">+</span> <span class="o">((</span><span class="mi">1</span> <span class="o">-</span> <span class="nc">DAMPENING_FACTOR</span><span class="o">)</span> <span class="o">/</span> <span class="n">numPages</span><span class="o">))</span>
-      <span class="o">}</span>
-
-    <span class="c1">// terminate if no rank update was significant</span>
-    <span class="k">val</span> <span class="n">termination</span> <span class="k">=</span> <span class="n">currentRanks</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">newRanks</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">)</span> <span class="o">{</span>
-      <span class="o">(</span><span class="n">current</span><span class="o">,</span> <span class="n">next</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[</span><span class="kt">Int</span><span class="o">])</span> <span class="k">=&gt;</span>
-        <span class="c1">// check for significant update</span>
-        <span class="k">if</span> <span class="o">(</span><span class="n">math</span><span class="o">.</span><span class="n">abs</span><span class="o">(</span><span class="n">current</span><span class="o">.</span><span class="n">rank</span> <span class="o">-</span> <span class="n">next</span><span class="o">.</span><span class="n">rank</span><span class="o">)</span> <span class="o">&gt;</span> <span class="nc">EPSILON</span><span class="o">)</span> <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-    <span class="o">}</span>
-
-    <span class="o">(</span><span class="n">newRanks</span><span class="o">,</span> <span class="n">termination</span><span class="o">)</span>
-<span class="o">}</span>
-
-<span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">finalRanks</span>
-
-<span class="c1">// emit result</span>
-<span class="n">result</span><span class="o">.</span><span class="n">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">)</span></code></pre></div>
-
-    <p>he <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-scala-examples/src/main/scala/org/apache/flink/examples/scala/graph/PageRankBasic.scala">PageRank program</a> implements the above example.
-It requires the following parameters to run: <code>&lt;pages input path&gt;, &lt;links input path&gt;, &lt;output path&gt;, &lt;num pages&gt;, &lt;num iterations&gt;</code>.</p>
-  </div>
-</div>
-
-<p>Input files are plain text files and must be formatted as follows:
-- Pages represented as an (long) ID separated by new-line characters.
-    * For example <code>"1\n2\n12\n42\n63\n"</code> gives five pages with IDs 1, 2, 12, 42, and 63.
-- Links are represented as pairs of page IDs which are separated by space characters. Links are separated by new-line characters:
-    * For example <code>"1 2\n2 12\n1 12\n42 63\n"</code> gives four (directed) links (1)-&gt;(2), (2)-&gt;(12), (1)-&gt;(12), and (42)-&gt;(63).</p>
-
-<p>For this simple implementation it is required that each page has at least one incoming and one outgoing link (a page can point to itself).</p>
-
-<h2 id="connected-components">Connected Components</h2>
-
-<p>The Connected Components algorithm identifies parts of a larger graph which are connected by assigning all vertices in the same connected part the same component ID. Similar to PageRank, Connected Components is an iterative algorithm. In each step, each vertex propagates its current component ID to all its neighbors. A vertex accepts the component ID from a neighbor, if it is smaller than its own component ID.</p>
-
-<p>This implementation uses a <a href="iterations.html">delta iteration</a>: Vertices that have not changed their component ID do not participate in the next step. This yields much better performance, because the later iterations typically deal only with a few outlier vertices.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// read vertex and edge data</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">vertices</span> <span class="o">=</span> <span class="n">getVertexDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">edges</span> <span class="o">=</span> <span class="n">getEdgeDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">).</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">UndirectEdge</span><span class="o">());</span>
-
-<span class="c1">// assign the initial component IDs (equal to the vertex ID)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">verticesWithInitialId</span> <span class="o">=</span> <span class="n">vertices</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">DuplicateValue</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;());</span>
-        
-<span class="c1">// open a delta iteration</span>
-<span class="n">DeltaIteration</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">iteration</span> <span class="o">=</span>
-        <span class="n">verticesWithInitialId</span><span class="o">.</span><span class="na">iterateDelta</span><span class="o">(</span><span class="n">verticesWithInitialId</span><span class="o">,</span> <span class="n">maxIterations</span><span class="o">,</span> <span class="mi">0</span><span class="o">);</span>
-
-<span class="c1">// apply the step logic: </span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">changes</span> <span class="o">=</span> <span class="n">iteration</span><span class="o">.</span><span class="na">getWorkset</span><span class="o">()</span>
-        <span class="c1">// join with the edges</span>
-        <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">edges</span><span class="o">).</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">with</span><span class="o">(</span><span class="k">new</span> <span class="nf">NeighborWithComponentIDJoin</span><span class="o">())</span>
-        <span class="c1">// select the minimum neighbor component ID</span>
-        <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">aggregate</span><span class="o">(</span><span class="n">Aggregations</span><span class="o">.</span><span class="na">MIN</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span>
-        <span class="c1">// update if the component ID of the candidate is smaller</span>
-        <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">iteration</span><span class="o">.</span><span class="na">getSolutionSet</span><span class="o">()).</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-        <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">ComponentIdFilter</span><span class="o">());</span>
-
-<span class="c1">// close the delta iteration (delta and new workset are identical)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">iteration</span><span class="o">.</span><span class="na">closeWith</span><span class="o">(</span><span class="n">changes</span><span class="o">,</span> <span class="n">changes</span><span class="o">);</span>
-
-<span class="c1">// emit result</span>
-<span class="n">result</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">);</span>
-
-<span class="c1">// User-defined functions</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">DuplicateValue</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="kd">implements</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">T</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-    
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">T</span><span class="o">&gt;</span> <span class="nf">map</span><span class="o">(</span><span class="n">T</span> <span class="n">vertex</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">T</span><span class="o">&gt;(</span><span class="n">vertex</span><span class="o">,</span> <span class="n">vertex</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">UndirectEdge</span> 
-                    <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-    <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">invertedEdge</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;();</span>
-    
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">edge</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">invertedEdge</span><span class="o">.</span><span class="na">f0</span> <span class="o">=</span> <span class="n">edge</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-        <span class="n">invertedEdge</span><span class="o">.</span><span class="na">f1</span> <span class="o">=</span> <span class="n">edge</span><span class="o">.</span><span class="na">f0</span><span class="o">;</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">edge</span><span class="o">);</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">invertedEdge</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">NeighborWithComponentIDJoin</span> 
-                <span class="kd">implements</span> <span class="n">JoinFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="nf">join</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">vertexWithComponent</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">edge</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;(</span><span class="n">edge</span><span class="o">.</span><span class="na">f1</span><span class="o">,</span> <span class="n">vertexWithComponent</span><span class="o">.</span><span class="na">f1</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">ComponentIdFilter</span> 
-                    <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;,</span> 
-                                            <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">value</span><span class="o">,</span> 
-                        <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">if</span> <span class="o">(</span><span class="n">value</span><span class="o">.</span><span class="na">f0</span><span class="o">.</span><span class="na">f1</span> <span class="o">&lt;</span> <span class="n">value</span><span class="o">.</span><span class="na">f1</span><span class="o">.</span><span class="na">f1</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">value</span><span class="o">.</span><span class="na">f0</span><span class="o">);</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/graph/ConnectedComponents.java">ConnectedComponents program</a> implements the above example. It requires the following parameters to run: <code>&lt;vertex input path&gt;, &lt;edge input path&gt;, &lt;output path&gt; &lt;max num iterations&gt;</code>.</p>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="c1">// set up execution environment</span>
-<span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-
-<span class="c1">// read vertex and edge data</span>
-<span class="c1">// assign the initial components (equal to the vertex id)</span>
-<span class="k">val</span> <span class="n">vertices</span> <span class="k">=</span> <span class="n">getVerticesDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">).</span><span class="n">map</span> <span class="o">{</span> <span class="n">id</span> <span class="k">=&gt;</span> <span class="o">(</span><span class="n">id</span><span class="o">,</span> <span class="n">id</span><span class="o">)</span> <span class="o">}</span>
-
-<span class="c1">// undirected edges by emitting for each input edge the input edges itself and an inverted</span>
-<span class="c1">// version</span>
-<span class="k">val</span> <span class="n">edges</span> <span class="k">=</span> <span class="n">getEdgesDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">).</span><span class="n">flatMap</span> <span class="o">{</span> <span class="n">edge</span> <span class="k">=&gt;</span> <span class="nc">Seq</span><span class="o">(</span><span class="n">edge</span><span class="o">,</span> <span class="o">(</span><span class="n">edge</span><span class="o">.</span><span class="n">_2</span><span class="o">,</span> <span class="n">edge</span><span class="o">.</span><span class="n">_1</span><span class="o">))</span> <span class="o">}</span>
-
-<span class="c1">// open a delta iteration</span>
-<span class="k">val</span> <span class="n">verticesWithComponents</span> <span class="k">=</span> <span class="n">vertices</span><span class="o">.</span><span class="n">iterateDelta</span><span class="o">(</span><span class="n">vertices</span><span class="o">,</span> <span class="n">maxIterations</span><span class="o">,</span> <span class="nc">Array</span><span class="o">(</span><span class="mi">0</span><span class="o">))</span> <span class="o">{</span>
-  <span class="o">(</span><span class="n">s</span><span class="o">,</span> <span class="n">ws</span><span class="o">)</span> <span class="k">=&gt;</span>
-
-    <span class="c1">// apply the step logic: join with the edges</span>
-    <span class="k">val</span> <span class="n">allNeighbors</span> <span class="k">=</span> <span class="n">ws</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">edges</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span> <span class="o">{</span> <span class="o">(</span><span class="n">vertex</span><span class="o">,</span> <span class="n">edge</span><span class="o">)</span> <span class="k">=&gt;</span>
-      <span class="o">(</span><span class="n">edge</span><span class="o">.</span><span class="n">_2</span><span class="o">,</span> <span class="n">vertex</span><span class="o">.</span><span class="n">_2</span><span class="o">)</span>
-    <span class="o">}</span>
-
-    <span class="c1">// select the minimum neighbor</span>
-    <span class="k">val</span> <span class="n">minNeighbors</span> <span class="k">=</span> <span class="n">allNeighbors</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">min</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-
-    <span class="c1">// update if the component of the candidate is smaller</span>
-    <span class="k">val</span> <span class="n">updatedComponents</span> <span class="k">=</span> <span class="n">minNeighbors</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">s</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
-      <span class="o">(</span><span class="n">newVertex</span><span class="o">,</span> <span class="n">oldVertex</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">Long</span>, <span class="kt">Long</span><span class="o">)])</span> <span class="k">=&gt;</span>
-        <span class="k">if</span> <span class="o">(</span><span class="n">newVertex</span><span class="o">.</span><span class="n">_2</span> <span class="o">&lt;</span> <span class="n">oldVertex</span><span class="o">.</span><span class="n">_2</span><span class="o">)</span> <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="n">newVertex</span><span class="o">)</span>
-    <span class="o">}</span>
-
-    <span class="c1">// delta and new workset are identical</span>
-    <span class="o">(</span><span class="n">updatedComponents</span><span class="o">,</span> <span class="n">updatedComponents</span><span class="o">)</span>
-<span class="o">}</span>
-
-<span class="n">verticesWithComponents</span><span class="o">.</span><span class="n">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">)</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-scala-examples/src/main/scala/org/apache/flink/examples/scala/graph/ConnectedComponents.scala">ConnectedComponents program</a> implements the above example. It requires the following parameters to run: <code>&lt;vertex input path&gt;, &lt;edge input path&gt;, &lt;output path&gt; &lt;max num iterations&gt;</code>.</p>
-  </div>
-</div>
-
-<p>Input files are plain text files and must be formatted as follows:
-- Vertices represented as IDs and separated by new-line characters.
-    * For example <code>"1\n2\n12\n42\n63\n"</code> gives five vertices with (1), (2), (12), (42), and (63).
-- Edges are represented as pairs for vertex IDs which are separated by space characters. Edges are separated by new-line characters:
-    * For example <code>"1 2\n2 12\n1 12\n42 63\n"</code> gives four (undirected) links (1)-(2), (2)-(12), (1)-(12), and (42)-(63).</p>
-
-<h2 id="relational-query">Relational Query</h2>
-
-<p>The Relational Query example assumes two tables, one with <code>orders</code> and the other with <code>lineitems</code> as specified by the <a href="http://www.tpc.org/tpch/">TPC-H decision support benchmark</a>. TPC-H is a standard benchmark in the database industry. See below for instructions how to generate the input data.</p>
-
-<p>The example implements the following SQL query.</p>
-
-<div class="highlight"><pre><code class="language-sql"><span class="k">SELECT</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="n">o_shippriority</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">l_extendedprice</span><span class="p">)</span> <span class="k">as</span> <span class="n">revenue</span>
-    <span class="k">FROM</span> <span class="n">orders</span><span class="p">,</span> <span class="n">lineitem</span>
-<span class="k">WHERE</span> <span class="n">l_orderkey</span> <span class="o">=</span> <span class="n">o_orderkey</span>
-    <span class="k">AND</span> <span class="n">o_orderstatus</span> <span class="o">=</span> <span class="ss">&quot;F&quot;</span> 
-    <span class="k">AND</span> <span class="k">YEAR</span><span class="p">(</span><span class="n">o_orderdate</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1993</span>
-    <span class="k">AND</span> <span class="n">o_orderpriority</span> <span class="k">LIKE</span> <span class="ss">&quot;5%&quot;</span>
-<span class="k">GROUP</span> <span class="k">BY</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="n">o_shippriority</span><span class="p">;</span></code></pre></div>
-
-<p>The Flink program, which implements the above query looks as follows.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// get orders data set: (orderkey, orderstatus, orderdate, orderpriority, shippriority)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple5</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">orders</span> <span class="o">=</span> <span class="n">getOrdersDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">);</span>
-<span class="c1">// get lineitem data set: (orderkey, extendedprice)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">lineitems</span> <span class="o">=</span> <span class="n">getLineitemDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">);</span>
-
-<span class="c1">// orders filtered by year: (orderkey, custkey)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">ordersFilteredByYear</span> <span class="o">=</span>
-        <span class="c1">// filter orders</span>
-        <span class="n">orders</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span>
-            <span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Tuple5</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;()</span> <span class="o">{</span>
-                <span class="nd">@Override</span>
-                <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Tuple5</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="n">t</span><span class="o">)</span> <span class="o">{</span>
-                    <span class="c1">// status filter</span>
-                    <span class="k">if</span><span class="o">(!</span><span class="n">t</span><span class="o">.</span><span class="na">f1</span><span class="o">.</span><span class="na">equals</span><span class="o">(</span><span class="n">STATUS_FILTER</span><span class="o">))</span> <span class="o">{</span>
-                        <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
-                    <span class="c1">// year filter</span>
-                    <span class="o">}</span> <span class="k">else</span> <span class="nf">if</span><span class="o">(</span><span class="n">Integer</span><span class="o">.</span><span class="na">parseInt</span><span class="o">(</span><span class="n">t</span><span class="o">.</span><span class="na">f2</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="mi">4</span><span class="o">))</span> <span class="o">&lt;=</span> <span class="n">YEAR_FILTER</span><span class="o">)</span> <span class="o">{</span>
-                        <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
-                    <span class="c1">// order priority filter</span>
-                    <span class="o">}</span> <span class="k">else</span> <span class="nf">if</span><span class="o">(!</span><span class="n">t</span><span class="o">.</span><span class="na">f3</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="n">OPRIO_FILTER</span><span class="o">))</span> <span class="o">{</span>
-                        <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
-                    <span class="o">}</span>
-                    <span class="k">return</span> <span class="kc">true</span><span class="o">;</span>
-                <span class="o">}</span>
-            <span class="o">})</span>
-        <span class="c1">// project fields out that are no longer required</span>
-        <span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span><span class="mi">4</span><span class="o">).</span><span class="na">types</span><span class="o">(</span><span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-
-<span class="c1">// join orders with lineitems: (orderkey, shippriority, extendedprice)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">lineitemsOfOrders</span> <span class="o">=</span> 
-        <span class="n">ordersFilteredByYear</span><span class="o">.</span><span class="na">joinWithHuge</span><span class="o">(</span><span class="n">lineitems</span><span class="o">)</span>
-                            <span class="o">.</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-                            <span class="o">.</span><span class="na">projectFirst</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span><span class="mi">1</span><span class="o">).</span><span class="na">projectSecond</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-                            <span class="o">.</span><span class="na">types</span><span class="o">(</span><span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Double</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-
-<span class="c1">// extendedprice sums: (orderkey, shippriority, sum(extendedprice))</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">priceSums</span> <span class="o">=</span> 
-        <span class="c1">// group by order and sum extendedprice</span>
-        <span class="n">lineitemsOfOrders</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span><span class="mi">1</span><span class="o">).</span><span class="na">aggregate</span><span class="o">(</span><span class="n">Aggregations</span><span class="o">.</span><span class="na">SUM</span><span class="o">,</span> <span class="mi">2</span><span class="o">);</span>
-
-<span class="c1">// emit result</span>
-<span class="n">priceSums</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">);</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/relational/TPCHQuery10.java">Relational Query program</a> implements the above query. It requires the following parameters to run: <code>&lt;orders input path&gt;, &lt;lineitem input path&gt;, &lt;output path&gt;</code>.</p>
-
-  </div>
-  <div data-lang="scala">
-    <p>Coming soon…</p>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-scala-examples/src/main/scala/org/apache/flink/examples/scala/relational/TPCHQuery3.scala">Relational Query program</a> implements the above query. It requires the following parameters to run: <code>&lt;orders input path&gt;, &lt;lineitem input path&gt;, &lt;output path&gt;</code>.</p>
-
-  </div>
-</div>
-
-<p>The orders and lineitem files can be generated using the <a href="http://www.tpc.org/tpch/">TPC-H benchmark</a> suite’s data generator tool (DBGEN). 
-Take the following steps to generate arbitrary large input files for the provided Flink programs:</p>
-
-<ol>
-  <li>Download and unpack DBGEN</li>
-  <li>Make a copy of <em>makefile.suite</em> called <em>Makefile</em> and perform the following changes:</li>
-</ol>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nv">DATABASE</span> <span class="o">=</span> DB2
-<span class="nv">MACHINE</span>  <span class="o">=</span> LINUX
-<span class="nv">WORKLOAD</span> <span class="o">=</span> TPCH
-<span class="nv">CC</span>       <span class="o">=</span> gcc</code></pre></div>
-
-<ol>
-  <li>Build DBGEN using <em>make</em></li>
-  <li>Generate lineitem and orders relations using dbgen. A scale factor
-(-s) of 1 results in a generated data set with about 1 GB size.</li>
-</ol>
-
-<div class="highlight"><pre><code class="language-bash">./dbgen -T o -s 1</code></pre></div>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/fig/LICENSE.txt
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/fig/LICENSE.txt b/content/docs/0.9/apis/fig/LICENSE.txt
deleted file mode 100644
index 35b8673..0000000
--- a/content/docs/0.9/apis/fig/LICENSE.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-All image files in the folder and its subfolders are
-licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/fig/iterations_delta_iterate_operator.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/fig/iterations_delta_iterate_operator.png b/content/docs/0.9/apis/fig/iterations_delta_iterate_operator.png
deleted file mode 100644
index 470485a..0000000
Binary files a/content/docs/0.9/apis/fig/iterations_delta_iterate_operator.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/fig/iterations_delta_iterate_operator_example.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/fig/iterations_delta_iterate_operator_example.png b/content/docs/0.9/apis/fig/iterations_delta_iterate_operator_example.png
deleted file mode 100644
index 15f2b54..0000000
Binary files a/content/docs/0.9/apis/fig/iterations_delta_iterate_operator_example.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/fig/iterations_iterate_operator.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/fig/iterations_iterate_operator.png b/content/docs/0.9/apis/fig/iterations_iterate_operator.png
deleted file mode 100644
index aaf4158..0000000
Binary files a/content/docs/0.9/apis/fig/iterations_iterate_operator.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/fig/iterations_iterate_operator_example.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/fig/iterations_iterate_operator_example.png b/content/docs/0.9/apis/fig/iterations_iterate_operator_example.png
deleted file mode 100644
index be4841c..0000000
Binary files a/content/docs/0.9/apis/fig/iterations_iterate_operator_example.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/fig/iterations_supersteps.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/fig/iterations_supersteps.png b/content/docs/0.9/apis/fig/iterations_supersteps.png
deleted file mode 100644
index 331dbc7..0000000
Binary files a/content/docs/0.9/apis/fig/iterations_supersteps.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/fig/plan_visualizer.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/fig/plan_visualizer.png b/content/docs/0.9/apis/fig/plan_visualizer.png
deleted file mode 100644
index 85b8c55..0000000
Binary files a/content/docs/0.9/apis/fig/plan_visualizer.png and /dev/null differ


[58/68] [abbrv] flink-web git commit: Apply the change of committers list to built site

Posted by an...@apache.org.
Apply the change of committers list to built site


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/b4601f6d
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/b4601f6d
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/b4601f6d

Branch: refs/heads/master
Commit: b4601f6da1f07e29dac326d4857e178f9ca28bb4
Parents: 228b630
Author: Chiwan Park <ch...@apache.org>
Authored: Fri Jul 3 00:39:25 2015 +0900
Committer: Chiwan Park <ch...@apache.org>
Committed: Fri Jul 3 00:39:25 2015 +0900

----------------------------------------------------------------------
 content/community.html | 12 ++++++++++++
 1 file changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/b4601f6d/content/community.html
----------------------------------------------------------------------
diff --git a/content/community.html b/content/community.html
index d2e1297..79dcb38 100644
--- a/content/community.html
+++ b/content/community.html
@@ -391,6 +391,18 @@
     <td class="text-center">PMC, Committer</td>
     <td class="text-center">warneke</td>
   </tr>
+  <tr>
+    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/2550549?s=50"></td>
+    <td class="text-center">Andra Lungu</td>
+    <td class="text-center">Committer</td>
+    <td class="text-center">andra</td>
+  </tr>
+  <tr>
+    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1941681?s=50"></td>
+    <td class="text-center">Chiwan Park</td>
+    <td class="text-center">Committer</td>
+    <td class="text-center">chiwanpark</td>
+  </tr>
 </table>
 
 <p>You can reach committers directly at <code>&lt;apache-id&gt;@apache.org</code>. A list of all contributors can be found on our <a href="https://github.com/apache/flink/graphs/contributors">GitHub Contributors</a> page.</p>


[11/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/web_client.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/web_client.html b/content/docs/master/apis/web_client.html
deleted file mode 100644
index 2cf81aa..0000000
--- a/content/docs/master/apis/web_client.html
+++ /dev/null
@@ -1,272 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Web Client</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Web Client</h1>
-
-
-
-<p>Flink provides a web interface to upload jobs, inspect their execution plans, and execute them. The interface is a great tool to showcase programs, debug execution plans, or demonstrate the system as a whole.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#starting-stopping-and-configuring-the-web-interface" id="markdown-toc-starting-stopping-and-configuring-the-web-interface">Starting, Stopping, and Configuring the Web Interface</a></li>
-  <li><a href="#using-the-web-interface" id="markdown-toc-using-the-web-interface">Using the Web Interface</a>    <ul>
-      <li><a href="#job-view" id="markdown-toc-job-view">Job View</a></li>
-      <li><a href="#plan-view" id="markdown-toc-plan-view">Plan View</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="starting-stopping-and-configuring-the-web-interface">Starting, Stopping, and Configuring the Web Interface</h2>
-
-<p>Start the web interface by executing:</p>
-
-<div class="highlight"><pre><code>./bin/start-webclient.sh
-</code></pre></div>
-
-<p>and stop it by calling:</p>
-
-<div class="highlight"><pre><code>./bin/stop-webclient.sh
-</code></pre></div>
-
-<p>The web interface runs on port 8080 by default. To specify a custom port set the <code>webclient.port</code> property in the <em>./conf/flink.yaml</em> configuration file. Jobs are submitted to the JobManager specified by <code>jobmanager.rpc.address</code> and <code>jobmanager.rpc.port</code>. Please consult the <a href="http://flink.apache.org/docs/master/setup/config.html#webclient">configuration</a> page for details and further configuration options.</p>
-
-<h2 id="using-the-web-interface">Using the Web Interface</h2>
-
-<p>The web interface provides two views:</p>
-
-<ol>
-  <li>The <strong>job view</strong> to upload, preview, and submit Flink programs.</li>
-  <li>The <strong>plan view</strong> to analyze the optimized execution plans of Flink programs.</li>
-</ol>
-
-<h3 id="job-view">Job View</h3>
-
-<p>The interface starts serving the job view.</p>
-
-<p>You can <strong>upload</strong> a Flink program as a jar file. To <strong>execute</strong> an uploaded program:</p>
-
-<ul>
-  <li>select it from the job list on the left,</li>
-  <li>enter the program arguments in the <em>“Arguments”</em> field (bottom left), and</li>
-  <li>click on the <em>“Run Job”</em> button (bottom right).</li>
-</ul>
-
-<p>If the <em>“Show optimizer plan”</em> option is enabled (default), the <em>plan view</em> is display next, otherwise the job is directly submitted to the JobManager for execution.</p>
-
-<p>In case the jar’s manifest file does not specify the program class, you can specify it before the argument list as:</p>
-
-<p><code>
--c &lt;assemblerClass&gt; &lt;programArgs...&gt;
-</code></p>
-
-<h3 id="plan-view">Plan View</h3>
-
-<p>The plan view shows the optimized execution plan of the submitted program in the upper half of the page. The bottom part of the page displays detailed information about the currently selected plan operator including:</p>
-
-<ul>
-  <li>the chosen shipping strategies (local forward, hash partition, range partition, broadcast, …),</li>
-  <li>the chosen local strategy (sort, hash join, merge join, …),</li>
-  <li>inferred data properties (partitioning, grouping, sorting), and</li>
-  <li>used optimizer estimates (data size, I/O and network costs, …).</li>
-</ul>
-
-<p>To submit the job for execution, click again on the <em>“Run Job”</em> button in the bottom right.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/zip_elements_guide.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/zip_elements_guide.html b/content/docs/master/apis/zip_elements_guide.html
deleted file mode 100644
index 3d71675..0000000
--- a/content/docs/master/apis/zip_elements_guide.html
+++ /dev/null
@@ -1,251 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Zipping Elements in a DataSet</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Zipping Elements in a DataSet</h1>
-
-
-
-<p>In certain algorithms, one may need to assign unique identifiers to data set elements.
-This document shows how <a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/utils/DataSetUtils.java">DataSetUtils</a> can be used for that purpose.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#zip-with-a-dense-index" id="markdown-toc-zip-with-a-dense-index">Zip with a Dense Index</a></li>
-</ul>
-
-<h3 id="zip-with-a-dense-index">Zip with a Dense Index</h3>
-<p>For assigning consecutive labels to the elements, the <code>zipWithIndex</code> method should be called. It receives a data set as input and returns a new data set of unique id, initial value tuples.
-For example, the following code:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">setParallelism</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="s">&quot;A&quot;</span><span class="o">,</span> <span class="s">&quot;B&quot;</span><span class="o">,</span> <span class="s">&quot;C&quot;</span><span class="o">,</span> <span class="s">&quot;D&quot;</span><span class="o">,</span> <span class="s">&quot;E&quot;</span><span class="o">,</span> <span class="s">&quot;F&quot;</span><span class="o">);</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">DataSetUtils</span><span class="o">.</span><span class="na">zipWithIndex</span><span class="o">(</span><span class="n">in</span><span class="o">);</span>
-
-<span class="n">result</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">resultPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot;,&quot;</span><span class="o">);</span>
-<span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">();</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala._</span>
-
-<span class="k">val</span> <span class="n">env</span><span class="k">:</span> <span class="kt">ExecutionEnvironment</span> <span class="o">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-<span class="n">env</span><span class="o">.</span><span class="n">setParallelism</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-<span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">fromElements</span><span class="o">(</span><span class="s">&quot;A&quot;</span><span class="o">,</span> <span class="s">&quot;B&quot;</span><span class="o">,</span> <span class="s">&quot;C&quot;</span><span class="o">,</span> <span class="s">&quot;D&quot;</span><span class="o">,</span> <span class="s">&quot;E&quot;</span><span class="o">,</span> <span class="s">&quot;F&quot;</span><span class="o">)</span>
-
-<span class="k">val</span> <span class="n">result</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Long</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">zipWithIndex</span>
-
-<span class="n">result</span><span class="o">.</span><span class="n">writeAsCsv</span><span class="o">(</span><span class="n">resultPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot;,&quot;</span><span class="o">)</span>
-<span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="o">()</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p>will yield the tuples: (0,A), (1,B), (2,C), (3,D), (4,E), (5,F)</p>
-
-<p><a href="#top">Back to top</a></p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/build_docs.sh
----------------------------------------------------------------------
diff --git a/content/docs/master/build_docs.sh b/content/docs/master/build_docs.sh
deleted file mode 100755
index b65f7c9..0000000
--- a/content/docs/master/build_docs.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env bash
-################################################################################
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-# limitations under the License.
-################################################################################
-
-
-HAS_JEKYLL=true
-
-command -v jekyll > /dev/null
-if [ $? -ne 0 ]; then
-	echo -n "ERROR: Could not find jekyll. "
-	echo "Please install with 'gem install jekyll' (see http://jekyllrb.com)."
-
-	HAS_JEKYLL=false
-fi
-
-command -v redcarpet > /dev/null
-if [ $? -ne 0 ]; then
-	echo -n "WARN: Could not find redcarpet. "
-	echo -n "Please install with 'sudo gem install redcarpet' (see https://github.com/vmg/redcarpet). "
-	echo "Redcarpet is needed for Markdown parsing and table of contents generation."
-fi
-
-command -v pygmentize > /dev/null
-if [ $? -ne 0 ]; then
-	echo -n "WARN: Could not find pygments. "
-	echo -n "Please install with 'sudo easy_install Pygments' (requires Python; see http://pygments.org). "
-	echo "Pygments is needed for syntax highlighting of the code examples."
-fi
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-DOCS_SRC=${DIR}
-DOCS_DST=${DOCS_SRC}/target
-
-# default jekyll command is to just build site
-JEKYLL_CMD="build"
-
-# if -p flag is provided, serve site on localhost
-while getopts ":p" opt; do
-	case $opt in
-		p)
-		JEKYLL_CMD="serve --baseurl "" --watch"
-		;;
-	esac
-done
-
-if $HAS_JEKYLL; then
-	jekyll ${JEKYLL_CMD} --source ${DOCS_SRC} --destination ${DOCS_DST}
-fi

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/faq.html
----------------------------------------------------------------------
diff --git a/content/docs/master/faq.html b/content/docs/master/faq.html
deleted file mode 100644
index c4c5803..0000000
--- a/content/docs/master/faq.html
+++ /dev/null
@@ -1,606 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Frequently Asked Questions (FAQ)</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Frequently Asked Questions (FAQ)</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#general" id="markdown-toc-general">General</a>    <ul>
-      <li><a href="#is-flink-a-hadoop-project" id="markdown-toc-is-flink-a-hadoop-project">Is Flink a Hadoop Project?</a></li>
-      <li><a href="#do-i-have-to-install-apache-hadoop-to-use-flink" id="markdown-toc-do-i-have-to-install-apache-hadoop-to-use-flink">Do I have to install Apache Hadoop to use Flink?</a></li>
-    </ul>
-  </li>
-  <li><a href="#usage" id="markdown-toc-usage">Usage</a>    <ul>
-      <li><a href="#how-do-i-assess-the-progress-of-a-flink-program" id="markdown-toc-how-do-i-assess-the-progress-of-a-flink-program">How do I assess the progress of a Flink program?</a></li>
-      <li><a href="#how-can-i-figure-out-why-a-program-failed" id="markdown-toc-how-can-i-figure-out-why-a-program-failed">How can I figure out why a program failed?</a></li>
-      <li><a href="#how-do-i-debug-flink-programs" id="markdown-toc-how-do-i-debug-flink-programs">How do I debug Flink programs?</a></li>
-      <li><a href="#what-is-the-parallelism-how-do-i-set-it" id="markdown-toc-what-is-the-parallelism-how-do-i-set-it">What is the parallelism? How do I set it?</a></li>
-    </ul>
-  </li>
-  <li><a href="#errors" id="markdown-toc-errors">Errors</a>    <ul>
-      <li><a href="#why-am-i-getting-a-nonserializableexception-" id="markdown-toc-why-am-i-getting-a-nonserializableexception-">Why am I getting a “NonSerializableException” ?</a></li>
-      <li><a href="#in-scala-api-i-get-an-error-about-implicit-values-and-evidence-parameters" id="markdown-toc-in-scala-api-i-get-an-error-about-implicit-values-and-evidence-parameters">In Scala API, I get an error about implicit values and evidence parameters</a></li>
-      <li><a href="#i-get-an-error-message-saying-that-not-enough-buffers-are-available-how-do-i-fix-this" id="markdown-toc-i-get-an-error-message-saying-that-not-enough-buffers-are-available-how-do-i-fix-this">I get an error message saying that not enough buffers are available. How do I fix this?</a></li>
-      <li><a href="#my-job-fails-early-with-a-javaioeofexception-what-could-be-the-cause" id="markdown-toc-my-job-fails-early-with-a-javaioeofexception-what-could-be-the-cause">My job fails early with a java.io.EOFException. What could be the cause?</a></li>
-      <li><a href="#in-eclipse-i-get-compilation-errors-in-the-scala-projects" id="markdown-toc-in-eclipse-i-get-compilation-errors-in-the-scala-projects">In Eclipse, I get compilation errors in the Scala projects</a></li>
-      <li><a href="#my-program-does-not-compute-the-correct-result-why-are-my-custom-key-types" id="markdown-toc-my-program-does-not-compute-the-correct-result-why-are-my-custom-key-types">My program does not compute the correct result. Why are my custom key types</a></li>
-      <li><a href="#i-get-a-javalanginstantiationexception-for-my-data-type-what-is-wrong" id="markdown-toc-i-get-a-javalanginstantiationexception-for-my-data-type-what-is-wrong">I get a java.lang.InstantiationException for my data type, what is wrong?</a></li>
-      <li><a href="#i-cant-stop-flink-with-the-provided-stop-scripts-what-can-i-do" id="markdown-toc-i-cant-stop-flink-with-the-provided-stop-scripts-what-can-i-do">I can’t stop Flink with the provided stop-scripts. What can I do?</a></li>
-      <li><a href="#i-got-an-outofmemoryexception-what-can-i-do" id="markdown-toc-i-got-an-outofmemoryexception-what-can-i-do">I got an OutOfMemoryException. What can I do?</a></li>
-      <li><a href="#why-do-the-taskmanager-log-files-become-so-huge" id="markdown-toc-why-do-the-taskmanager-log-files-become-so-huge">Why do the TaskManager log files become so huge?</a></li>
-    </ul>
-  </li>
-  <li><a href="#yarn-deployment" id="markdown-toc-yarn-deployment">YARN Deployment</a>    <ul>
-      <li><a href="#the-yarn-session-runs-only-for-a-few-seconds" id="markdown-toc-the-yarn-session-runs-only-for-a-few-seconds">The YARN session runs only for a few seconds</a></li>
-      <li><a href="#the-yarn-session-crashes-with-a-hdfs-permission-exception-during-startup" id="markdown-toc-the-yarn-session-crashes-with-a-hdfs-permission-exception-during-startup">The YARN session crashes with a HDFS permission exception during startup</a></li>
-    </ul>
-  </li>
-  <li><a href="#features" id="markdown-toc-features">Features</a>    <ul>
-      <li><a href="#what-kind-of-fault-tolerance-does-flink-provide" id="markdown-toc-what-kind-of-fault-tolerance-does-flink-provide">What kind of fault-tolerance does Flink provide?</a></li>
-      <li><a href="#are-hadoop-like-utilities-such-as-counters-and-the-distributedcache-supported" id="markdown-toc-are-hadoop-like-utilities-such-as-counters-and-the-distributedcache-supported">Are Hadoop-like utilities, such as Counters and the DistributedCache supported?</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="general">General</h2>
-
-<h3 id="is-flink-a-hadoop-project">Is Flink a Hadoop Project?</h3>
-
-<p>Flink is a data processing system and an alternative to Hadoop’s
-MapReduce component. It comes with its own runtime, rather than building on top
-of MapReduce. As such, it can work completely independently of the Hadoop
-ecosystem. However, Flink can also access Hadoop’s distributed file
-system (HDFS) to read and write data, and Hadoop’s next-generation resource
-manager (YARN) to provision cluster resources. Since most Flink users are
-using Hadoop HDFS to store their data, we ship already the required libraries to
-access HDFS.</p>
-
-<h3 id="do-i-have-to-install-apache-hadoop-to-use-flink">Do I have to install Apache Hadoop to use Flink?</h3>
-
-<p>No. Flink can run without a Hadoop installation. However, a very common
-setup is to use Flink to analyze data stored in the Hadoop Distributed
-File System (HDFS). To make these setups work out of the box, we bundle the
-Hadoop client libraries with Flink by default.</p>
-
-<p>Additionally, we provide a special YARN Enabled download of Flink for
-users with an existing Hadoop YARN cluster. <a href="http://hadoop.apache.org/docs/r2.2.0/hadoop-yarn/hadoop-yarn-site/YARN.html">Apache Hadoop
-YARN</a> 
-is Hadoop’s cluster resource manager that allows to use
-different execution engines next to each other on a cluster.</p>
-
-<h2 id="usage">Usage</h2>
-
-<h3 id="how-do-i-assess-the-progress-of-a-flink-program">How do I assess the progress of a Flink program?</h3>
-
-<p>There are a multiple of ways to track the progress of a Flink program:</p>
-
-<ul>
-  <li>The JobManager (the master of the distributed system) starts a web interface
-to observe program execution. In runs on port 8081 by default (configured in
-<code>conf/flink-config.yml</code>).</li>
-  <li>When you start a program from the command line, it will print the status
-changes of all operators as the program progresses through the operations.</li>
-  <li>All status changes are also logged to the JobManager’s log file.</li>
-</ul>
-
-<h3 id="how-can-i-figure-out-why-a-program-failed">How can I figure out why a program failed?</h3>
-
-<ul>
-  <li>The JobManager web frontend (by default on port 8081) displays the exceptions
-of failed tasks.</li>
-  <li>If you run the program from the command-line, task exceptions are printed to
-the standard error stream and shown on the console.</li>
-  <li>Both the command line and the web interface allow you to figure out which
-parallel task first failed and caused the other tasks to cancel the execution.</li>
-  <li>Failing tasks and the corresponding exceptions are reported in the log files
-of the master and the worker where the exception occurred
-(<code>log/flink-&lt;user&gt;-jobmanager-&lt;host&gt;.log</code> and
-<code>log/flink-&lt;user&gt;-taskmanager-&lt;host&gt;.log</code>).</li>
-</ul>
-
-<h3 id="how-do-i-debug-flink-programs">How do I debug Flink programs?</h3>
-
-<ul>
-  <li>When you start a program locally with the <a href="local_execution.html">LocalExecutor</a>,
-you can place breakpoints in your functions and debug them like normal
-Java/Scala programs.</li>
-  <li>The <a href="programming_guide.html#accumulators--counters">Accumulators</a> are very helpful in
-tracking the behavior of the parallel execution. They allow you to gather
-information inside the program’s operations and show them after the program
-execution.</li>
-</ul>
-
-<h3 id="what-is-the-parallelism-how-do-i-set-it">What is the parallelism? How do I set it?</h3>
-
-<p>In Flink programs, the parallelism determines how operations are split into
-individual tasks which are assigned to task slots. Each node in a cluster has at
-least one task slot. The total number of task slots is the number of all task slots
-on all machines. If the parallelism is set to <code>N</code>, Flink tries to divide an
-operation into <code>N</code> parallel tasks which can be computed concurrently using the
-available task slots. The number of task slots should be equal to the
-parallelism to ensure that all tasks can be computed in a task slot concurrently.</p>
-
-<p><strong>Note</strong>: Not all operations can be divided into multiple tasks. For example, a
-<code>GroupReduce</code> operation without a grouping has to be performed with a
-parallelism of 1 because the entire group needs to be present at exactly one
-node to perform the reduce operation. Flink will determine whether the
-parallelism has to be 1 and set it accordingly.</p>
-
-<p>The parallelism can be set in numerous ways to ensure a fine-grained control
-over the execution of a Flink program. See
-the <a href="setup/config.html#common-options">Configuration guide</a> for detailed instructions on how to
-set the parallelism. Also check out <a href="setup/config.html#configuring-taskmanager-processing-slots">this figure</a> detailing
-how the processing slots and parallelism are related to each other.</p>
-
-<h2 id="errors">Errors</h2>
-
-<h3 id="why-am-i-getting-a-nonserializableexception-">Why am I getting a “NonSerializableException” ?</h3>
-
-<p>All functions in Flink must be serializable, as defined by <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html">java.io.Serializable</a>.
-Since all function interfaces are serializable, the exception means that one
-of the fields used in your function is not serializable.</p>
-
-<p>In particular, if your function is an inner class, or anonymous inner class,
-it contains a hidden reference to the enclosing class (usually called <code>this$0</code>, if you look
-at the function in the debugger). If the enclosing class is not serializable, this is probably
-the source of the error. Solutions are to</p>
-
-<ul>
-  <li>make the function a standalone class, or a static inner class (no more reference to the enclosing class)</li>
-  <li>make the enclosing class serializable</li>
-  <li>use a Java 8 lambda function.</li>
-</ul>
-
-<h3 id="in-scala-api-i-get-an-error-about-implicit-values-and-evidence-parameters">In Scala API, I get an error about implicit values and evidence parameters</h3>
-
-<p>It means that the implicit value for the type information could not be provided.
-Make sure that you have an <code>import org.apache.flink.api.scala._</code> statement in your code.</p>
-
-<p>If you are using flink operations inside functions or classes that take
-generic parameters a TypeInformation must be available for that parameter.
-This can be achieved by using a context bound:</p>
-
-<div class="highlight"><pre><code class="language-scala"><span class="k">def</span> <span class="n">myFunction</span><span class="o">[</span><span class="kt">T:</span> <span class="kt">TypeInformation</span><span class="o">](</span><span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">T</span><span class="o">])</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Seq</span><span class="o">[</span><span class="kt">T</span><span class="o">]]</span> <span class="k">=</span> <span class="o">{</span>
-  <span class="n">input</span><span class="o">.</span><span class="n">reduceGroup</span><span class="o">(</span> <span class="n">i</span> <span class="k">=&gt;</span> <span class="n">i</span><span class="o">.</span><span class="n">toSeq</span> <span class="o">)</span>
-<span class="o">}</span></code></pre></div>
-
-<p>See <a href="internal_types_serialization.html">Type Extraction and Serialization</a> for
-an in-depth discussion of how Flink handles types.</p>
-
-<h3 id="i-get-an-error-message-saying-that-not-enough-buffers-are-available-how-do-i-fix-this">I get an error message saying that not enough buffers are available. How do I fix this?</h3>
-
-<p>If you run Flink in a massively parallel setting (100+ parallel threads),
-you need to adapt the number of network buffers via the config parameter
-<code>taskmanager.network.numberOfBuffers</code>.
-As a rule-of-thumb, the number of buffers should be at least
-<code>4 * numberOfNodes * numberOfTasksPerNode^2</code>. See
-<a href="setup/config.html">Configuration Reference</a> for details.</p>
-
-<h3 id="my-job-fails-early-with-a-javaioeofexception-what-could-be-the-cause">My job fails early with a java.io.EOFException. What could be the cause?</h3>
-
-<p>The most common case for these exception is when Flink is set up with the
-wrong HDFS version. Because different HDFS versions are often not compatible
-with each other, the connection between the filesystem master and the client
-breaks.</p>
-
-<div class="highlight"><pre><code class="language-bash">Call to &lt;host:port&gt; failed on <span class="nb">local </span>exception: java.io.EOFException
-    at org.apache.hadoop.ipc.Client.wrapException<span class="o">(</span>Client.java:775<span class="o">)</span>
-    at org.apache.hadoop.ipc.Client.call<span class="o">(</span>Client.java:743<span class="o">)</span>
-    at org.apache.hadoop.ipc.RPC<span class="nv">$Invoker</span>.invoke<span class="o">(</span>RPC.java:220<span class="o">)</span>
-    at <span class="nv">$Proxy0</span>.getProtocolVersion<span class="o">(</span>Unknown Source<span class="o">)</span>
-    at org.apache.hadoop.ipc.RPC.getProxy<span class="o">(</span>RPC.java:359<span class="o">)</span>
-    at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode<span class="o">(</span>DFSClient.java:106<span class="o">)</span>
-    at org.apache.hadoop.hdfs.DFSClient.&lt;init&gt;<span class="o">(</span>DFSClient.java:207<span class="o">)</span>
-    at org.apache.hadoop.hdfs.DFSClient.&lt;init&gt;<span class="o">(</span>DFSClient.java:170<span class="o">)</span>
-    at org.apache.hadoop.hdfs.DistributedFileSystem.initialize<span class="o">(</span>DistributedFileSystem.java:82<span class="o">)</span>
-    at org.apache.flinkruntime.fs.hdfs.DistributedFileSystem.initialize<span class="o">(</span>DistributedFileSystem.java:276</code></pre></div>
-
-<p>Please refer to the <a href="http://flink.apache.org/docs/master/downloads.html#maven">download page</a> and
-the <a href="https://github.com/apache/flink/blob/master/README.md">build instructions</a>
-for details on how to set up Flink for different Hadoop and HDFS versions.</p>
-
-<h3 id="in-eclipse-i-get-compilation-errors-in-the-scala-projects">In Eclipse, I get compilation errors in the Scala projects</h3>
-
-<p>Flink uses a new feature of the Scala compiler (called “quasiquotes”) that have not yet been properly
-integrated with the Eclipse Scala plugin. In order to make this feature available in Eclipse, you
-need to manually configure the <em>flink-scala</em> project to use a <em>compiler plugin</em>:</p>
-
-<ul>
-  <li>Right click on <em>flink-scala</em> and choose “Properties”</li>
-  <li>Select “Scala Compiler” and click on the “Advanced” tab. (If you do not have that, you probably have not set up Eclipse for Scala properly.)</li>
-  <li>Check the box “Use Project Settings”</li>
-  <li>In the field “Xplugin”, put the path “/home/<user-name>/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar"</user-name></li>
-  <li>NOTE: You have to build Flink with Maven on the command line first, to make sure the plugin is downloaded.</li>
-</ul>
-
-<h3 id="my-program-does-not-compute-the-correct-result-why-are-my-custom-key-types">My program does not compute the correct result. Why are my custom key types</h3>
-<p>are not grouped/joined correctly?</p>
-
-<p>Keys must correctly implement the methods <code>java.lang.Object#hashCode()</code>,
-<code>java.lang.Object#equals(Object o)</code>, and <code>java.util.Comparable#compareTo(...)</code>.
-These methods are always backed with default implementations which are usually
-inadequate. Therefore, all keys must override <code>hashCode()</code> and <code>equals(Object o)</code>.</p>
-
-<h3 id="i-get-a-javalanginstantiationexception-for-my-data-type-what-is-wrong">I get a java.lang.InstantiationException for my data type, what is wrong?</h3>
-
-<p>All data type classes must be public and have a public nullary constructor
-(constructor with no arguments). Further more, the classes must not be abstract
-or interfaces. If the classes are internal classes, they must be public and
-static.</p>
-
-<h3 id="i-cant-stop-flink-with-the-provided-stop-scripts-what-can-i-do">I can’t stop Flink with the provided stop-scripts. What can I do?</h3>
-
-<p>Stopping the processes sometimes takes a few seconds, because the shutdown may
-do some cleanup work.</p>
-
-<p>In some error cases it happens that the JobManager or TaskManager cannot be
-stopped with the provided stop-scripts (<code>bin/stop-local.sh</code> or <code>bin/stop-
-cluster.sh</code>). You can kill their processes on Linux/Mac as follows:</p>
-
-<ul>
-  <li>Determine the process id (pid) of the JobManager / TaskManager process. You
-can use the <code>jps</code> command on Linux(if you have OpenJDK installed) or command
-<code>ps -ef | grep java</code> to find all Java processes.</li>
-  <li>Kill the process with <code>kill -9 &lt;pid&gt;</code>, where <code>pid</code> is the process id of the
-affected JobManager or TaskManager process.</li>
-</ul>
-
-<p>On Windows, the TaskManager shows a table of all processes and allows you to
-destroy a process by right its entry.</p>
-
-<h3 id="i-got-an-outofmemoryexception-what-can-i-do">I got an OutOfMemoryException. What can I do?</h3>
-
-<p>These exceptions occur usually when the functions in the program consume a lot
-of memory by collection large numbers of objects, for example in lists or maps.
-The OutOfMemoryExceptions in Java are kind of tricky. The exception is not
-necessarily thrown by the component that allocated most of the memory but by the
-component that tried to requested the latest bit of memory that could not be
-provided.</p>
-
-<p>There are two ways to go about this:</p>
-
-<ol>
-  <li>
-    <p>See whether you can use less memory inside the functions. For example, use
-arrays of primitive types instead of object types.</p>
-  </li>
-  <li>
-    <p>Reduce the memory that Flink reserves for its own processing. The
-TaskManager reserves a certain portion of the available memory for sorting,
-hashing, caching, network buffering, etc. That part of the memory is unavailable
-to the user-defined functions. By reserving it, the system can guarantee to not
-run out of memory on large inputs, but to plan with the available memory and
-destage operations to disk, if necessary. By default, the system reserves around
-70% of the memory. If you frequently run applications that need more memory in
-the user-defined functions, you can reduce that value using the configuration
-entries <code>taskmanager.memory.fraction</code> or <code>taskmanager.memory.size</code>. See the
-<a href="setup/config.html">Configuration Reference</a> for details. This will leave more memory to JVM heap,
-but may cause data processing tasks to go to disk more often.</p>
-  </li>
-</ol>
-
-<h3 id="why-do-the-taskmanager-log-files-become-so-huge">Why do the TaskManager log files become so huge?</h3>
-
-<p>Check the logging behavior of your jobs. Emitting logging per or tuple may be
-helpful to debug jobs in small setups with tiny data sets, it becomes very
-inefficient and disk space consuming if used for large input data.</p>
-
-<h2 id="yarn-deployment">YARN Deployment</h2>
-
-<h3 id="the-yarn-session-runs-only-for-a-few-seconds">The YARN session runs only for a few seconds</h3>
-
-<p>The <code>./bin/yarn-session.sh</code> script is intended to run while the YARN-session is
-open. In some error cases however, the script immediately stops running. The
-output looks like this:</p>
-
-<div class="highlight"><pre><code>07:34:27,004 INFO  org.apache.hadoop.yarn.client.api.impl.YarnClientImpl         - Submitted application application_1395604279745_273123 to ResourceManager at jobtracker-host
-Flink JobManager is now running on worker1:6123
-JobManager Web Interface: http://jobtracker-host:54311/proxy/application_1295604279745_273123/
-07:34:51,528 INFO  org.apache.flinkyarn.Client                                   - Application application_1295604279745_273123 finished with state FINISHED at 1398152089553
-07:34:51,529 INFO  org.apache.flinkyarn.Client                                   - Killing the Flink-YARN application.
-07:34:51,529 INFO  org.apache.hadoop.yarn.client.api.impl.YarnClientImpl         - Killing application application_1295604279745_273123
-07:34:51,534 INFO  org.apache.flinkyarn.Client                                   - Deleting files in hdfs://user/marcus/.flink/application_1295604279745_273123
-07:34:51,559 INFO  org.apache.flinkyarn.Client                                   - YARN Client is shutting down
-</code></pre></div>
-
-<p>The problem here is that the Application Master (AM) is stopping and the YARN client assumes that the application has finished.</p>
-
-<p>There are three possible reasons for that behavior:</p>
-
-<ul>
-  <li>
-    <p>The ApplicationMaster exited with an exception. To debug that error, have a
-look in the logfiles of the container. The <code>yarn-site.xml</code> file contains the
-configured path. The key for the path is <code>yarn.nodemanager.log-dirs</code>, the
-default value is <code>${yarn.log.dir}/userlogs</code>.</p>
-  </li>
-  <li>
-    <p>YARN has killed the container that runs the ApplicationMaster. This case
-happens when the AM used too much memory or other resources beyond YARN’s
-limits. In this case, you’ll find error messages in the nodemanager logs on
-the host.</p>
-  </li>
-  <li>
-    <p>The operating system has shut down the JVM of the AM. This can happen if the
-YARN configuration is wrong and more memory than physically available is
-configured. Execute <code>dmesg</code> on the machine where the AM was running to see if
-this happened. You see messages from Linux’ <a href="http://linux-mm.org/OOM_Killer">OOM killer</a>.</p>
-  </li>
-</ul>
-
-<h3 id="the-yarn-session-crashes-with-a-hdfs-permission-exception-during-startup">The YARN session crashes with a HDFS permission exception during startup</h3>
-
-<p>While starting the YARN session, you are receiving an exception like this:</p>
-
-<div class="highlight"><pre><code>Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=robert, access=WRITE, inode="/user/robert":hdfs:supergroup:drwxr-xr-x
-  at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:234)
-  at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:214)
-  at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:158)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5193)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5175)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkAncestorAccess(FSNamesystem.java:5149)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:2090)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2043)
-  at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:1996)
-  at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:491)
-  at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:301)
-  at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:59570)
-  at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
-  at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)
-  at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2053)
-  at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
-  at java.security.AccessController.doPrivileged(Native Method)
-  at javax.security.auth.Subject.doAs(Subject.java:396)
-  at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
-  at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2047)
-
-  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
-  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
-  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
-  at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
-  at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
-  at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73)
-  at org.apache.hadoop.hdfs.DFSOutputStream.newStreamForCreate(DFSOutputStream.java:1393)
-  at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1382)
-  at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1307)
-  at org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:384)
-  at org.apache.hadoop.hdfs.DistributedFileSystem$6.doCall(DistributedFileSystem.java:380)
-  at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
-  at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:380)
-  at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:324)
-  at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:905)
-  at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:886)
-  at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:783)
-  at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:365)
-  at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:338)
-  at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:2021)
-  at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1989)
-  at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1954)
-  at org.apache.flinkyarn.Utils.setupLocalResource(Utils.java:176)
-  at org.apache.flinkyarn.Client.run(Client.java:362)
-  at org.apache.flinkyarn.Client.main(Client.java:568)
-</code></pre></div>
-
-<p>The reason for this error is, that the home directory of the user <strong>in HDFS</strong>
-has the wrong permissions. The user (in this case <code>robert</code>) can not create
-directories in his own home directory.</p>
-
-<p>Flink creates a <code>.flink/</code> directory in the users home directory
-where it stores the Flink jar and configuration file.</p>
-
-<h2 id="features">Features</h2>
-
-<h3 id="what-kind-of-fault-tolerance-does-flink-provide">What kind of fault-tolerance does Flink provide?</h3>
-
-<p>Flink can restart failed jobs. Mid-query fault tolerance will go into the
-open source project in the next versions.</p>
-
-<h3 id="are-hadoop-like-utilities-such-as-counters-and-the-distributedcache-supported">Are Hadoop-like utilities, such as Counters and the DistributedCache supported?</h3>
-
-<p><a href="programming_guide.html#accumulators--counters">Flink’s Accumulators</a> work very similar like
-[Hadoop’s counters, but are more powerful.</p>
-
-<p>Flink has a <a href="https://github.com/apache/flink/blob/master//flink-core/src/main/java/org/apache/flink/api/common/cache/DistributedCache.java">Distributed Cache</a> that is deeply integrated with the APIs. Please refer to the <a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java/ExecutionEnvironment.java#L561">JavaDocs</a> for details on how to use it.</p>
-
-<p>In order to make data sets available on all tasks, we encourage you to use <a href="programming_guide.html#broadcast-variables">Broadcast Variables</a> instead. They are more efficient and easier to use than the distributed cache.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/fig/LICENSE.txt
----------------------------------------------------------------------
diff --git a/content/docs/master/fig/LICENSE.txt b/content/docs/master/fig/LICENSE.txt
deleted file mode 100644
index 35b8673..0000000
--- a/content/docs/master/fig/LICENSE.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-All image files in the folder and its subfolders are
-licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/fig/overview-stack-0.9.png
----------------------------------------------------------------------
diff --git a/content/docs/master/fig/overview-stack-0.9.png b/content/docs/master/fig/overview-stack-0.9.png
deleted file mode 100644
index 70b775a..0000000
Binary files a/content/docs/master/fig/overview-stack-0.9.png and /dev/null differ


[65/68] [abbrv] flink-web git commit: Fix typo on new features page

Posted by an...@apache.org.
Fix typo on new features page


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/cea9e17b
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/cea9e17b
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/cea9e17b

Branch: refs/heads/master
Commit: cea9e17b4ff1402001ea88295f5b17ab9ac3b6ca
Parents: c067b30
Author: Ufuk Celebi <uc...@apache.org>
Authored: Tue Jul 14 15:39:21 2015 +0200
Committer: Ufuk Celebi <uc...@apache.org>
Committed: Tue Jul 14 15:39:21 2015 +0200

----------------------------------------------------------------------
 features.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/cea9e17b/features.md
----------------------------------------------------------------------
diff --git a/features.md b/features.md
index 431f8c0..5b9ac13 100644
--- a/features.md
+++ b/features.md
@@ -232,7 +232,7 @@ val result = initialRanks.iterate(30) { pages =>
 <div class="row">
   <div class="col-sm-5">
     <p class="lead">The <i>DataStream</i> API supports functional transformations on data streams, with user-defined state, and flexible windows.</p>
-    <p class="lead">The example shows how to compute a sliding historam of word occurrences of a data stream of texts.</p>
+    <p class="lead">The example shows how to compute a sliding histogram of word occurrences of a data stream of texts.</p>
   </div>
   <div class="col-sm-7">
     <p class="lead">WindowWordCount in Flink's DataStream API</p>


[52/68] [abbrv] flink-web git commit: Revert "[fixup] Deactive htaccess rewrite engine"

Posted by an...@apache.org.
Revert "[fixup] Deactive htaccess rewrite engine"

This reverts commit e5ff6a160addde80d6324b9f2ea24aa50caa255c.


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/a5d9d9cb
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/a5d9d9cb
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/a5d9d9cb

Branch: refs/heads/master
Commit: a5d9d9cb475583303296f4601d93c572b4f01679
Parents: f0ac0cd
Author: Maximilian Michels <mx...@apache.org>
Authored: Wed Jul 1 11:57:35 2015 +0200
Committer: Maximilian Michels <mx...@apache.org>
Committed: Wed Jul 1 11:57:35 2015 +0200

----------------------------------------------------------------------
 .htaccess         | 2 +-
 content/.htaccess | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/a5d9d9cb/.htaccess
----------------------------------------------------------------------
diff --git a/.htaccess b/.htaccess
index 9a14055..8dbb298 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,5 +1,5 @@
 # redirect rules to prevent old links from breaking
-#RewriteEngine On
+RewriteEngine On
 
 #RewriteRule ^/?docs/0.6-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.6/$1  [R=301,L,NE]
 #RewriteRule ^/?docs/0.7-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.7/$1  [R=301,L,NE]

http://git-wip-us.apache.org/repos/asf/flink-web/blob/a5d9d9cb/content/.htaccess
----------------------------------------------------------------------
diff --git a/content/.htaccess b/content/.htaccess
index 9a14055..8dbb298 100644
--- a/content/.htaccess
+++ b/content/.htaccess
@@ -1,5 +1,5 @@
 # redirect rules to prevent old links from breaking
-#RewriteEngine On
+RewriteEngine On
 
 #RewriteRule ^/?docs/0.6-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.6/$1  [R=301,L,NE]
 #RewriteRule ^/?docs/0.7-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.7/$1  [R=301,L,NE]


[61/68] [abbrv] flink-web git commit: Update FAQ entry on Fault Tolerance

Posted by an...@apache.org.
Update FAQ entry on Fault Tolerance

Fix various links


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/9760e5eb
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/9760e5eb
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/9760e5eb

Branch: refs/heads/master
Commit: 9760e5eb5f3159657f2f9a80fdc5c597564f8c80
Parents: 5dcbfe1
Author: Stephan Ewen <se...@apache.org>
Authored: Mon Jul 6 16:01:27 2015 +0200
Committer: Stephan Ewen <se...@apache.org>
Committed: Mon Jul 6 16:01:27 2015 +0200

----------------------------------------------------------------------
 content/community.html |  4 ++--
 content/faq.html       | 10 ++++++----
 faq.md                 | 11 +++++++----
 3 files changed, 15 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/9760e5eb/content/community.html
----------------------------------------------------------------------
diff --git a/content/community.html b/content/community.html
index ec76633..ce85100 100644
--- a/content/community.html
+++ b/content/community.html
@@ -343,7 +343,7 @@
     <td class="text-center">aljoscha</td>
   </tr>
   <tr>
-    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/2550549?s=50"></td>
+    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/2550549?s=50" /></td>
     <td class="text-center">Andra Lungu</td>
     <td class="text-center">Committer</td>
     <td class="text-center">andra</td>
@@ -361,7 +361,7 @@
     <td class="text-center">mxm</td>
   </tr>
   <tr>
-    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1941681?s=50"></td>
+    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1941681?s=50" /></td>
     <td class="text-center">Chiwan Park</td>
     <td class="text-center">Committer</td>
     <td class="text-center">chiwanpark</td>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9760e5eb/content/faq.html
----------------------------------------------------------------------
diff --git a/content/faq.html b/content/faq.html
index b1e7c3d..78dd9b1 100644
--- a/content/faq.html
+++ b/content/faq.html
@@ -581,15 +581,17 @@ where it stores the Flink jar and configuration file.</p>
 
 <h3 id="what-kind-of-fault-tolerance-does-flink-provide">What kind of fault-tolerance does Flink provide?</h3>
 
-<p>Flink can restart failed jobs. Mid-query fault tolerance will go into the
-open source project in the next versions.</p>
+<p>For streaming programs, Flink has a novel approach to draw periodic snapshots of the streaming dataflow state and use those for recovery.
+This mechanism is both efficient and flexible. See the documentation on <a href="http://ci.apache.org/projects/flink/flink-docs-master/internals/stream_checkpointing.html">streaming fault tolerance</a> for details.</p>
+
+<p>For batch processing programs, Flink remembers the programs sequence of transformations and can restart failed jobs.</p>
 
 <h3 id="are-hadoop-like-utilities-such-as-counters-and-the-distributedcache-supported">Are Hadoop-like utilities, such as Counters and the DistributedCache supported?</h3>
 
 <p><a href="http://ci.apache.org/projects/flink/flink-docs-master/apis/programming_guide.html#accumulators--counters">Flink’s Accumulators</a> work very similar like
-[Hadoop’s counters, but are more powerful.</p>
+Hadoop’s counters, but are more powerful.</p>
 
-<p>Flink has a https://github.com/apache/flink/tree/master//flink-core/src/main/java/org/apache/flink/api/common/cache/DistributedCache.java that is deeply integrated with the APIs. Please refer to the https://github.com/apache/flink/tree/master//flink-java/src/main/java/org/apache/flink/api/java/ExecutionEnvironment.java#L561 for details on how to use it.</p>
+<p>Flink has a <a href="https://github.com/apache/flink/tree/master/flink-core/src/main/java/org/apache/flink/api/common/cache/DistributedCache.java">Distributed Cache</a> that is deeply integrated with the APIs. Please refer to the <a href="https://github.com/apache/flink/tree/master/flink-java/src/main/java/org/apache/flink/api/java/ExecutionEnvironment.java#L561">JavaDocs</a> for details on how to use it.</p>
 
 <p>In order to make data sets available on all tasks, we encourage you to use <a href="http://ci.apache.org/projects/flink/flink-docs-master/apis/programming_guide.html#broadcast-variables">Broadcast Variables</a> instead. They are more efficient and easier to use than the distributed cache.</p>
 

http://git-wip-us.apache.org/repos/asf/flink-web/blob/9760e5eb/faq.md
----------------------------------------------------------------------
diff --git a/faq.md b/faq.md
index 85299e8..5e44742 100644
--- a/faq.md
+++ b/faq.md
@@ -384,14 +384,17 @@ where it stores the Flink jar and configuration file.
 
 ### What kind of fault-tolerance does Flink provide?
 
-Flink can restart failed jobs. Mid-query fault tolerance will go into the
-open source project in the next versions.
+For streaming programs, Flink has a novel approach to draw periodic snapshots of the streaming dataflow state and use those for recovery.
+This mechanism is both efficient and flexible. See the documentation on [streaming fault tolerance]({{ site.docs-snapshot }}/internals/stream_checkpointing.html) for details.
+
+For batch processing programs, Flink remembers the programs sequence of transformations and can restart failed jobs.
+
 
 ### Are Hadoop-like utilities, such as Counters and the DistributedCache supported?
 
 [Flink's Accumulators]({{ site.docs-snapshot }}/apis/programming_guide.html#accumulators--counters) work very similar like
-[Hadoop's counters, but are more powerful.
+Hadoop's counters, but are more powerful.
 
-Flink has a {% github /flink-core/src/main/java/org/apache/flink/api/common/cache/DistributedCache.java "Distributed Cache" %} that is deeply integrated with the APIs. Please refer to the {% github /flink-java/src/main/java/org/apache/flink/api/java/ExecutionEnvironment.java#L561 "JavaDocs" %} for details on how to use it.
+Flink has a [Distributed Cache](https://github.com/apache/flink/tree/master/flink-core/src/main/java/org/apache/flink/api/common/cache/DistributedCache.java) that is deeply integrated with the APIs. Please refer to the [JavaDocs](https://github.com/apache/flink/tree/master/flink-java/src/main/java/org/apache/flink/api/java/ExecutionEnvironment.java#L831) for details on how to use it.
 
 In order to make data sets available on all tasks, we encourage you to use [Broadcast Variables]({{ site.docs-snapshot }}/apis/programming_guide.html#broadcast-variables) instead. They are more efficient and easier to use than the distributed cache.


[35/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/fig/state_machine.svg
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/fig/state_machine.svg b/content/docs/0.9/internals/fig/state_machine.svg
deleted file mode 100644
index 8d0f570..0000000
--- a/content/docs/0.9/internals/fig/state_machine.svg
+++ /dev/null
@@ -1,318 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="664.92505"
-   height="445.67966"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.5 r10040">
-  <defs
-     id="defs4" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.35"
-     inkscape:cx="332.46252"
-     inkscape:cy="222.83984"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:window-width="1600"
-     inkscape:window-height="838"
-     inkscape:window-x="1912"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(-42.537478,-309.52235)">
-    <g
-       id="g2989"
-       transform="translate(-103.51453,206.80922)">
-      <path
-         id="path2991"
-         d="m 146.68029,340.95994 c 0,-20.55512 16.69166,-37.20927 37.28429,-37.20927 20.59263,0 37.26553,16.65415 37.26553,37.20927 0,20.53637 -16.6729,37.19052 -37.26553,37.19052 -20.59263,0 -37.28429,-16.65415 -37.28429,-37.19052"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2993"
-         d="m 146.68029,340.95994 c 0,-20.55512 16.69166,-37.20927 37.28429,-37.20927 20.59263,0 37.26553,16.65415 37.26553,37.20927 0,20.53637 -16.6729,37.19052 -37.26553,37.19052 -20.59263,0 -37.28429,-16.65415 -37.28429,-37.19052"
-         style="fill:none;stroke:#41719c;stroke-width:1.25656307px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text2995"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="346.5697"
-         x="148.55054"
-         xml:space="preserve">CREATED</text>
-      <path
-         id="path2997"
-         d="m 321.56761,238.20309 c 0,-20.59263 16.69166,-37.28429 37.28429,-37.28429 20.59263,0 37.26553,16.69166 37.26553,37.28429 0,20.57388 -16.6729,37.26554 -37.26553,37.26554 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.26554"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2999"
-         d="m 321.56761,238.20309 c 0,-20.59263 16.69166,-37.28429 37.28429,-37.28429 20.59263,0 37.26553,16.69166 37.26553,37.28429 0,20.57388 -16.6729,37.26554 -37.26553,37.26554 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.26554"
-         style="fill:none;stroke:#41719c;stroke-width:1.25656307px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3001"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="234.7578"
-         x="335.63348"
-         xml:space="preserve">SCHE</text>
-      <text
-         id="text3003"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="234.7578"
-         x="377.34387"
-         xml:space="preserve">-</text>
-      <text
-         id="text3005"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="252.76228"
-         x="333.53293"
-         xml:space="preserve">DULED</text>
-      <path
-         id="path3007"
-         d="m 295.94873,509.20811 c 0,-20.59263 16.69166,-37.28429 37.26553,-37.28429 20.59263,0 37.28429,16.69166 37.28429,37.28429 0,20.57387 -16.69166,37.26553 -37.28429,37.26553 -20.57387,0 -37.26553,-16.69166 -37.26553,-37.26553"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3009"
-         d="m 294.11077,511.15859 -0.0375,-1.95048 0.0563,-2.02551 0.15003,-1.98799 0.24381,-1.95049 0.33759,-1.91298 0.4126,-1.78169 3.65716,0.82521 -0.39385,1.74418 0.0188,-0.0938 -0.33759,1.83795 0.0188,-0.11252 -0.22506,1.87546 0,-0.0938 -0.15004,1.89422 0,-0.0938 -0.0375,1.91298 0,-0.075 0.0375,1.91297 -3.75093,0.075 z m 2.36309,-15.45385 0.67517,-1.74418 0.78769,-1.74419 0.86272,-1.66916 0.93773,-1.63166 1.01275,-1.59415 1.10653,-1.53788 0.28132,-0.37509 2.96324,2.30682 -0.26257,0.33759 0.0375,-0.075 -1.0315,1.46286 0.0563,-0.075 -0.97524,1.51913 0.0563,-0.0563 -0.90022,1.55664 0.0375,-0.0938 -0.82521,1.6129 0.0375,-0.0938 -0.75019,1.65041 0.0375,-0.0938 -0.65641,1.70667 -3.48837,-1.36909 z m 8.21455,-13.29706 0.84396,-0.88147 1.36909,-1.31283 1.42535,-1.21905 1.48162,-1.16279 1.51913,-1.08777 1.59415,-1.01275 1.01275,-0.5814 1.85671,3.24456 -0.95649,0.56264 0.075,-0.0563 -1.50037,0.97524 0.0563,-0.0375 -1.46286,1.03151 0.075,-0.0563 -1.4066,1.10653 0.075,-0.0563 -1.36909,1.16
 279 0.075,-0.0563 -1.29407,1.23781 0.0563,-0.075 -0.80645,0.86271 -2.71942,-2.58814 z m 12.73442,-9.021 0.56264,-0.26256 1.78169,-0.69393 1.81921,-0.6189 1.85671,-0.52513 1.89422,-0.43136 1.91298,-0.33758 1.53788,-0.2063 0.48762,3.71342 -1.50037,0.2063 0.0938,-0.0188 -1.8192,0.31883 0.075,-0.0188 -1.80045,0.41261 0.0938,-0.0188 -1.76294,0.50638 0.075,-0.0188 -1.72543,0.5814 0.0938,-0.0375 -1.68792,0.65641 0.075,-0.0375 -0.50637,0.24381 -1.55664,-3.41335 z m 15.30381,-3.31957 0.48762,-0.0188 2.02551,0.0563 1.98799,0.15004 1.95049,0.26257 1.93173,0.33758 1.89422,0.43136 1.38785,0.39385 -1.03151,3.60089 -1.35034,-0.37509 0.11253,0.0188 -1.80045,-0.41261 0.075,0.0188 -1.83796,-0.31883 0.0938,0.0188 -1.85672,-0.24381 0.0938,0.0188 -1.89422,-0.15004 0.11252,0 -1.93173,-0.0563 0.0938,0 -0.45012,0.0188 -0.0938,-3.75093 z m 15.37883,2.92572 0.35634,0.13129 1.72543,0.78769 1.70668,0.88147 1.63165,0.93774 1.57539,1.01275 1.53789,1.08777 1.48162,1.16279 0.11252,0.0938 -2.4381,2.85071 -0.0938,-0
 .075 0.075,0.0563 -1.4066,-1.10653 0.075,0.0563 -1.46286,-1.03151 0.0563,0.0375 -1.50037,-0.97524 0.075,0.0563 -1.55664,-0.90022 0.075,0.0375 -1.61291,-0.82521 0.0938,0.0375 -1.65041,-0.75019 0.075,0.0375 -0.31883,-0.11253 1.38784,-3.48837 z m 13.0345,8.75844 1.06902,1.12528 1.21905,1.42535 1.16279,1.48162 1.08777,1.53788 1.01275,1.59415 0.95649,1.63166 0.37509,0.71268 -3.33833,1.72543 -0.35634,-0.69393 0.0375,0.0938 -0.90022,-1.55664 0.0563,0.0563 -0.97524,-1.51913 0.0563,0.075 -1.05026,-1.46286 0.0563,0.075 -1.10653,-1.4066 0.0563,0.075 -1.16279,-1.35033 0.0563,0.0563 -1.03151,-1.08777 2.71943,-2.58814 z m 8.49587,13.09076 0.35633,0.90022 0.61891,1.81921 0.52513,1.85671 0.43136,1.91297 0.35634,1.91298 0.24381,1.95049 0.0938,1.12528 -3.75093,0.30007 -0.075,-1.08777 0,0.0938 -0.22506,-1.87546 0.0188,0.11252 -0.33759,-1.83795 0.0188,0.0938 -0.41261,-1.8192 0.0188,0.11253 -0.50638,-1.76294 0.0375,0.075 -0.58139,-1.74418 0.0375,0.0938 -0.33759,-0.84396 3.46962,-1.38784 z m 2.71942,15.4
 1634 -0.0375,0.97524 -0.15003,1.96924 -0.24381,1.95049 -0.35634,1.93173 -0.43136,1.89422 -0.52513,1.87547 -0.33759,0.994 -3.54463,-1.2003 0.31883,-0.95649 -0.0375,0.075 0.50638,-1.76294 -0.0188,0.0938 0.41261,-1.80045 -0.0188,0.0938 0.33759,-1.83796 -0.0188,0.0938 0.22506,-1.87547 0,0.0938 0.15003,-1.87547 -0.0188,0.0938 0.0375,-0.91898 3.75093,0.0938 z m -3.54463,15.24755 -0.30007,0.67516 -0.86272,1.68793 -0.95649,1.63165 -1.01275,1.59415 -1.08777,1.53788 -1.16279,1.48162 -1.05026,1.21905 -2.83196,-2.45686 1.01275,-1.18154 -0.0563,0.0563 1.10653,-1.4066 -0.0563,0.075 1.05026,-1.46286 -0.0563,0.075 0.97524,-1.50038 -0.0563,0.0563 0.90022,-1.55664 -0.0375,0.0938 0.82521,-1.6129 -0.0375,0.075 0.28132,-0.63766 3.41335,1.55664 z m -9.18979,12.62189 -0.075,0.0563 -1.42535,1.2378 -1.48162,1.16279 -1.53789,1.08777 -1.57539,1.01276 -1.65041,0.93773 -1.68792,0.88147 -0.43136,0.18755 -1.53788,-3.41335 0.39385,-0.18755 -0.0938,0.0563 1.61291,-0.8252 -0.075,0.0375 1.55664,-0.90023 -0.075,0.0375
  1.51913,-0.95649 -0.0938,0.0375 1.46287,-1.0315 -0.0563,0.0563 1.4066,-1.10653 -0.075,0.0563 1.3691,-1.18155 -0.075,0.0563 0.0375,-0.0188 2.58814,2.71943 z m -13.50336,8.04576 -1.25657,0.4126 -1.85671,0.54388 -1.89422,0.43136 -1.93173,0.33759 -1.95049,0.24381 -1.98799,0.16879 -0.69393,0.0187 -0.0938,-3.75093 0.63766,-0.0188 -0.0938,0 1.89422,-0.15003 -0.0938,0.0188 1.85672,-0.24381 -0.0938,0.0188 1.83796,-0.31882 -0.075,0 1.80045,-0.41261 -0.11253,0.0375 1.7817,-0.50637 -0.075,0.0188 1.2003,-0.4126 1.2003,3.56339 z m -15.51012,2.08176 -1.38784,-0.11252 -1.95049,-0.24381 -1.93173,-0.33759 -1.89422,-0.43136 -1.85671,-0.54388 -1.81921,-0.60015 -0.65641,-0.26257 1.38784,-3.48837 0.60015,0.24382 -0.0938,-0.0375 1.72543,0.58139 -0.075,-0.0188 1.76294,0.50637 -0.0938,-0.0375 1.80045,0.41261 -0.075,0 1.83796,0.31882 -0.11253,-0.0188 1.87546,0.24381 -0.0938,-0.0188 1.35034,0.11252 -0.30008,3.73218 z m -15.07875,-4.12602 -0.97525,-0.50638 -1.63165,-0.93773 -1.59415,-1.01276 -1.51913,-1.08777
  -1.48162,-1.16279 -1.42535,-1.2378 -0.93774,-0.88147 2.58815,-2.71943 0.90022,0.84396 -0.075,-0.0563 1.36909,1.18155 -0.075,-0.0563 1.4066,1.10653 -0.075,-0.0563 1.46286,1.0315 -0.075,-0.0375 1.51913,0.95649 -0.075,-0.0375 1.55664,0.90023 -0.075,-0.0563 0.91898,0.48762 -1.70667,3.33834 z m -12.2468,-9.71492 -0.26257,-0.30008 -1.16279,-1.48162 -1.08777,-1.53788 -1.03151,-1.59415 -0.93773,-1.63165 -0.86272,-1.68793 -0.78769,-1.74418 -0.0563,-0.11253 3.50713,-1.36909 0.0188,0.075 -0.0375,-0.0938 0.75019,1.65041 -0.0375,-0.075 0.82521,1.59415 -0.0375,-0.0563 0.88147,1.55664 -0.0563,-0.0938 0.97524,1.51913 -0.0375,-0.075 1.0315,1.46286 -0.0375,-0.075 1.10653,1.4066 -0.0563,-0.0563 0.24382,0.28132 -2.85071,2.43811 z m -7.50187,-13.78469 -0.46887,-1.65041 -0.45011,-1.89422 -0.33759,-1.91298 -0.26256,-1.96924 -0.13128,-1.95048 3.73217,-0.26257 0.15004,1.89422 -0.0187,-0.11253 0.24381,1.87547 -0.0188,-0.0938 0.33759,1.83796 -0.0188,-0.0938 0.41261,1.80045 -0.0188,-0.0938 0.45011,1.59414 -3.
 60089,1.03151 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3011"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="505.84799"
-         x="300.4566"
-         xml:space="preserve">CANCEL</text>
-      <text
-         id="text3013"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="505.84799"
-         x="361.37177"
-         xml:space="preserve">-</text>
-      <text
-         id="text3015"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="523.85248"
-         x="322.81216"
-         xml:space="preserve">ED</text>
-      <path
-         id="path3017"
-         d="m 681.84486,143.17317 c 0,-20.59263 16.65415,-37.28429 37.17177,-37.28429 20.55512,0 37.20926,16.69166 37.20926,37.28429 0,20.59263 -16.65414,37.28429 -37.20926,37.28429 -20.51762,0 -37.17177,-16.69166 -37.17177,-37.28429"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3019"
-         d="m 680.00691,145.16116 -0.0375,-1.98799 0.0375,-2.02551 0.15003,-1.95048 0.26257,-1.988 0.33758,-1.91297 0.41261,-1.76294 3.6384,0.8252 -0.37509,1.72543 0,-0.075 -0.33758,1.83796 0.0375,-0.11253 -0.26256,1.87547 0.0375,-0.11253 -0.15004,1.91298 0,-0.11253 -0.0375,1.91298 0,-0.075 0.0375,1.91298 -3.75093,0.11252 z m 2.32558,-15.41634 0,-0.0375 0.71267,-1.76294 0.75019,-1.72543 0.86272,-1.68792 0.93773,-1.65041 1.05026,-1.57539 1.08777,-1.53788 0.30008,-0.3751 2.92573,2.32558 -0.26257,0.33759 0.0375,-0.075 -1.01275,1.46286 0.0375,-0.075 -0.97525,1.50038 0.075,-0.075 -0.90022,1.53788 0.0375,-0.075 -0.82521,1.61291 0.0375,-0.075 -0.75019,1.65041 0.0375,-0.075 -0.67516,1.68792 0.0375,-0.075 0,0 -3.52587,-1.23781 z m 8.21454,-13.35332 0.86272,-0.90023 1.35033,-1.27532 1.42536,-1.2378 1.46286,-1.16279 1.53789,-1.08777 1.57539,-1.05027 1.01275,-0.56264 1.87547,3.26332 -0.97524,0.56264 0.075,-0.075 -1.50037,0.97524 0.075,-0.0375 -1.46287,1.05026 0.075,-0.075 -1.38784,1.12528 0.037
 5,-0.075 -1.35034,1.16279 0.075,-0.0375 -1.27532,1.2378 0.0375,-0.075 -0.7877,0.86271 -2.73818,-2.58814 z m 12.75318,-9.03976 0.52513,-0.26256 1.76294,-0.67517 1.83796,-0.63766 1.83796,-0.52513 1.87546,-0.4126 1.95049,-0.33759 1.53788,-0.22505 0.48762,3.71342 -1.50037,0.22506 0.075,-0.0375 -1.83796,0.33758 0.11253,-0.0375 -1.80045,0.41261 0.075,0 -1.76294,0.48762 0.075,0 -1.72543,0.56264 0.11253,-0.0375 -1.68792,0.67517 0.075,-0.0375 -0.48762,0.22505 -1.53788,-3.41335 z m 15.2663,-3.30082 0.45012,-0.0375 2.0255,0.075 1.98799,0.15004 1.95049,0.26256 1.91298,0.33759 1.91297,0.4126 1.42536,0.4126 -1.01275,3.6009 -1.42536,-0.37509 0.11253,0 -1.80045,-0.41261 0.075,0.0375 -1.80045,-0.33758 0.075,0.0375 -1.83796,-0.26257 0.075,0.0375 -1.87547,-0.15003 0.075,0 -1.91297,-0.075 0.11252,0 -0.4126,0.0375 -0.11253,-3.75094 z m 15.37883,2.92573 0.30008,0.11253 1.72543,0.78769 1.68792,0.90023 1.65041,0.93773 1.57539,1.01276 1.53789,1.08777 1.46286,1.16279 0.18755,0.15003 -2.47562,2.85071 -0.15004
 ,-0.15003 0.075,0.075 -1.38784,-1.12528 0.075,0.075 -1.46286,-1.05026 0.075,0.0375 -1.50037,-0.93773 0.075,0.0375 -1.57539,-0.90023 0.075,0.0375 -1.57539,-0.8252 0.075,0.0375 -1.65041,-0.75019 0.075,0.0375 -0.26256,-0.11253 1.38784,-3.48837 z m 13.01575,8.8147 1.01275,1.05026 1.2003,1.42535 1.16279,1.50038 1.08777,1.53788 1.01275,1.57539 0.93773,1.65041 0.45012,0.82521 -3.37584,1.68792 -0.3751,-0.7877 0.0375,0.075 -0.90022,-1.53788 0.0375,0.075 -0.93774,-1.50038 0.0375,0.075 -1.05026,-1.46286 0.075,0.075 -1.12528,-1.42536 0.0375,0.075 -1.16279,-1.38785 0.075,0.075 -0.97525,-1.01275 2.73819,-2.58814 z m 8.4396,13.12827 0.33758,0.78769 0.60015,1.83796 0.52513,1.83796 0.45012,1.91298 0.33758,1.91297 0.22506,1.95049 0.11252,1.23781 -3.75093,0.30007 -0.075,-1.2003 0,0.11253 -0.22506,-1.87547 0,0.11253 -0.33758,-1.83796 0.0375,0.075 -0.4126,-1.80045 0.0375,0.075 -0.52513,-1.76294 0.0375,0.11253 -0.60015,-1.72543 0.0375,0.075 -0.30007,-0.75019 3.48837,-1.38784 z m 2.66316,15.41634 0,0.8627
 1 -0.15003,1.988 -0.26257,1.95048 -0.33758,1.91298 -0.45012,1.91298 -0.52513,1.87546 -0.37509,1.08778 -3.56339,-1.2003 0.3751,-1.05027 -0.0375,0.075 0.52513,-1.76294 -0.0375,0.11253 0.4126,-1.83796 -0.0375,0.11253 0.33758,-1.83796 0,0.075 0.22506,-1.87546 0,0.11252 0.15004,-1.87546 0,0.075 0,-0.7877 3.75093,0.075 z m -3.56339,15.22879 -0.26256,0.60015 -0.86272,1.68792 -0.93773,1.6129 -1.01275,1.61291 -1.08777,1.53788 -1.16279,1.46286 -1.12528,1.31283 -2.85071,-2.43811 1.12528,-1.27532 -0.075,0.075 1.12528,-1.42535 -0.075,0.075 1.05026,-1.46287 -0.0375,0.075 0.93774,-1.50037 -0.0375,0.075 0.90022,-1.5754 -0.0375,0.075 0.82521,-1.6129 -0.0375,0.11253 0.22505,-0.56264 3.41335,1.53788 z m -9.30231,12.67816 -1.31283,1.16279 -1.46286,1.16279 -1.53789,1.08777 -1.57539,1.01275 -1.65041,0.93774 -1.68792,0.86271 -0.56264,0.26257 -1.53788,-3.41335 0.52513,-0.26257 -0.075,0.075 1.57539,-0.82521 -0.075,0.0375 1.57539,-0.90022 -0.075,0.0375 1.50037,-0.97524 -0.075,0.075 1.46286,-1.05026 -0.075,0.
 0375 1.38784,-1.08777 -0.075,0.0375 1.31283,-1.08777 2.43811,2.8132 z m -13.42835,7.95198 -1.12528,0.37509 -1.83796,0.52514 -1.91297,0.45011 -1.91298,0.33758 -1.95049,0.22506 -1.98799,0.18754 -0.86272,0 -0.075,-3.75093 0.78769,0 -0.11253,0 1.91298,-0.15004 -0.11253,0 1.87547,-0.22505 -0.075,0 1.80045,-0.30008 -0.075,0 1.80045,-0.4126 -0.11253,0.0375 1.76294,-0.52513 -0.075,0.0375 1.08777,-0.3751 1.2003,3.56339 z m -15.52887,2.02551 -1.2003,-0.11253 -1.95048,-0.22506 -1.95049,-0.33758 -1.87546,-0.45011 -1.83796,-0.52514 -1.83796,-0.60015 -0.82521,-0.33758 1.38785,-3.48837 0.7877,0.30008 -0.11253,-0.0375 1.72543,0.60015 -0.075,-0.0375 1.76294,0.52513 -0.075,-0.0375 1.80045,0.4126 -0.11253,-0.0375 1.83796,0.33759 -0.075,0 1.83796,0.22505 -0.075,0 1.16279,0.075 -0.30008,3.75094 z m -15.04124,-4.20105 -0.7877,-0.4126 -1.65041,-0.93774 -1.57539,-1.01275 -1.53789,-1.08777 -1.46286,-1.16279 -1.42536,-1.23781 -1.08777,-1.05026 2.58815,-2.70067 1.05026,1.01275 -0.075,-0.075 1.35034,1.16279 -0
 .0375,-0.0375 1.38784,1.08777 -0.075,-0.0375 1.46287,1.01275 -0.075,-0.0375 1.50037,0.97524 -0.075,-0.0375 1.57539,0.90022 -0.075,-0.0375 0.71268,0.3751 -1.68792,3.33833 z m -12.19054,-9.78994 -0.11253,-0.15004 -1.16279,-1.46286 -1.12528,-1.53788 -1.01275,-1.61291 -0.90023,-1.6129 -0.90022,-1.68792 -0.75019,-1.72543 -0.15003,-0.33758 3.48837,-1.38785 0.11252,0.30008 -0.0375,-0.075 0.75019,1.65041 -0.0375,-0.11253 0.82521,1.6129 -0.0375,-0.075 0.90022,1.5754 -0.075,-0.075 0.97525,1.50037 -0.0375,-0.075 1.01275,1.46287 -0.0375,-0.075 1.12528,1.42535 -0.075,-0.075 0.11253,0.11253 -2.85071,2.43811 z m -7.42685,-13.84095 -0.37509,-1.42535 -0.45012,-1.87547 -0.33758,-1.95049 -0.26257,-1.95048 -0.15003,-1.95049 3.75093,-0.26256 0.15004,1.87546 -0.0375,-0.075 0.26256,1.83795 -0.0375,-0.075 0.33758,1.83796 -0.0375,-0.11253 0.45011,1.80045 -0.0375,-0.075 0.3751,1.35034 -3.6009,1.05026 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3021"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="148.84201"
-         x="693.09564"
-         xml:space="preserve">FAILED</text>
-      <path
-         id="path3023"
-         d="m 214.00957,303.30056 3.76968,-6.8267 3.86347,-6.75168 1.96924,-3.31958 2.04426,-3.26331 2.10052,-3.22581 2.17554,-3.11327 2.25056,-3.03826 2.34434,-2.94448 2.4381,-2.83196 2.56939,-2.70067 2.68192,-2.58815 2.83196,-2.41935 2.96324,-2.28807 3.11327,-2.10052 3.26331,-1.91298 3.41335,-1.76294 3.56339,-1.59414 3.67592,-1.42536 3.8072,-1.31283 3.88221,-1.16279 3.99475,-1.06901 4.08852,-0.93774 4.16353,-0.88147 4.21981,-0.76894 4.27606,-0.71268 4.33233,-0.67516 8.73968,-1.2003 6.97674,-0.86272 0.22505,1.85672 -6.95798,0.88146 0,-0.0188 -8.72092,1.2003 0,0 -4.31358,0.65641 0.0188,0 -4.25731,0.71268 0.0188,0 -4.20105,0.7877 0.0188,-0.0188 -4.14478,0.86272 0.0188,0 -4.05101,0.95649 0.0188,-0.0188 -3.95724,1.05026 0.0187,0 -3.86346,1.16279 0.0375,-0.0187 -3.75093,1.29407 0.0375,0 -3.63841,1.4066 0.0375,-0.0187 -3.52588,1.57539 0.0563,-0.0188 -3.37585,1.72543 0.0563,-0.0188 -3.22581,1.89422 0.0375,-0.0375 -3.05701,2.06301 0.0375,-0.0188 -2.90697,2.23181 0.0375,-0.0375 -2.77569,2.4
 0059 0.0375,-0.0375 -2.66316,2.55063 0.0375,-0.0375 -2.53188,2.68192 0.0188,-0.0375 -2.41935,2.8132 0.0375,-0.0375 -2.32558,2.92573 0.0188,-0.0375 -2.23181,3.0195 0.0188,-0.0375 -2.15679,3.11328 0,-0.0188 -2.08177,3.18829 0,-0.0188 -2.02551,3.24456 0.0188,0 -1.96924,3.30083 0,-0.0188 -3.84471,6.73293 0.0188,0 -3.76969,6.8267 z m 92.01042,-67.0292 9.47111,4.03226 -8.1958,6.2453 c -0.4126,0.31883 -0.99399,0.24381 -1.31282,-0.16879 -0.30008,-0.4126 -0.22506,-0.994 0.18754,-1.31283 l 6.90172,-5.27006 0.20631,1.6129 -7.98949,-3.41335 c -0.48763,-0.2063 -0.69393,-0.76894 -0.50638,-1.23781 0.2063,-0.48762 0.76894,-0.69392 1.23781,-0.48762 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3025"
-         d="m 217.92929,373.68684 8.32708,6.92048 8.27081,6.88296 4.06976,3.43211 4.0135,3.41335 3.95724,3.41335 3.90097,3.35709 3.8072,3.35708 3.71342,3.31958 3.61965,3.30082 3.50713,3.24456 3.39459,3.2258 3.26332,3.16954 3.11327,3.13203 2.96324,3.09452 2.8132,3.03826 2.66316,3.00075 2.51313,2.94448 2.38184,2.90698 2.26932,2.86946 2.15679,2.83196 2.04426,2.8132 1.95048,2.75693 1.87547,2.75694 1.80045,2.71943 1.74418,2.70067 1.68792,2.68192 3.26331,5.34508 2.21306,3.69467 -1.59415,0.95649 -2.23181,-3.69467 0,0.0188 -3.24456,-5.32632 0,0 -1.68792,-2.66317 0,0 -1.72543,-2.68191 0,0 -1.78169,-2.70068 0,0 -1.85671,-2.73818 0,0.0188 -1.95049,-2.75694 0.0188,0 -2.04426,-2.79445 0.0188,0.0188 -2.13803,-2.8132 0,0.0188 -2.25056,-2.86946 0,0.0187 -2.36309,-2.88822 0,0.0188 -2.49437,-2.94449 0.0188,0.0188 -2.64441,-2.982 0,0.0188 -2.79444,-3.03826 0.0188,0.0188 -2.96324,-3.07577 0.0188,0.0187 -3.11328,-3.13203 0.0188,0.0188 -3.24456,-3.16954 0,0 -3.37584,-3.20705 0,0 -3.50712,-3.24456 0.0187,
 0 -3.61965,-3.28207 0,0 -3.71343,-3.30082 0,0 -3.78844,-3.35708 0,0.0187 -3.88222,-3.37584 0,0 -3.95723,-3.3946 0,0.0188 -4.0135,-3.41335 0,0 -4.06977,-3.43211 0,0 -8.2333,-6.88296 -8.32707,-6.92048 z m 91.3165,88.10946 0.15004,10.29631 -9.03975,-4.95123 c -0.45012,-0.24381 -0.61891,-0.82521 -0.35634,-1.27532 0.24381,-0.45011 0.80645,-0.61891 1.25656,-0.37509 l 7.63315,4.18229 -1.4066,0.8252 -0.11253,-8.68341 c 0,-0.50638 0.41261,-0.93773 0.93774,-0.93773 0.50637,-0.0188 0.93773,0.39384 0.93773,0.91898 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3027"
-         d="m 451.44372,238.20309 c 0,-20.59263 16.69165,-37.28429 37.28428,-37.28429 20.59263,0 37.26554,16.69166 37.26554,37.28429 0,20.57388 -16.67291,37.26554 -37.26554,37.26554 -20.59263,0 -37.28428,-16.69166 -37.28428,-37.26554"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3029"
-         d="m 451.44372,238.20309 c 0,-20.59263 16.69165,-37.28429 37.28428,-37.28429 20.59263,0 37.26554,16.69166 37.26554,37.28429 0,20.57388 -16.67291,37.26554 -37.26554,37.26554 -20.59263,0 -37.28428,-16.69166 -37.28428,-37.26554"
-         style="fill:none;stroke:#41719c;stroke-width:1.25656307px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3031"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="234.7578"
-         x="456.54681"
-         xml:space="preserve">DEPLOY</text>
-      <text
-         id="text3033"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="234.7578"
-         x="516.11163"
-         xml:space="preserve">-</text>
-      <text
-         id="text3035"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="252.76228"
-         x="475.45154"
-         xml:space="preserve">ING</text>
-      <path
-         id="path3037"
-         d="m 734.65802,356.82639 c 0,-20.59263 16.65415,-37.28428 37.20927,-37.28428 20.51761,0 37.17176,16.69165 37.17176,37.28428 0,20.59263 -16.65415,37.28429 -37.17176,37.28429 -20.55512,0 -37.20927,-16.69166 -37.20927,-37.28429"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3039"
-         d="m 732.82006,358.77688 -0.0375,-1.95049 0.0375,-1.98799 0.15004,-2.02551 0.26257,-1.95048 0.33758,-1.91298 0.4126,-1.76294 3.63841,0.82521 -0.37509,1.72543 0,-0.075 -0.30008,1.83796 0,-0.11253 -0.22505,1.87547 0,-0.11253 -0.15004,1.91298 0,-0.11253 -0.0375,1.91297 0,-0.075 0.0375,1.91297 -3.75094,0.075 z m 2.36309,-15.45385 0.67517,-1.72543 0.7877,-1.72543 0.86271,-1.68792 0.93774,-1.65041 1.01275,-1.57539 1.08777,-1.5754 0.30007,-0.37509 2.92573,2.32558 -0.26256,0.33758 0.075,-0.075 -1.05027,1.46286 0.0375,-0.075 -0.93773,1.53788 0.0375,-0.075 -0.90023,1.53788 0.0375,-0.075 -0.8252,1.6129 0.0375,-0.075 -0.71268,1.65041 0.0375,-0.11252 -0.67517,1.72543 -3.48837,-1.38785 z m 8.21455,-13.27831 0.8252,-0.90022 1.35034,-1.31283 1.42536,-1.2003 1.46286,-1.16279 1.53788,-1.08777 1.5754,-1.05026 1.05026,-0.56264 1.83796,3.26331 -0.97525,0.56264 0.11253,-0.075 -1.53788,0.97525 0.075,-0.0375 -1.46287,1.05026 0.075,-0.075 -1.38785,1.08777 0.075,-0.0375 -1.35033,1.16279 0.075,-0.037
 5 -1.31283,1.23781 0.075,-0.075 -0.82521,0.86272 -2.70067,-2.58815 z m 12.71567,-9.03975 0.52513,-0.26257 1.80045,-0.67516 1.80044,-0.63766 1.83796,-0.52513 1.91298,-0.41261 1.91298,-0.33758 1.57539,-0.22506 0.48762,3.71343 -1.53788,0.22506 0.075,-0.0375 -1.83796,0.33758 0.11253,-0.0375 -1.80045,0.4126 0.11252,0 -1.76293,0.48762 0.075,0 -1.72543,0.56265 0.075,-0.0375 -1.68792,0.67516 0.075,-0.0375 -0.45011,0.22506 -1.57539,-3.41335 z m 15.30381,-3.30082 0.45011,-0.0375 1.988,0.075 1.98799,0.15003 1.95049,0.26257 1.95048,0.33758 1.87547,0.41261 1.46287,0.4126 -1.05027,3.63841 -1.38784,-0.41261 0.075,0 -1.80045,-0.4126 0.11253,0.0375 -1.83796,-0.33758 0.075,0.0375 -1.83796,-0.26257 0.075,0.0375 -1.87547,-0.15004 0.075,0 -1.91298,-0.075 0.11253,0 -0.4126,0.0375 -0.075,-3.75093 z m 15.37883,2.92573 0.26257,0.11252 1.76294,0.7877 1.65041,0.90023 1.65041,0.90022 1.57539,1.05026 1.53788,1.08777 1.46287,1.16279 0.22505,0.15004 -2.47561,2.85071 -0.15004,-0.15004 0.0375,0.0375 -1.38785,-1.087
 77 0.075,0.075 -1.46286,-1.05026 0.075,0.0375 -1.50038,-0.97525 0.075,0.075 -1.53788,-0.90022 0.075,0.0375 -1.61291,-0.82521 0.075,0.0375 -1.65041,-0.75019 0.075,0.0375 -0.22506,-0.11252 1.38785,-3.48837 z m 12.97823,8.81469 1.01276,1.05026 1.2378,1.42536 1.16279,1.50037 1.05027,1.53789 1.05026,1.57539 0.93773,1.65041 0.4126,0.82521 -3.33833,1.68792 -0.4126,-0.7877 0.0375,0.075 -0.86272,-1.53788 0.0375,0.075 -0.97524,-1.53788 0.0375,0.075 -1.01275,-1.46286 0.0375,0.075 -1.08777,-1.38784 0.0375,0.075 -1.16278,-1.35034 0.0375,0.0375 -0.93773,-1.01275 2.70067,-2.58815 z m 8.47712,13.12827 0.30007,0.7877 0.60015,1.83796 0.56264,1.83796 0.4126,1.91297 0.33759,1.91298 0.26256,1.95048 0.11253,1.23781 -3.75093,0.30008 -0.11253,-1.2003 0.0375,0.11253 -0.26257,-1.87547 0.0375,0.11253 -0.33758,-1.83796 0,0.075 -0.41261,-1.80045 0.0375,0.11253 -0.48762,-1.76294 0,0.075 -0.56264,-1.76294 0.0375,0.11253 -0.30007,-0.75019 3.48837,-1.38785 z m 2.66316,15.41634 -0.0375,0.86272 -0.15004,1.98799 -0.26
 256,1.95049 -0.33759,1.91298 -0.4126,1.91297 -0.52513,1.87547 -0.37509,1.08777 -3.56339,-1.2003 0.37509,-1.05026 -0.0375,0.075 0.48762,-1.76294 -0.0375,0.075 0.41261,-1.80045 0,0.11253 0.33758,-1.83796 -0.0375,0.075 0.26257,-1.87547 0,0.11253 0.11253,-1.87547 0,0.075 0.0375,-0.78769 3.75094,0.075 z m -3.56339,15.2288 -0.26256,0.60015 -0.86272,1.68792 -0.93773,1.6129 -1.05026,1.6129 -1.05027,1.53788 -1.16279,1.46287 -1.16279,1.31283 -2.8132,-2.43811 1.08777,-1.27532 -0.0375,0.0375 1.08777,-1.38785 -0.0375,0.075 1.01275,-1.46286 -0.0375,0.075 0.97524,-1.53789 -0.0375,0.11253 0.86272,-1.57539 -0.0375,0.075 0.8252,-1.6129 -0.0375,0.075 0.22505,-0.52514 3.45086,1.53789 z m -9.30232,12.67816 -1.35033,1.16279 -1.46287,1.12528 -1.53788,1.12528 -1.57539,1.01275 -1.65041,0.93773 -1.68792,0.86272 -0.56264,0.26256 -1.53789,-3.41335 0.52513,-0.26256 -0.075,0.075 1.61291,-0.82521 -0.11253,0.0375 1.57539,-0.90022 -0.075,0.0375 1.50038,-0.97524 -0.075,0.075 1.46286,-1.05026 -0.075,0.0375 1.42536,-1
 .08777 -0.075,0.0375 1.27532,-1.12528 2.47561,2.85071 z m -13.46585,7.95198 -1.08777,0.37509 -1.87547,0.52513 -1.91298,0.45011 -1.91297,0.33759 -1.95049,0.22505 -1.98799,0.18755 -0.86272,0 -0.075,-3.75093 0.7877,0 -0.075,0 1.87547,-0.15004 -0.075,0 1.83796,-0.22506 -0.075,0 1.83796,-0.33758 -0.11253,0.0375 1.80045,-0.4126 -0.075,0.0375 1.76294,-0.52513 -0.075,0.0375 1.05026,-0.37509 1.2003,3.56339 z m -15.52887,2.0255 -1.2003,-0.11253 -1.95048,-0.22505 -1.91298,-0.33759 -1.91298,-0.45011 -1.83796,-0.52513 -1.80044,-0.60015 -0.86272,-0.33758 1.38785,-3.48837 0.78769,0.30007 -0.075,-0.0375 1.72543,0.60015 -0.11252,-0.0375 1.80044,0.52513 -0.11252,-0.0375 1.80045,0.4126 -0.11253,-0.0375 1.83796,0.33758 -0.075,0 1.83795,0.22506 -0.075,0 1.16279,0.075 -0.30008,3.75093 z m -15.04125,-4.20104 -0.78769,-0.41261 -1.65041,-0.93773 -1.5754,-1.01275 -1.53788,-1.12528 -1.46286,-1.16279 -1.42536,-1.2003 -1.08777,-1.05026 2.58814,-2.70068 1.05027,0.97525 -0.0375,-0.0375 1.35033,1.16279 -0.075,-0.0
 375 1.38785,1.08777 -0.075,-0.0375 1.46287,1.01275 -0.075,-0.0375 1.50037,0.97524 -0.075,-0.0375 1.5754,0.90022 -0.075,-0.0375 0.75018,0.37509 -1.72543,3.33834 z m -12.19053,-9.78994 -0.11253,-0.15004 -1.16279,-1.46287 -1.08777,-1.53788 -1.01275,-1.6129 -0.93774,-1.6129 -0.86271,-1.68792 -0.7877,-1.76294 -0.15004,-0.30008 3.48837,-1.38784 0.15004,0.30007 -0.0375,-0.11253 0.71268,1.65042 -0.0375,-0.075 0.8252,1.6129 -0.0375,-0.075 0.90023,1.57539 -0.0375,-0.075 0.93773,1.50038 -0.0375,-0.075 1.05027,1.46286 -0.075,-0.075 1.12528,1.38785 -0.075,-0.0375 0.11253,0.11253 -2.85071,2.43811 z m -7.42685,-13.84095 -0.3751,-1.42536 -0.45011,-1.87546 -0.33758,-1.95049 -0.26257,-1.95049 -0.15004,-1.95048 3.75094,-0.26257 0.15004,1.87547 0,-0.11253 0.22505,1.87547 -0.0375,-0.075 0.33759,1.83796 0,-0.11253 0.4126,1.80045 -0.0375,-0.075 0.4126,1.38785 -3.6384,1.01275 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3041"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="362.3895"
-         x="736.9231"
-         xml:space="preserve">FINISHED</text>
-      <path
-         id="path3043"
-         d="m 586.49611,238.22185 c 0,-20.59263 16.69166,-37.28429 37.28429,-37.28429 20.59263,0 37.24678,16.69166 37.24678,37.28429 0,20.55512 -16.65415,37.24678 -37.24678,37.24678 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.24678"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3045"
-         d="m 586.49611,238.22185 c 0,-20.59263 16.69166,-37.28429 37.28429,-37.28429 20.59263,0 37.24678,16.69166 37.24678,37.28429 0,20.55512 -16.65415,37.24678 -37.24678,37.24678 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.24678"
-         style="fill:none;stroke:#41719c;stroke-width:1.23780835px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3047"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="243.76004"
-         x="588.8797"
-         xml:space="preserve">RUNNING</text>
-      <path
-         id="path3049"
-         d="m 400.97489,237.17159 38.40957,0 0,1.87546 -38.40957,0 z m 31.37657,-4.23856 8.88971,5.17629 -8.88971,5.19504 c -0.45011,0.26257 -1.03151,0.11253 -1.29407,-0.33758 -0.26257,-0.45011 -0.11253,-1.01275 0.33758,-1.27532 l 7.50187,-4.38859 0,1.63165 -7.50187,-4.38859 c -0.43136,-0.26256 -0.60015,-0.8252 -0.33758,-1.27532 0.26256,-0.45011 0.84396,-0.60015 1.29407,-0.33758 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3051"
-         d="m 535.53967,237.17159 38.40957,0 0,1.87546 -38.40957,0 z m 31.37656,-4.23856 8.88972,5.17629 -8.88972,5.19504 c -0.45011,0.26257 -1.0315,0.11253 -1.29407,-0.33758 -0.26256,-0.45011 -0.0938,-1.01275 0.33758,-1.27532 l 7.50187,-4.38859 0,1.63165 -7.50187,-4.38859 c -0.43135,-0.26256 -0.60014,-0.8252 -0.33758,-1.27532 0.26257,-0.45011 0.84396,-0.60015 1.29407,-0.33758 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3053"
-         d="m 672.58006,252.85049 6.60164,5.2138 6.52663,5.17629 6.4141,5.10127 3.15078,2.55064 3.07577,2.51312 3.03825,2.47562 2.96324,2.47562 2.88822,2.4381 2.8132,2.4006 2.70067,2.36309 2.58815,2.28807 2.51313,2.28807 2.40059,2.21305 2.25056,2.17554 2.17555,2.13804 2.0255,2.10052 1.95049,2.0255 1.87546,2.02551 1.76294,1.95048 1.68792,1.95049 1.61291,1.91298 1.57539,1.87546 1.50037,1.87547 2.85071,3.63841 2.77569,3.6384 1.5754,2.06302 -1.50038,1.12528 -1.57539,-2.06302 0,0 -2.73818,-3.60089 0,0 -2.85071,-3.63841 0,0 -1.50038,-1.83796 0,0 -1.53788,-1.87546 0,0 -1.6129,-1.87547 0,0 -1.68792,-1.95049 0.0375,0.0375 -1.76294,-1.98799 0,0.0375 -1.83796,-2.02551 0,0.0375 -1.95049,-2.06301 0.0375,0.0375 -2.06301,-2.10053 0.0375,0.0375 -2.17554,-2.13803 0.0375,0 -2.28807,-2.13803 0.0375,0 -2.4006,-2.21305 0,0 -2.47562,-2.28807 0,0.0375 -2.58814,-2.32557 0,0 -2.70068,-2.32558 0,0 -2.8132,-2.4006 0.0375,0 -2.88822,-2.43811 0,0 -2.96324,-2.43811 0,0 -3.00074,-2.47561 0,0 -3.11328,-2.51313 -3.
 15078,-2.55063 0.0375,0 -6.4141,-5.10128 0,0 -6.52663,-5.17629 -6.60164,-5.17628 z m 72.46805,60.69012 1.2003,10.24005 -9.48986,-3.97599 c -0.48763,-0.22505 -0.71268,-0.78769 -0.52514,-1.23781 0.22506,-0.48762 0.75019,-0.71267 1.23781,-0.52513 l 7.98949,3.37584 -1.27531,0.97525 -1.01276,-8.62715 c -0.0375,-0.48762 0.30008,-0.97525 0.82521,-1.01276 0.52513,-0.075 0.97524,0.30008 1.05026,0.7877 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3055"
-         d="m 350.97494,285.22106 -1.35034,12.71566 -1.33158,12.67816 -1.29407,12.56563 -1.27532,12.43435 -0.61891,6.15153 -0.58139,6.09527 -0.60015,6.03901 -0.56264,5.98274 -0.54389,5.88896 -0.52513,5.85146 -0.48762,5.73893 -0.48762,5.66391 -0.45011,5.57014 -0.43136,5.47636 -0.39385,5.40135 -0.39385,5.32633 -0.35633,5.2513 -0.33759,5.17629 -0.33758,5.13878 -0.31883,5.06377 -0.5814,10.03375 -0.56264,9.86495 -0.52513,9.78994 -0.4126,7.87696 1.87547,0.0938 0.4126,-7.87696 0.52513,-9.77119 0.54389,-9.88371 0.60015,-10.015 0,0.0188 0.31882,-5.08252 0.31883,-5.12002 0.35634,-5.19505 0.35634,-5.23255 0,0 0.3751,-5.32633 0.4126,-5.38259 0,0 0.43136,-5.47636 0.45011,-5.57014 0,0 0.46886,-5.64516 0.50638,-5.75768 0,0 0.52513,-5.81395 0.54389,-5.90772 0.56264,-5.96399 0,0 0.58139,-6.039 0.60015,-6.09527 0,0 0.61891,-6.15153 1.25656,-12.43435 1.31283,-12.56563 1.33158,-12.65941 1.33158,-12.71566 z m -18.64215,170.53623 4.70743,9.15228 5.66391,-8.60839 c 0.28132,-0.43136 0.15003,-1.01276 -0.281
 32,-1.29408 -0.43136,-0.28132 -1.01276,-0.16879 -1.29408,0.26257 l -4.76368,7.25806 1.6129,0.0938 -3.97599,-7.72692 c -0.22506,-0.46887 -0.7877,-0.63766 -1.25656,-0.41261 -0.46887,0.24381 -0.63766,0.80645 -0.41261,1.27532 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3057"
-         d="m 452.38145,422.93661 c 0,-20.59263 16.69166,-37.28428 37.28429,-37.28428 20.59263,0 37.26553,16.69165 37.26553,37.28428 0,20.57388 -16.6729,37.26554 -37.26553,37.26554 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.26554"
-         style="fill:#5b9bd5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3059"
-         d="m 452.38145,422.93661 c 0,-20.59263 16.69166,-37.28428 37.28429,-37.28428 20.59263,0 37.26553,16.69165 37.26553,37.28428 0,20.57388 -16.6729,37.26554 -37.26553,37.26554 -20.59263,0 -37.28429,-16.69166 -37.28429,-37.26554"
-         style="fill:none;stroke:#41719c;stroke-width:1.25656307px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3061"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="419.47919"
-         x="456.86319"
-         xml:space="preserve">CANCEL</text>
-      <text
-         id="text3063"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="419.47919"
-         x="517.77838"
-         xml:space="preserve">-</text>
-      <text
-         id="text3065"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="437.48367"
-         x="476.36804"
-         xml:space="preserve">ING</text>
-      <path
-         id="path3067"
-         d="m 440.69729,443.60426 -69.86116,41.52285 0.95649,1.6129 69.86116,-41.52285 z m -65.99769,34.26479 -4.98875,9.00224 10.29632,-0.075 c 0.50638,0 0.93773,-0.43135 0.91898,-0.95649 0,-0.50637 -0.4126,-0.91897 -0.93774,-0.91897 l -8.68341,0.075 0.82521,1.38785 4.2198,-7.59564 c 0.24381,-0.45011 0.075,-1.03151 -0.3751,-1.27532 -0.45011,-0.24381 -1.01275,-0.0938 -1.27531,0.35634 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3069"
-         d="m 491.63498,285.23981 -1.01275,12.60314 -0.50638,6.22655 -0.46887,6.18904 -0.46886,6.05776 -0.43136,5.96399 -0.39385,5.8327 -0.37509,5.66391 -0.33759,5.47637 -0.30007,5.32632 -0.26257,5.17629 -0.24381,5.06376 -0.22505,4.96999 -0.2063,4.89497 -0.31883,7.83946 1.85671,0.075 0.31883,-7.82069 0.2063,-4.91373 0,0 0.22506,-4.95123 0.24381,-5.06376 0,0 0.28132,-5.17629 0,0 0.30007,-5.30758 0,0 0.31883,-5.47636 0,0 0.37509,-5.64516 0.41261,-5.81394 0.43135,-5.96399 0,0 0.45012,-6.07651 0.48762,-6.17029 0.48762,-6.22655 1.01275,-12.60314 z m -9.52737,80.08245 4.81995,9.09602 5.55138,-8.68342 c 0.28132,-0.43135 0.15004,-1.01275 -0.28132,-1.29407 -0.43136,-0.28132 -1.01275,-0.15004 -1.29407,0.28132 l -4.68867,7.33308 1.63165,0.0563 -4.06976,-7.67066 c -0.24381,-0.45011 -0.80645,-0.63766 -1.27532,-0.39385 -0.45011,0.24381 -0.6189,0.80645 -0.39384,1.27532 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3071"
-         d="m 610.01447,278.05677 -4.05101,8.73968 -4.05101,8.70217 -4.12603,8.55213 -2.10052,4.23855 -2.13803,4.16354 -2.13803,4.12603 -2.21306,4.05101 -2.21305,4.0135 -2.28807,3.90097 -2.32558,3.78844 -2.36309,3.75094 -2.40059,3.60089 -2.51313,3.52588 -2.51313,3.41335 -2.62565,3.30083 -2.62565,3.18829 -2.70068,3.07577 -2.73818,3.00074 -2.77569,2.92573 -2.8132,2.85071 -2.85071,2.77569 -2.88822,2.70068 -2.92573,2.66316 -5.85146,5.2138 -5.92647,5.06376 -4.53863,3.82595 -1.2003,-1.42535 4.50112,-3.82595 0,0 5.92647,-5.06377 0,0 5.85146,-5.17629 0,0 2.88822,-2.62565 0,0 2.85071,-2.70067 0,0 2.85071,-2.77569 -0.0375,0 2.8132,-2.81321 0,0 2.73819,-2.88821 0,0 2.73818,-3.00075 -0.0375,0.0375 2.70067,-3.07577 -0.0375,0 2.66316,-3.15078 -0.0375,0 2.58814,-3.26332 0,0.0375 2.51313,-3.37584 0,0 2.47561,-3.48837 -0.0375,0 2.4006,-3.60089 0,0.0375 2.36309,-3.71342 0,0 2.28807,-3.78844 0,0 2.25056,-3.86347 0,0 2.21305,-3.97599 0,0 2.17554,-4.0135 0,0 2.17555,-4.12603 -0.0375,0.0375 2.13803,-4.16
 353 0,0 2.10052,-4.23856 0,0.0375 4.12603,-8.58964 0,0.0375 4.05101,-8.70217 0,0 4.05101,-8.73968 z m -70.59259,107.87688 -10.12752,1.76293 3.45086,-9.67741 c 0.15004,-0.48762 0.71268,-0.75018 1.2003,-0.60015 0.48762,0.18755 0.75019,0.71268 0.56264,1.2003 l -2.92573,8.17704 -1.05026,-1.23781 8.58964,-1.46286 c 0.48762,-0.11253 0.97524,0.22505 1.08777,0.75018 0.075,0.52514 -0.26257,0.97525 -0.7877,1.08778 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3073"
-         d="m 637.47131,198.34941 2.70067,-3.56338 2.66317,-3.52588 2.70067,-3.41335 2.70067,-3.33833 2.70067,-3.1883 1.35034,-1.50037 1.38785,-1.46287 1.35033,-1.42535 1.38785,-1.35034 1.38784,-1.27532 1.38785,-1.2378 1.35034,-1.12528 1.42535,-1.05027 1.38785,-0.97524 1.38784,-0.93773 1.38785,-0.86272 1.42535,-0.8252 2.7757,-1.46287 2.8132,-1.31282 2.77569,-1.2003 2.8132,-1.12528 1.05026,-0.3751 0.63766,1.72543 -1.01275,0.4126 0,0 -2.77569,1.08778 0.0375,0 -2.7757,1.20029 0.0375,-0.0375 -2.77569,1.31282 0.0375,-0.0375 -2.73818,1.46287 0,0 -1.35034,0.78769 0,-0.0375 -1.35033,0.86272 0,0 -1.35034,0.90022 0,0 -1.35034,0.93774 0.0375,0 -1.38784,1.05026 0.0375,-0.0375 -1.35034,1.12528 0,-0.0375 -1.35034,1.2003 0,0 -1.35033,1.23781 0.0375,0 -1.38785,1.31283 0.0375,0 -1.35034,1.38784 0,0 -1.35033,1.42536 0.0375,0 -1.35034,1.50037 0,0 -2.70067,3.15078 0.0375,-0.0375 -2.70068,3.33833 0,0 -2.66316,3.41335 0,0 -2.70067,3.48837 0,0 -2.66317,3.56338 z m 34.20852,-37.99696 10.16503,1.65041 -6.45
 16,8.027 c -0.33759,0.4126 -0.93774,0.48762 -1.31283,0.15004 -0.4126,-0.33759 -0.48762,-0.90023 -0.15004,-1.31283 l 5.43886,-6.78919 0.56264,1.53788 -8.55213,-1.42535 c -0.52513,-0.075 -0.86272,-0.56264 -0.7877,-1.08778 0.11253,-0.48762 0.56264,-0.8252 1.08777,-0.75018 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3075"
-         d="m 499.737,198.08685 12.60314,-7.53938 6.30157,-3.75093 6.26406,-3.71343 6.26406,-3.63841 6.18904,-3.56338 6.18904,-3.48837 6.15153,-3.37584 6.07652,-3.30083 6.039,-3.11327 6.0015,-3.00075 5.88896,-2.8132 5.85146,-2.66316 5.77644,-2.47562 5.66391,-2.25056 2.8132,-1.08777 2.77569,-0.97524 2.7757,-0.93774 2.73818,-0.86271 5.40134,-1.61291 5.28882,-1.38784 5.25131,-1.2003 5.13878,-1.01275 5.10127,-0.86272 5.02625,-0.71267 4.95124,-0.56264 4.91372,-0.45012 4.87622,-0.37509 4.8387,-0.26257 4.8012,-0.22505 4.76368,-0.11253 4.76369,-0.11253 7.57689,-0.075 0.0375,1.87547 -7.57689,0.075 0,0 -4.76369,0.11253 0,0 -4.76368,0.11253 0.0375,0 -4.8012,0.22505 0.0375,0 -4.83871,0.26257 0.0375,0 -4.87621,0.33758 0.0375,0 -4.91373,0.48762 0.0375,0 -4.95123,0.56264 0,0 -4.98874,0.71268 0.0375,0 -5.06377,0.82521 0.0375,0 -5.13878,1.01275 0.0375,0 -5.2138,1.2003 0.0375,0 -5.28881,1.38784 0,-0.0375 -5.36384,1.61291 0.0375,0 -2.73818,0.86271 0,0 -2.73819,0.90022 0.0375,0 -2.77569,1.01276 0,-0.03
 75 -2.77569,1.05026 0,0 -5.66391,2.25056 0.0375,0 -5.73893,2.43811 0,0 -5.81395,2.66316 0.0375,0 -5.88897,2.8132 0,0 -5.96398,2.96324 0,0 -6.03901,3.15078 0.0375,-0.0375 -6.07651,3.26331 0,0 -6.11402,3.37584 0,0 -6.18905,3.48837 0,0 -6.18904,3.56339 0,0 -6.26406,3.6384 0,0 -6.26406,3.71343 0.0375,0 -6.30157,3.75093 -12.60314,7.53938 z m 168.00435,-65.67886 8.92723,5.06376 -8.8147,5.28882 c -0.45011,0.26256 -1.01275,0.15003 -1.27532,-0.30008 -0.26256,-0.45011 -0.15004,-1.01275 0.30008,-1.31283 l 0,0 7.46436,-4.46361 0,1.65041 -7.53938,-4.31357 c -0.45011,-0.26257 -0.60015,-0.82521 -0.33759,-1.27532 0.22506,-0.45011 0.82521,-0.60015 1.27532,-0.33758 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3077"
-         d="m 360.65235,197.14911 23.18077,-13.54087 23.06825,-13.31582 11.44035,-6.48911 11.40284,-6.30157 11.32782,-6.11403 11.25281,-5.88896 11.14027,-5.6264 11.02775,-5.36384 10.91522,-4.98874 10.76518,-4.65116 10.61514,-4.27607 10.4276,-3.86346 10.27756,-3.37584 10.09002,-2.88822 4.98874,-1.27532 4.91372,-1.12528 4.87622,-1.01275 4.8387,-0.90023 4.76369,-0.78769 4.72618,-0.63766 4.72617,-0.56264 4.65116,-0.45011 4.61365,-0.3751 4.57614,-0.26256 4.53863,-0.18755 4.53863,-0.075 4.46362,-0.0375 4.46361,0.075 4.4261,0.15004 4.38859,0.22506 4.35109,0.26256 4.35108,0.33759 4.31358,0.4126 4.31357,0.4126 8.51462,1.05026 8.4396,1.2003 8.43961,1.35034 8.36458,1.42535 8.32708,1.46287 6.48911,1.2003 -0.33758,1.83795 -6.48912,-1.16278 0,0 -8.32707,-1.50038 0,0 -8.32708,-1.42535 0,0 -8.40209,-1.31283 0,0 -8.4396,-1.2003 0,0 -8.47712,-1.05026 0,0 -4.27606,-0.45011 0,0 -4.31357,-0.3751 0.0375,0 -4.35108,-0.33758 0.0375,0 -4.35108,-0.26257 0,0 -4.3886,-0.22505 0.0375,0 -4.4261,-0.15004 0.0375,0
  -4.4261,-0.075 0,0 -4.46362,0.0375 0,0 -4.46361,0.075 0,0 -4.53863,0.18755 0.0375,0 -4.57614,0.26256 0.0375,0 -4.61365,0.33759 0.0375,0 -4.65116,0.45011 0,0 -4.65116,0.56264 0,0 -4.72618,0.67517 0.0375,0 -4.76368,0.75018 0.0375,0 -4.83871,0.90023 0.0375,0 -4.8387,1.01275 0,0 -4.91373,1.12528 0.0375,-0.0375 -4.95123,1.27532 0.0375,0 -10.05251,2.88822 0.0375,-0.0375 -10.27756,3.41335 0.0375,-0.0375 -10.4276,3.86346 0.0375,-0.0375 -10.57763,4.27607 0,0 -10.72768,4.61365 0,0 -10.87771,5.02625 0.0375,-0.0375 -11.02774,5.36384 0,0 -11.10277,5.6264 0,-0.0375 -11.21529,5.88897 0,0 -11.32783,6.11402 0,0 -11.36533,6.30157 0,0 -11.47786,6.45161 0,0 -23.03073,13.31581 0,0 -23.18078,13.54088 z m 311.17752,-90.24748 7.83945,6.71417 -9.71492,3.48837 c -0.48762,0.18755 -1.01275,-0.075 -1.2003,-0.56264 -0.15003,-0.48762 0.11253,-1.01275 0.60015,-1.2003 l 8.13953,-2.96323 -0.30007,1.6129 -6.56414,-5.66391 c -0.4126,-0.33759 -0.45011,-0.93774 -0.11253,-1.31283 0.33759,-0.4126 0.93774,-0.45011 1.31283
 ,-0.11253 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-</svg>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/general_arch.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/general_arch.html b/content/docs/0.9/internals/general_arch.html
deleted file mode 100644
index b63b0b2..0000000
--- a/content/docs/0.9/internals/general_arch.html
+++ /dev/null
@@ -1,285 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: General Architecture and Process Model</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>General Architecture and Process Model</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#the-processes" id="markdown-toc-the-processes">The Processes</a></li>
-  <li><a href="#component-stack" id="markdown-toc-component-stack">Component Stack</a></li>
-  <li><a href="#projects-and-dependencies" id="markdown-toc-projects-and-dependencies">Projects and Dependencies</a></li>
-</ul>
-
-<h2 id="the-processes">The Processes</h2>
-
-<p>When the Flink system is started, it bring up the <em>JobManager</em> and one or more <em>TaskManagers</em>. The JobManager
-is the coordinator of the Flink system, while the TaskManagers are the workers that execute parts of the
-parallel programs. When starting the system in <em>local</em> mode, a single JobManager and TaskManager are brought
-up within the same JVM.</p>
-
-<p>When a program is submitted, a client is created that performs the pre-processing and turns the program
-into the parallel data flow form that is executed by the JobManager and TaskManagers. The figure below
-illustrates the different actors in the system very coarsely.</p>
-
-<div style="text-align: center;">
-<img src="fig/ClientJmTm.svg" alt="The Interactions between Client, JobManager and TaskManager" height="400px" style="text-align: center;" />
-</div>
-
-<h2 id="component-stack">Component Stack</h2>
-
-<p>An alternative view on the system is given by the stack below. The different layers of the stack build on
-top of each other and raise the abstraction level of the program representations they accept:</p>
-
-<ul>
-  <li>
-    <p>The <strong>runtime</strong> layer receives a program in the form of a <em>JobGraph</em>. A JobGraph is a generic parallel
-data flow with arbitrary tasks that consume and produce data streams.</p>
-  </li>
-  <li>
-    <p>The <strong>optimizer</strong> and <strong>common api</strong> layer takes programs in the form of operator DAGs. The operators are
-specific (e.g., Map, Join, Filter, Reduce, …), but are data type agnostic. The concrete types and their
-interaction with the runtime is specified by the higher layers.</p>
-  </li>
-  <li>
-    <p>The <strong>API layer</strong> implements multiple APIs that create operator DAGs for their programs. Each API needs
-to provide utilities (serializers, comparators) that describe the interaction between its data types and
-the runtime.</p>
-  </li>
-</ul>
-
-<div style="text-align: center;">
-<img src="fig/stack.svg" alt="The Flink component stack" width="800px" />
-</div>
-
-<h2 id="projects-and-dependencies">Projects and Dependencies</h2>
-
-<p>The Flink system code is divided into multiple sub-projects. The goal is to reduce the number of
-dependencies that a project implementing a Flink progam needs, as well as to faciltate easier testing
-of smaller sub-modules.</p>
-
-<p>The individual projects and their dependencies are shown in the figure below.</p>
-
-<div style="text-align: center;">
-<img src="fig/projects_dependencies.svg" alt="The Flink sub-projects and their dependencies" height="600px" style="text-align: center;" />
-</div>
-
-<p>In addition to the projects listed in the figure above, Flink currently contains the following sub-projects:</p>
-
-<ul>
-  <li>
-    <p><code>flink-dist</code>: The <em>distribution</em> project. It defines how to assemble the compiled code, scripts, and other resources
-into the final folder structure that is ready to use.</p>
-  </li>
-  <li>
-    <p><code>flink-staging</code>: A series of projects that are in an early version. Currently contains
-among other things projects for YARN support, JDBC data sources and sinks, hadoop compatibility,
-graph specific operators, and HBase connectors.</p>
-  </li>
-  <li>
-    <p><code>flink-quickstart</code>: Scripts, maven archetypes, and example programs for the quickstarts and tutorials.</p>
-  </li>
-  <li>
-    <p><code>flink-contrib</code>: Useful tools contributed by users. The code is maintained mainly by external contributors. The requirements for code being accepted into <code>flink-contrib</code> are lower compared to the rest of the code.</p>
-  </li>
-</ul>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/how_to_contribute.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/how_to_contribute.html b/content/docs/0.9/internals/how_to_contribute.html
deleted file mode 100644
index 76fd201..0000000
--- a/content/docs/0.9/internals/how_to_contribute.html
+++ /dev/null
@@ -1,207 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: How to Contribute</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>How to Contribute</h1>
-
-
-
-<p>The <em>How to Contribute</em> guide is located <a href="http://flink.apache.org/how-to-contribute.html">on the project website</a>.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[04/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/ide_setup.html
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/ide_setup.html b/content/docs/master/internals/ide_setup.html
deleted file mode 100644
index 6b2c1f1..0000000
--- a/content/docs/master/internals/ide_setup.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: IDE setup</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>IDE setup</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#eclipse" id="markdown-toc-eclipse">Eclipse</a>    <ul>
-      <li><a href="#eclipse-scala-ide-303" id="markdown-toc-eclipse-scala-ide-303">Eclipse Scala IDE 3.0.3</a></li>
-      <li><a href="#eclipse-scala-ide-400" id="markdown-toc-eclipse-scala-ide-400">Eclipse Scala IDE 4.0.0</a></li>
-    </ul>
-  </li>
-  <li><a href="#intellij-idea" id="markdown-toc-intellij-idea">IntelliJ IDEA</a>    <ul>
-      <li><a href="#installing-the-scala-plugin" id="markdown-toc-installing-the-scala-plugin">Installing the Scala plugin</a></li>
-      <li><a href="#installing-the-scala-compiler-plugin" id="markdown-toc-installing-the-scala-compiler-plugin">Installing the Scala compiler plugin</a></li>
-      <li><a href="#importing-flink" id="markdown-toc-importing-flink">Importing Flink</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="eclipse">Eclipse</h2>
-
-<p>A brief guide how to set up Eclipse for development of the Flink core.
-Flink uses mixed Scala/Java projects, which pose a challenge to some IDEs.
-Below is the setup guide that works best from our personal experience.</p>
-
-<p>For Eclipse users, we currently recomment the Scala IDE 3.0.3, as the most robust solution.</p>
-
-<h3 id="eclipse-scala-ide-303">Eclipse Scala IDE 3.0.3</h3>
-
-<p><strong>NOTE:</strong> While this version of the Scala IDE is not the newest, we have found it to be the most reliably working
-version for complex projects like Flink. One restriction is, though, that it works only with Java 7, not with Java 8.</p>
-
-<p><strong>Note:</strong> Before following this setup, make sure to run the build from the command line once
-(<code>mvn clean package -DskipTests</code>)</p>
-
-<ol>
-  <li>Download the Scala IDE (preferred) or install the plugin to Eclipse Kepler. See section below for download links
-and instructions.</li>
-  <li>Add the “macroparadise” compiler plugin to the Scala compiler.
-Open “Window” -&gt; “Preferences” -&gt; “Scala” -&gt; “Compiler” -&gt; “Advanced” and put into the “Xplugin” field the path to
-the <em>macroparadise</em> jar file (typically “/home/<em>-your-user-</em>/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar”).
-Note: If you do not have the jar file, you probably did not ran the command line build.</li>
-  <li>Import the Flink Maven projects (“File” -&gt; “Import” -&gt; “Maven” -&gt; “Existing Maven Projects”)</li>
-  <li>During the import, Eclipse will ask to automatically install additional Maven build helper plugins.</li>
-  <li>Close the “flink-java8” project. Since Eclipse Kepler does not support Java 8, you cannot develop this project.</li>
-</ol>
-
-<h4 id="download-links-for-scala-ide-303">Download links for Scala IDE 3.0.3</h4>
-
-<p>The Scala IDE 3.0.3 is a previous stable release, and download links are a bit hidden.</p>
-
-<p>The pre-packaged Scala IDE can be downloaded from the following links:</p>
-
-<ul>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-linux.gtk.x86_64.tar.gz">Linux (64 bit)</a></li>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-linux.gtk.x86.tar.gz">Linux (32 bit)</a></li>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-macosx.cocoa.x86_64.zip">MaxOS X Cocoa (64 bit)</a></li>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-macosx.cocoa.x86.zip">MaxOS X Cocoa (32 bit)</a></li>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-win32.win32.x86_64.zip">Windows (64 bit)</a></li>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-win32.win32.x86.zip">Windows (32 bit)</a></li>
-</ul>
-
-<p>Alternatively, you can download Eclipse Kepler from <a href="https://eclipse.org/downloads/packages/release/Kepler/SR2">https://eclipse.org/downloads/packages/release/Kepler/SR2</a>
-and manually add the Scala and Maven plugins by plugin site at <a href="http://scala-ide.org/download/prev-stable.html">http://scala-ide.org/download/prev-stable.html</a>.</p>
-
-<ul>
-  <li>Either use the update site to install the plugin (“Help” -&gt; “Install new Software”)</li>
-  <li>Or download the <a href="http://download.scala-ide.org/sdk/helium/e38/scala211/stable/update-site.zip">zip file</a>, unpack it, and move the contents of the
-“plugins” and “features” folders into the equally named folders of the Eclipse root directory</li>
-</ul>
-
-<h3 id="eclipse-scala-ide-400">Eclipse Scala IDE 4.0.0</h3>
-
-<p><strong>NOTE: From personal experience, the use of the Scala IDE 4.0.0 performs worse than previous versions for complex projects like Flink.</strong>
-<strong>Version 4.0.0 does not handle mixed Java/Scala projects as robustly and it frequently raises incorrect import and type errors.</strong></p>
-
-<p><em>Note:</em> Before following this setup, make sure to run the build from the command line once
-(<code>mvn clean package -DskipTests</code>)</p>
-
-<ol>
-  <li>Download the Scala IDE: <a href="http://scala-ide.org/download/sdk.html">http://scala-ide.org/download/sdk.html</a></li>
-  <li>Import the Flink Maven projects (File -&gt; Import -&gt; Maven -&gt; Existing Maven Projects)</li>
-  <li>While importing the Flink project, the IDE may ask you to install an additional maven build helper plugin.</li>
-  <li>After the import, you need to set the Scala version of your projects to Scala 2.10 (from the default 2.11). 
-To do that, select all projects that contain Scala code (marked by the small <em>S</em> on the project icon),
-right click and select “Scala -&gt; Set the Scala Installation” and pick “2.10.4”.
-Currently, the project to which that is relevant are “flink-runtime”, “flink-scala”, “flink-scala-examples”,
-“flink-streaming-example”, “flink-streaming-scala”, “flink-tests”, “flink-test-utils”, and “flink-yarn”.</li>
-  <li>Depending on your version of the Scala IDE, you may need to add the “macroparadise” compiler plugin to the
-Scala compiler. Open “Window” -&gt; “Preferences” -&gt; “Scala” -&gt; “Compiler” -&gt; “Advanced” and put into the “Xplugin” field
-the path to the <em>macroparadise</em> jar file (typically “/home/<em>-your-user-</em>/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar”)</li>
-  <li>In order to compile the “flink-java-8” project, you may need to add a Java 8 execution environment.
-See <a href="http://stackoverflow.com/questions/25391207/how-do-i-add-execution-environment-1-8-to-eclipse-luna">this post</a>
-for details.</li>
-</ol>
-
-<h2 id="intellij-idea">IntelliJ IDEA</h2>
-
-<p>A brief guide on how to set up IntelliJ IDEA IDE for development of the Flink core.
-As Eclipse is known to have issues with mixed Scala and Java projects, more and more contributers are migrating to IntelliJ IDEA.</p>
-
-<p>The following documentation describes the steps to setup IntelliJ IDEA 14.0.3 (https://www.jetbrains.com/idea/download/) with the Flink sources.</p>
-
-<p>Prior to doing anything, make sure that the Flink project is built at least once from the terminal:
-<code>mvn clean package -DskipTests</code></p>
-
-<h3 id="installing-the-scala-plugin">Installing the Scala plugin</h3>
-<ol>
-  <li>Go to IntelliJ plugins settings (File -&gt; Settings -&gt; Plugins) and click on “Install Jetbrains plugin…”.</li>
-  <li>Select and install the “Scala” plugin.</li>
-  <li>Restart IntelliJ</li>
-</ol>
-
-<h3 id="installing-the-scala-compiler-plugin">Installing the Scala compiler plugin</h3>
-<ol>
-  <li>Go to IntelliJ scala compiler settings (File -&gt; Settings -&gt; Build, Execution, Deployment -&gt; Compiler -&gt; Scala Compiler) and click on “Install Jetbrains plugin…”.</li>
-  <li>Click on the green plus icon on the right to add a compiler plugin</li>
-  <li>Point to the paradise jar: ~/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar If there is no such file, this means that you should build Flink from the terminal as explained above.</li>
-</ol>
-
-<h3 id="importing-flink">Importing Flink</h3>
-<ol>
-  <li>Start IntelliJ IDEA and choose “Import Project”</li>
-  <li>Select the root folder of the Flink repository</li>
-  <li>Choose “Import project from external model” and select “Maven”</li>
-  <li>Leave the default options and finish the import.</li>
-</ol>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/index.html
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/index.html b/content/docs/master/internals/index.html
deleted file mode 100644
index 91a6867..0000000
--- a/content/docs/master/internals/index.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Internals</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Internals</h1>
-
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/job_scheduling.html
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/job_scheduling.html b/content/docs/master/internals/job_scheduling.html
deleted file mode 100644
index a6d13ce..0000000
--- a/content/docs/master/internals/job_scheduling.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Jobs and Scheduling</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Jobs and Scheduling</h1>
-
-
-
-<p>This document briefly describes how Flink schedules jobs and 
-how it represents and tracks job status on the JobManager.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#scheduling" id="markdown-toc-scheduling">Scheduling</a></li>
-  <li><a href="#jobmanager-data-structures" id="markdown-toc-jobmanager-data-structures">JobManager Data Structures</a></li>
-</ul>
-
-<h2 id="scheduling">Scheduling</h2>
-
-<p>Execution resources in Flink are defined through <em>Task Slots</em>. Each TaskManager will have one or more task slots,
-each of which can run one pipeline of parallel tasks. A pipeline consists of multiple successive tasks, such as the
-<em>n-th</em> parallel instance of a MapFunction together with the <em>n-th</em> parallel instance of a ReduceFunction.
-Note that Flink often executes successive tasks concurrently: For Streaming programs, that happens in any case,
-but also for batch programs, it happens frequently.</p>
-
-<p>The figure below illustrates that. Consider a program with a data source, a <em>MapFunction</em>, and a <em>ReduceFunction</em>.
-The source and MapFunction are executed with a parallelism of 4, while the ReduceFunction is executed with a
-parallism of 3. A pipeline consists of the sequence Source - Map - Reduce. On a cluster with 2 TaskManagers with
-3 slots each, the program will be executed as described below.</p>
-
-<div style="text-align: center;">
-<img src="fig/slots.svg" alt="Assigning Pipelines of Tasks to Slots" height="250px" style="text-align: center;" />
-</div>
-
-<p>Internally, Flink defines through <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/jobmanager/scheduler/SlotSharingGroup.java">SlotSharingGroup</a> 
-and <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/jobmanager/scheduler/CoLocationGroup.java">CoLocationGroup</a>
-which tasks may share a slot (permissive), respectively which tasks must be strictly placed into the same slot.</p>
-
-<h2 id="jobmanager-data-structures">JobManager Data Structures</h2>
-
-<p>During job execution, the JobManager keeps track of distributed tasks, decides when to schedule the next task (or set of tasks),
-and reacts to finished tasks or execution failures.</p>
-
-<p>The JobManager receives the <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/jobgraph/">JobGraph</a>,
-which is a representation of the data flow consisting of operators (<a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/jobgraph/AbstractJobVertex.java">JobVertex</a>)
-and intermediate results (<a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/jobgraph/IntermediateDataSet.java">IntermediateDataSet</a>).
-Each operator has properies, like the parallelism and the code that it executes.
-In addition, the JobGraph has a set of attached libraries, that are neccessary to execute the code of the operators.</p>
-
-<p>The JobManager transforms the JobGraph into an <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/">ExecutionGraph</a>.
-The ExecutionGraph is a parallel version of the JobGraph: For each JobVertex, it contains an <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/ExecutionVertex.java">ExecutionVertex</a> per parallel subtask. An operator with a parallelism of 100 will have one JobVertex and 100 ExecutionVertices.
-The ExecutionVertex tracks the state of execution of a particular subtask. All ExecutionVertices from one JobVertex are held in an
-<a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/ExecutionJobVertex.java">ExecutionJobVertex</a>,
-which tracks the status of the operator as a whole. 
-Besides the vertices, the ExecutionGraph also contains the <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/IntermediateResult.java">IntermediateResult</a> and the <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/IntermediateResultPartition.java">IntermediateResultPartition</a>. The former tracks the state of the <em>IntermediateDataSet</em>, the latter the state of each of its partitions.</p>
-
-<div style="text-align: center;">
-<img src="fig/job_and_execution_graph.svg" alt="JobGraph and ExecutionGraph" height="400px" style="text-align: center;" />
-</div>
-
-<p>During its execution, each parallel task goes through multiple stages, from <em>created</em> to <em>finished</em> or <em>failed</em>. The diagram below illustrates the 
-states and possible transitions between them. A task may be executed multiple times (for example in the course of failure recovery).
-For that reason, the execution of an ExecutionVertex is tracked in an <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/Execution.java">Execution</a>. Each ExecutionVertex has a current Execution, and prior Executions.</p>
-
-<div style="text-align: center;">
-<img src="fig/state_machine.svg" alt="States and Transitions of Task Executions" height="300px" style="text-align: center;" />
-</div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/logging.html
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/logging.html b/content/docs/master/internals/logging.html
deleted file mode 100644
index c9f17fb..0000000
--- a/content/docs/master/internals/logging.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: How to use logging</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>How to use logging</h1>
-
-
-
-<p>The logging in Flink is implemented using the slf4j logging interface. As underlying logging framework, log4j is used. We also provide logback configuration files and pass them to the JVM’s as properties. Users willing to use logback instead of log4j can just exclude log4j (or delete it from the lib/ folder).</p>
-
-<ul id="markdown-toc">
-  <li><a href="#configuring-log4j" id="markdown-toc-configuring-log4j">Configuring Log4j</a></li>
-  <li><a href="#configuring-logback" id="markdown-toc-configuring-logback">Configuring logback</a></li>
-  <li><a href="#best-practices-for-developers" id="markdown-toc-best-practices-for-developers">Best practices for developers</a></li>
-</ul>
-
-<h2 id="configuring-log4j">Configuring Log4j</h2>
-
-<p>Log4j is controlled using property files. In Flink’s case, the file is usually called <code>log4j.properties</code>. We pass the filename and location of this file using the <code>-Dlog4j.configuration=</code> parameter to the JVM.</p>
-
-<h2 id="configuring-logback">Configuring logback</h2>
-
-<p>For users and developers alike it is important to control the logging framework. 
-The configuration of the logging framework is exclusively done by configuration files.
-The configuration file either has to be specified by setting the environment property <code>-Dlogback.configurationFile=&lt;file&gt;</code> or by putting <code>logback.xml</code> in the classpath.
-The <code>conf</code> directory contains a <code>logback.xml</code> file which can be modified and is used if Flink is started outside of an IDE and with the provided starting scripts.
-The provided <code>logback.xml</code> has the following form:</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;configuration&gt;</span>
-    <span class="nt">&lt;appender</span> <span class="na">name=</span><span class="s">&quot;file&quot;</span> <span class="na">class=</span><span class="s">&quot;ch.qos.logback.core.FileAppender&quot;</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;file&gt;</span>${log.file}<span class="nt">&lt;/file&gt;</span>
-        <span class="nt">&lt;append&gt;</span>false<span class="nt">&lt;/append&gt;</span>
-        <span class="nt">&lt;encoder&gt;</span>
-            <span class="nt">&lt;pattern&gt;</span>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{60} %X{sourceThread} - %msg%n<span class="nt">&lt;/pattern&gt;</span>
-        <span class="nt">&lt;/encoder&gt;</span>
-    <span class="nt">&lt;/appender&gt;</span>
-
-    <span class="nt">&lt;root</span> <span class="na">level=</span><span class="s">&quot;INFO&quot;</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;appender-ref</span> <span class="na">ref=</span><span class="s">&quot;file&quot;</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;/root&gt;</span>
-<span class="nt">&lt;/configuration&gt;</span></code></pre></div>
-
-<p>In order to control the logging level of <code>org.apache.flink.runtime.jobgraph.JobGraph</code>, for example, one would have to add the following line to the configuration file.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;logger</span> <span class="na">name=</span><span class="s">&quot;org.apache.flink.runtime.jobgraph.JobGraph&quot;</span> <span class="na">level=</span><span class="s">&quot;DEBUG&quot;</span><span class="nt">/&gt;</span></code></pre></div>
-
-<p>For further information on configuring logback see <a href="http://logback.qos.ch/manual/configuration.html">LOGback’s manual</a>.</p>
-
-<h2 id="best-practices-for-developers">Best practices for developers</h2>
-
-<p>The loggers using slf4j are created by calling</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kn">import</span> <span class="nn">org.slf4j.LoggerFactory</span>
-<span class="kn">import</span> <span class="nn">org.slf4j.Logger</span>
-
-<span class="n">Logger</span> <span class="n">LOG</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">Foobar</span><span class="o">.</span><span class="na">class</span><span class="o">)</span></code></pre></div>
-
-<p>In order to benefit most from slf4j, it is recommended to use its placeholder mechanism.
-Using placeholders allows to avoid unnecessary string constructions in case that the logging level is set so high that the message would not be logged.
-The syntax of placeholders is the following:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">&quot;This message contains {} placeholders. {}&quot;</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="s">&quot;Yippie&quot;</span><span class="o">);</span></code></pre></div>
-
-<p>Placeholders can also be used in conjunction with exceptions which shall be logged.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="k">catch</span><span class="o">(</span><span class="n">Exception</span> <span class="n">exception</span><span class="o">){</span>
-	<span class="n">LOG</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="s">&quot;An {} occurred.&quot;</span><span class="o">,</span> <span class="s">&quot;error&quot;</span><span class="o">,</span> <span class="n">exception</span><span class="o">);</span>
-<span class="o">}</span></code></pre></div>
-
-<hr />
-
-<p><em>This documentation is maintained by the contributors of the individual components.
-We kindly ask anyone that adds and changes components to eventually provide a patch
-or pull request that updates these documents as well.</em></p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[23/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/fig/slots_parallelism.svg
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/fig/slots_parallelism.svg b/content/docs/0.9/setup/fig/slots_parallelism.svg
deleted file mode 100644
index 14e0960..0000000
--- a/content/docs/0.9/setup/fig/slots_parallelism.svg
+++ /dev/null
@@ -1,695 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<svg version="1.1" viewBox="0.0 0.0 971.0 1514.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="p.0"><path d="m0 0l971.0 0l0 1514.0l-971.0 0l0 -1514.0z" clip-rule="nonzero"></path>
-
-</clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l971.126 0l0 1514.8188l-971.126 0z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m196.45932 83.89501l242.11023 0l0 264.44095l-242.11023 0z" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m196.45932 83.89501l242.11023 0l0 264.44095l-242.11023 0z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m195.40683 84.95801l242.11023 0l0 48.850388l-242.11023 0z" fill-rule="nonzero"></path>
-<path fill="#000000" d="m253.98265 111.878006l0 -12.0l-4.46875 0l0 -1.59375l10.76564 0l0 1.59375l-4.5000153 0l0 12.0l-1.796875 0zm14.161606 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.
 359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.4069824 2.0l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.87
 5q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm10.015625 2.9375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm14.652039 0l0 -13.59375l2.71875 0l3.21875 9.625q0.4375 1.34375 0.640625 2.015625q0.234375 -0.75 0.734375 -2.1875l3.25 -9.453125l2.421875 0l0 13.59375l-1.734375 0l0 -11.390625l-3.953125 11.390625l-1.625 0l-3.9375 -11.578125l0 11.578125l-1.734375 0zm21.822052 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953
 125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0788574 4.9375l0 -9.859375l1.5 0l0 1.40625q1.
 09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.813202 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296
 875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.7819824 5.75l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 
 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm16.047577 1.9375l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9
 375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm17.239716 0l-1.671875 0l0 -10.640625q-0.59375 0.578125 -1.578125 1.15625q-0.984375 0.5625 -1.765625 0.859375l0 -1.625q1.40625 -0.65625 2.453125 -1.59375q1.046875 -0.9375 1.484375 -1.8125l1.078125 0l0 13.65625z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m220.48688 137.65749l195.14172 0l0 48.590546l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#d8e7f5" d="m212.38846 129.55905l211.33856 0l-8.098419 8.098434l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#a5b4c2" d="m212.38846 194.34645l8.098419 -8.098419l195.14172 0l8.098419 8.098419z" fill-rule="nonzero"></path>
-<path fill="#e2edf7" d="m212.38846 129.55905l8.098419 8.098434l0 48.590546l-8.098419 8.098419z" fill-rule="nonzero"></path>
-<path fill="#7c8791" d="m423.72702 129.55905l0 64.7874l-8.098419 -8.098419l0 -48.590546z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m212.38846 129.55905l211.33856 0l0 64.7874l-211.33856 0zm8.098419 8.098434l195.14172 0l0 48.590546l-195.14172 0zm-8.098419 -8.098434l8.098419 8.098434m-8.098419 56.688965l8.098419 -8.098419m203.24014 -56.68898l-8.098419 8.098434m8.098419 56.688965l-8.098419 -8.098419" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m212.38846 129.55905l211.33856 0l0 64.7874l-211.33856 0zm8.098419 8.098434l195.14172 0l0 48.590546l-195.14172 0zm-8.098419 -8.098434l8.098419 8.098434m-8.098419 56.688965l8.098419 -8.098419m203.24014 -56.68898l-8.098419 8.098434m8.098419 56.688965l-8.098419 -8.098419" fill-rule="nonzero"></path>
-<path fill="#000000" d="m230.34625 164.49776l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.48
 4375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm12.802948 4.375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.5510712 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm12.938217 3.421875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.656
 25 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm12.538483 1.5l-1.671875 0l0 -10.640625q-0.59375 0.578125 -1.578125 1.15625q-0.984375 0.5625 -1.765625 0.859375l0 -1.625q1.40625 -0.65625 2.453125 -1.59375q1.046875 -0.9375 1.484375 -1.8125l1.078125 0l0 13.65625z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m219.94357 207.81496l195.14172 0l0 48.59056l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#d8e7f5" d="m211.84514 199.71654l211.33858 0l-8.098419 8.098419l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#a5b4c2" d="m211.84514 264.50394l8.098434 -8.098419l195.14172 0l8.098419 8.098419z" fill-rule="nonzero"></path>
-<path fill="#e2edf7" d="m211.84514 199.71654l8.098434 8.098419l0 48.59056l-8.098434 8.098419z" fill-rule="nonzero"></path>
-<path fill="#7c8791" d="m423.18372 199.71654l0 64.7874l-8.098419 -8.098419l0 -48.59056z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m211.84514 199.71654l211.33858 0l0 64.7874l-211.33858 0zm8.098434 8.098419l195.14172 0l0 48.59056l-195.14172 0zm-8.098434 -8.098419l8.098434 8.098419m-8.098434 56.68898l8.098434 -8.098419m203.24014 -56.68898l-8.098419 8.098419m8.098419 56.68898l-8.098419 -8.098419" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m211.84514 199.71654l211.33858 0l0 64.7874l-211.33858 0zm8.098434 8.098419l195.14172 0l0 48.59056l-195.14172 0zm-8.098434 -8.098419l8.098434 8.098419m-8.098434 56.68898l8.098434 -8.098419m203.24014 -56.68898l-8.098419 8.098419m8.098419 56.68898l-8.098419 -8.098419" fill-rule="nonzero"></path>
-<path fill="#000000" d="m229.80295 234.65523l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.48
 4375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm12.802948 4.375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.5510712 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm12.938217 3.421875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.656
 25 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm15.022858 -0.109375l0 1.609375l-8.984375 0q-0.015625 -0.609375 0.1875 -1.15625q0.34375 -0.921875 1.09375 -1.8125q0.765625 -0.890625 2.1875 -2.0625q2.21875 -1.8125 3.0 -2.875q0.78125 -1.0625 0.78125 -2.015625q0 -0.984375 -0.71875 -1.671875q-0.703125 -0.6875 -1.84375 -0.6875q-1.203125 0 -1.9375 0.734375q-0.71875 0.71875 -0.71875 2.0l-1.71875 -0.171875q0.171875 -1.921875 1.328125 -2.921875q1.15625 -1.015625 3.09375 -1.015625q1.953125 0 3.09375 1.09375q1.140625 1.078125 1.140625 2.6875q0 0.8125 -0.34375 1.609375q-0.328125 0.78125 -1.109375 1.65625q-0.765625 0.859375 -2.5625 2.390625q-1.5 1.265625 -1.9375 1.71875q-0.421875 0.4375 -0.703125 0.890625l6.671875 0z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m218.89108 277.97244l195.14172 0l0 48.590546l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#d8e7f5" d="m210.79265 269.87402l211.33858 0l-8.098419 8.098419l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#a5b4c2" d="m210.79265 334.6614l8.098434 -8.098419l195.14172 0l8.098419 8.098419z" fill-rule="nonzero"></path>
-<path fill="#e2edf7" d="m210.79265 269.87402l8.098434 8.098419l0 48.590546l-8.098434 8.098419z" fill-rule="nonzero"></path>
-<path fill="#7c8791" d="m422.13123 269.87402l0 64.787384l-8.098419 -8.098419l0 -48.590546z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m210.79265 269.87402l211.33858 0l0 64.787384l-211.33858 0zm8.098434 8.098419l195.14172 0l0 48.590546l-195.14172 0zm-8.098434 -8.098419l8.098434 8.098419m-8.098434 56.688965l8.098434 -8.098419m203.24014 -56.688965l-8.098419 8.098419m8.098419 56.688965l-8.098419 -8.098419" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m210.79265 269.87402l211.33858 0l0 64.787384l-211.33858 0zm8.098434 8.098419l195.14172 0l0 48.590546l-195.14172 0zm-8.098434 -8.098419l8.098434 8.098419m-8.098434 56.688965l8.098434 -8.098419m203.24014 -56.688965l-8.098419 8.098419m8.098419 56.688965l-8.098419 -8.098419" fill-rule="nonzero"></path>
-<path fill="#000000" d="m228.75046 304.8127l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.484
 375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm12.802948 4.375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.5510712 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm12.938217 3.421875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.6562
 5 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm6.2572327 -2.09375l1.671875 -0.21875q0.28125 1.421875 0.96875 2.046875q0.703125 0.625 1.6875 0.625q1.1875 0 2.0 -0.8125q0.8125 -0.828125 0.8125 -2.03125q0 -1.140625 -0.765625 -1.890625q-0.75 -0.75 -1.90625 -0.75q-0.46875 0 -1.171875 0.1875l0.1875 -1.46875q0.15625 0.015625 0.265625 0.015625q1.0625 0 1.90625 -0.546875q0.859375 -0.5625 0.859375 -1.71875q0 -0.921875 -0.625 -1.515625q-0.609375 -0.609375 -1.59375 -0.609375q-0.96875 0 -1.625 0.609375q-0.640625 0.609375 -0.828125 1.84375l-1.671875 -0.296875q0.296875 -1.6875 1.375 -2.609375q1.09375 -0.921875 2.71875 -0.921875q1.109375 0 2.046875 0.484375q0.9375 0.46875 1.421875 1.296875q0.5 0.828125 0.5 1.75q0 0.890625 -0.46875 1.609375q-0.46875 0.71875 -1.40625 1.15625q1.21875 0.265625 1.875 1.15625q0.671875 0.875 0.671875 2.1875q0 1.78125 -1.296875 3.015625q-1.296875 
 1.234375 -3.28125 1.234375q-1.796875 0 -2.984375 -1.0625q-1.171875 -1.0625 -1.34375 -2.765625z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m454.58267 83.89501l242.11026 0l0 264.44095l-242.11026 0z" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m454.58267 83.89501l242.11026 0l0 264.44095l-242.11026 0z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m453.53018 84.95801l242.11026 0l0 48.850388l-242.11026 0z" fill-rule="nonzero"></path>
-<path fill="#000000" d="m512.106 111.878006l0 -12.0l-4.46875 0l0 -1.59375l10.765625 0l0 1.59375l-4.5 0l0 12.0l-1.796875 0zm14.161621 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 
 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.4069214 2.0l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.3
 28125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm10.015625 2.9375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm14.6521 0l0 -13.59375l2.71875 0l3.21875 9.625q0.4375 1.34375 0.640625 2.015625q0.234375 -0.75 0.734375 -2.1875l3.25 -9.453125l2.421875 0l0 13.59375l-1.734375 0l0 -11.390625l-3.953125 11.390625l-1.625 0l-3.9375 -11.578125l0 11.578125l-1.734375 0zm21.822021 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.531
 25 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0788574 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.
 625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.813232 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.156
 25 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.7819824 5.75l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q
 -0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm16.047546 1.9375l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.781
 25q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm19.724121 -1.609375l0 1.609375l-8.984375 0q-0.015625 -0.609375 0.1875 -1.15625q0.34375 -0.921875 1.09375 -1.8125q0.765625 -0.890625 2.1875 -2.0625q2.21875 -1.8125 3.0 -2.875q0.78125 -1.0625 0.78125 -2.015625q0 -0.984375 -0.71875 -1.671875q-0.703125 -0.6875 -1.84375 -0.6875q-1.203125 0 -1.9375 0.734375q-0.71875 0.71875 -0.71875 2.0l-1.71875 -0.171875q0.171875 -1.921875 1.328125 -2.921875q1.15625 -1.015625 3.09375 -1.015625q1.953125 0 3.09375 1.09375q1.140625 1.078125 1.140625 2.6875q0 0.8125 -0.34375 1.609375q-0.328125 0.78125 -1.109375 1.65625q-0.765625 0.859375 -2.5625 2.390625q-1.5 1.265625 -1.9375 1.71875q-0.421875 0.4375 -0
 .703125 0.890625l6.671875 0z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m478.61023 137.65749l195.14172 0l0 48.590546l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#d8e7f5" d="m470.5118 129.55905l211.3386 0l-8.09845 8.098434l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#a5b4c2" d="m470.5118 194.34645l8.098419 -8.098419l195.14172 0l8.09845 8.098419z" fill-rule="nonzero"></path>
-<path fill="#e2edf7" d="m470.5118 129.55905l8.098419 8.098434l0 48.590546l-8.098419 8.098419z" fill-rule="nonzero"></path>
-<path fill="#7c8791" d="m681.8504 129.55905l0 64.7874l-8.09845 -8.098419l0 -48.590546z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m470.5118 129.55905l211.3386 0l0 64.7874l-211.3386 0zm8.098419 8.098434l195.14172 0l0 48.590546l-195.14172 0zm-8.098419 -8.098434l8.098419 8.098434m-8.098419 56.688965l8.098419 -8.098419m203.24017 -56.68898l-8.09845 8.098434m8.09845 56.688965l-8.09845 -8.098419" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m470.5118 129.55905l211.3386 0l0 64.7874l-211.3386 0zm8.098419 8.098434l195.14172 0l0 48.590546l-195.14172 0zm-8.098419 -8.098434l8.098419 8.098434m-8.098419 56.688965l8.098419 -8.098419m203.24017 -56.68898l-8.09845 8.098434m8.09845 56.688965l-8.09845 -8.098419" fill-rule="nonzero"></path>
-<path fill="#000000" d="m488.4696 164.49776l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.484
 375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm12.802948 4.375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.5510864 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3124695 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.6562195 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.8280945 -0.953125 0.8280945 -2.890625q0 -1.828125 -0.8280945 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm12.938202 3.421875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.437
 5l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm12.538513 1.5l-1.671875 0l0 -10.640625q-0.59375 0.578125 -1.578125 1.15625q-0.984375 0.5625 -1.765625 0.859375l0 -1.625q1.40625 -0.65625 2.453125 -1.59375q1.046875 -0.9375 1.484375 -1.8125l1.078125 0l0 13.65625z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m478.06693 207.81496l195.14175 0l0 48.59056l-195.14175 0z" fill-rule="nonzero"></path>
-<path fill="#d8e7f5" d="m469.9685 199.71654l211.33856 0l-8.098389 8.098419l-195.14175 0z" fill-rule="nonzero"></path>
-<path fill="#a5b4c2" d="m469.9685 264.50394l8.098419 -8.098419l195.14175 0l8.098389 8.098419z" fill-rule="nonzero"></path>
-<path fill="#e2edf7" d="m469.9685 199.71654l8.098419 8.098419l0 48.59056l-8.098419 8.098419z" fill-rule="nonzero"></path>
-<path fill="#7c8791" d="m681.30707 199.71654l0 64.7874l-8.098389 -8.098419l0 -48.59056z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m469.9685 199.71654l211.33856 0l0 64.7874l-211.33856 0zm8.098419 8.098419l195.14175 0l0 48.59056l-195.14175 0zm-8.098419 -8.098419l8.098419 8.098419m-8.098419 56.68898l8.098419 -8.098419m203.24014 -56.68898l-8.098389 8.098419m8.098389 56.68898l-8.098389 -8.098419" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m469.9685 199.71654l211.33856 0l0 64.7874l-211.33856 0zm8.098419 8.098419l195.14175 0l0 48.59056l-195.14175 0zm-8.098419 -8.098419l8.098419 8.098419m-8.098419 56.68898l8.098419 -8.098419m203.24014 -56.68898l-8.098389 8.098419m8.098389 56.68898l-8.098389 -8.098419" fill-rule="nonzero"></path>
-<path fill="#000000" d="m487.9263 234.65523l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.484
 375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm12.802948 4.375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.5510864 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm12.938232 3.421875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.6562
 5 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm15.022827 -0.109375l0 1.609375l-8.984375 0q-0.015625 -0.609375 0.1875 -1.15625q0.34375 -0.921875 1.09375 -1.8125q0.765625 -0.890625 2.1875 -2.0625q2.21875 -1.8125 3.0 -2.875q0.78125 -1.0625 0.78125 -2.015625q0 -0.984375 -0.71875 -1.671875q-0.703125 -0.6875 -1.84375 -0.6875q-1.203125 0 -1.9375 0.734375q-0.71875 0.71875 -0.71875 2.0l-1.71875 -0.171875q0.171875 -1.921875 1.328125 -2.921875q1.15625 -1.015625 3.09375 -1.015625q1.953125 0 3.09375 1.09375q1.140625 1.078125 1.140625 2.6875q0 0.8125 -0.34375 1.609375q-0.328125 0.78125 -1.109375 1.65625q-0.765625 0.859375 -2.5625 2.390625q-1.5 1.265625 -1.9375 1.71875q-0.421875 0.4375 -0.703125 0.890625l6.671875 0z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m477.01443 277.97244l195.14175 0l0 48.590546l-195.14175 0z" fill-rule="nonzero"></path>
-<path fill="#d8e7f5" d="m468.91602 269.87402l211.33856 0l-8.098389 8.098419l-195.14175 0z" fill-rule="nonzero"></path>
-<path fill="#a5b4c2" d="m468.91602 334.6614l8.098419 -8.098419l195.14175 0l8.098389 8.098419z" fill-rule="nonzero"></path>
-<path fill="#e2edf7" d="m468.91602 269.87402l8.098419 8.098419l0 48.590546l-8.098419 8.098419z" fill-rule="nonzero"></path>
-<path fill="#7c8791" d="m680.2546 269.87402l0 64.787384l-8.098389 -8.098419l0 -48.590546z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m468.91602 269.87402l211.33856 0l0 64.787384l-211.33856 0zm8.098419 8.098419l195.14175 0l0 48.590546l-195.14175 0zm-8.098419 -8.098419l8.098419 8.098419m-8.098419 56.688965l8.098419 -8.098419m203.24014 -56.688965l-8.098389 8.098419m8.098389 56.688965l-8.098389 -8.098419" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m468.91602 269.87402l211.33856 0l0 64.787384l-211.33856 0zm8.098419 8.098419l195.14175 0l0 48.590546l-195.14175 0zm-8.098419 -8.098419l8.098419 8.098419m-8.098419 56.688965l8.098419 -8.098419m203.24014 -56.688965l-8.098389 8.098419m8.098389 56.688965l-8.098389 -8.098419" fill-rule="nonzero"></path>
-<path fill="#000000" d="m486.8738 304.8127l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.4843
 75q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm12.802948 4.375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.5510864 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm12.938232 3.421875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625
  -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm6.257202 -2.09375l1.671875 -0.21875q0.28125 1.421875 0.96875 2.046875q0.703125 0.625 1.6875 0.625q1.1875 0 2.0 -0.8125q0.8125 -0.828125 0.8125 -2.03125q0 -1.140625 -0.765625 -1.890625q-0.75 -0.75 -1.90625 -0.75q-0.46875 0 -1.171875 0.1875l0.1875 -1.46875q0.15625 0.015625 0.265625 0.015625q1.0625 0 1.90625 -0.546875q0.859375 -0.5625 0.859375 -1.71875q0 -0.921875 -0.625 -1.515625q-0.609375 -0.609375 -1.59375 -0.609375q-0.96875 0 -1.625 0.609375q-0.640625 0.609375 -0.828125 1.84375l-1.671875 -0.296875q0.296875 -1.6875 1.375 -2.609375q1.09375 -0.921875 2.71875 -0.921875q1.109375 0 2.046875 0.484375q0.9375 0.46875 1.421875 1.296875q0.5 0.828125 0.5 1.75q0 0.890625 -0.46875 1.609375q-0.46875 0.71875 -1.40625 1.15625q1.21875 0.265625 1.875 1.15625q0.671875 0.875 0.671875 2.1875q0 1.78125 -1.296875 3.015625q-1.296875 1.
 234375 -3.28125 1.234375q-1.796875 0 -2.984375 -1.0625q-1.171875 -1.0625 -1.34375 -2.765625z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m712.70605 83.89501l242.11023 0l0 264.44095l-242.11023 0z" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m712.70605 83.89501l242.11023 0l0 264.44095l-242.11023 0z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m711.65356 84.95801l242.11023 0l0 48.850388l-242.11023 0z" fill-rule="nonzero"></path>
-<path fill="#000000" d="m770.2294 111.878006l0 -12.0l-4.46875 0l0 -1.59375l10.765625 0l0 1.59375l-4.5 0l0 12.0l-1.796875 0zm14.161621 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375
  -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.4069824 2.0l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.
 328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm10.015625 2.9375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm14.652039 0l0 -13.59375l2.71875 0l3.21875 9.625q0.4375 1.34375 0.640625 2.015625q0.234375 -0.75 0.734375 -2.1875l3.25 -9.453125l2.421875 0l0 13.59375l-1.734375 0l0 -11.390625l-3.953125 11.390625l-1.625 0l-3.9375 -11.578125l0 11.578125l-1.734375 0zm21.822021 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.
 53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.0788574 4.9375l0 -9.859375l1.5 0l0 1.40625q1.09375 
 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.813232 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.
 15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.7819824 5.75l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.2656
 25q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm16.047546 1.9375l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.
 78125q-0.78125 0.765625 -0.859375 2.046875zm9.094482 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm10.958496 -3.59375l1.671875 -0.21875q0.28125 1.421875 0.96875 2.046875q0.703125 0.625 1.6875 0.625q1.1875 0 2.0 -0.8125q0.8125 -0.828125 0.8125 -2.03125q0 -1.140625 -0.765625 -1.890625q-0.75 -0.75 -1.90625 -0.75q-0.46875 0 -1.171875 0.1875l0.1875 -1.46875q0.15625 0.015625 0.265625 0.015625q1.0625 0 1.90625 -0.546875q0.859375 -0.5625 0.859375 -1.71875q0 -0.921875 -0.625 -1.515625q-0.609375 -0.609375 -1.59375 -0.609375q-0.96875 0 -1.625 0.609375q-0.640625 0.609375 -0.828125 1.84375l-1.671875 -0.296875q0.296875 -1.6875 1.375 -2.609375q1.09375 -0.921875 2.71875 -0.921875q1.109375 0 2.046875 0.484375q0.9375 0.46875 1.421875 1.296
 875q0.5 0.828125 0.5 1.75q0 0.890625 -0.46875 1.609375q-0.46875 0.71875 -1.40625 1.15625q1.21875 0.265625 1.875 1.15625q0.671875 0.875 0.671875 2.1875q0 1.78125 -1.296875 3.015625q-1.296875 1.234375 -3.28125 1.234375q-1.796875 0 -2.984375 -1.0625q-1.171875 -1.0625 -1.34375 -2.765625z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m736.7336 137.65749l195.14172 0l0 48.590546l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#d8e7f5" d="m728.6352 129.55905l211.33856 0l-8.09845 8.098434l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#a5b4c2" d="m728.6352 194.34645l8.098389 -8.098419l195.14172 0l8.09845 8.098419z" fill-rule="nonzero"></path>
-<path fill="#e2edf7" d="m728.6352 129.55905l8.098389 8.098434l0 48.590546l-8.098389 8.098419z" fill-rule="nonzero"></path>
-<path fill="#7c8791" d="m939.97375 129.55905l0 64.7874l-8.09845 -8.098419l0 -48.590546z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m728.6352 129.55905l211.33856 0l0 64.7874l-211.33856 0zm8.098389 8.098434l195.14172 0l0 48.590546l-195.14172 0zm-8.098389 -8.098434l8.098389 8.098434m-8.098389 56.688965l8.098389 -8.098419m203.24017 -56.68898l-8.09845 8.098434m8.09845 56.688965l-8.09845 -8.098419" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m728.6352 129.55905l211.33856 0l0 64.7874l-211.33856 0zm8.098389 8.098434l195.14172 0l0 48.590546l-195.14172 0zm-8.098389 -8.098434l8.098389 8.098434m-8.098389 56.688965l8.098389 -8.098419m203.24017 -56.68898l-8.09845 8.098434m8.09845 56.688965l-8.09845 -8.098419" fill-rule="nonzero"></path>
-<path fill="#000000" d="m746.59296 164.49776l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.48
 4375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm12.8029785 4.375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.5510254 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm12.938232 3.421875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65
 625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm12.538513 1.5l-1.671875 0l0 -10.640625q-0.59375 0.578125 -1.578125 1.15625q-0.984375 0.5625 -1.765625 0.859375l0 -1.625q1.40625 -0.65625 2.453125 -1.59375q1.046875 -0.9375 1.484375 -1.8125l1.078125 0l0 13.65625z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m736.1903 207.81496l195.14172 0l0 48.59056l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#d8e7f5" d="m728.09186 199.71654l211.33856 0l-8.098389 8.098419l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#a5b4c2" d="m728.09186 264.50394l8.09845 -8.098419l195.14172 0l8.098389 8.098419z" fill-rule="nonzero"></path>
-<path fill="#e2edf7" d="m728.09186 199.71654l8.09845 8.098419l0 48.59056l-8.09845 8.098419z" fill-rule="nonzero"></path>
-<path fill="#7c8791" d="m939.4304 199.71654l0 64.7874l-8.098389 -8.098419l0 -48.59056z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m728.09186 199.71654l211.33856 0l0 64.7874l-211.33856 0zm8.09845 8.098419l195.14172 0l0 48.59056l-195.14172 0zm-8.09845 -8.098419l8.09845 8.098419m-8.09845 56.68898l8.09845 -8.098419m203.24011 -56.68898l-8.098389 8.098419m8.098389 56.68898l-8.098389 -8.098419" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m728.09186 199.71654l211.33856 0l0 64.7874l-211.33856 0zm8.09845 8.098419l195.14172 0l0 48.59056l-195.14172 0zm-8.09845 -8.098419l8.09845 8.098419m-8.09845 56.68898l8.09845 -8.098419m203.24011 -56.68898l-8.098389 8.098419m8.098389 56.68898l-8.098389 -8.098419" fill-rule="nonzero"></path>
-<path fill="#000000" d="m746.0497 234.65523l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.484
 375q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm12.8029175 4.375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.5510864 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm12.938232 3.421875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.656
 25 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm15.022827 -0.109375l0 1.609375l-8.984375 0q-0.015625 -0.609375 0.1875 -1.15625q0.34375 -0.921875 1.09375 -1.8125q0.765625 -0.890625 2.1875 -2.0625q2.21875 -1.8125 3.0 -2.875q0.78125 -1.0625 0.78125 -2.015625q0 -0.984375 -0.71875 -1.671875q-0.703125 -0.6875 -1.84375 -0.6875q-1.203125 0 -1.9375 0.734375q-0.71875 0.71875 -0.71875 2.0l-1.71875 -0.171875q0.171875 -1.921875 1.328125 -2.921875q1.15625 -1.015625 3.09375 -1.015625q1.953125 0 3.09375 1.09375q1.140625 1.078125 1.140625 2.6875q0 0.8125 -0.34375 1.609375q-0.328125 0.78125 -1.109375 1.65625q-0.765625 0.859375 -2.5625 2.390625q-1.5 1.265625 -1.9375 1.71875q-0.421875 0.4375 -0.703125 0.890625l6.671875 0z" fill-rule="nonzero"></path>
-<path fill="#cfe2f3" d="m735.1378 277.97244l195.14172 0l0 48.590546l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#d8e7f5" d="m727.03937 269.87402l211.33856 0l-8.098389 8.098419l-195.14172 0z" fill-rule="nonzero"></path>
-<path fill="#a5b4c2" d="m727.03937 334.6614l8.09845 -8.098419l195.14172 0l8.098389 8.098419z" fill-rule="nonzero"></path>
-<path fill="#e2edf7" d="m727.03937 269.87402l8.09845 8.098419l0 48.590546l-8.09845 8.098419z" fill-rule="nonzero"></path>
-<path fill="#7c8791" d="m938.3779 269.87402l0 64.787384l-8.098389 -8.098419l0 -48.590546z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m727.03937 269.87402l211.33856 0l0 64.787384l-211.33856 0zm8.09845 8.098419l195.14172 0l0 48.590546l-195.14172 0zm-8.09845 -8.098419l8.09845 8.098419m-8.09845 56.688965l8.09845 -8.098419m203.24011 -56.688965l-8.098389 8.098419m8.098389 56.688965l-8.098389 -8.098419" fill-rule="nonzero"></path>
-<path stroke="#000000" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m727.03937 269.87402l211.33856 0l0 64.787384l-211.33856 0zm8.09845 8.098419l195.14172 0l0 48.590546l-195.14172 0zm-8.09845 -8.098419l8.09845 8.098419m-8.09845 56.688965l8.09845 -8.098419m203.24011 -56.688965l-8.098389 8.098419m8.098389 56.688965l-8.098389 -8.098419" fill-rule="nonzero"></path>
-<path fill="#000000" d="m744.9972 304.8127l1.6875 -0.140625q0.125 1.015625 0.5625 1.671875q0.4375 0.65625 1.359375 1.0625q0.9375 0.40625 2.09375 0.40625q1.03125 0 1.8125 -0.3125q0.796875 -0.3125 1.1875 -0.84375q0.390625 -0.53125 0.390625 -1.15625q0 -0.640625 -0.375 -1.109375q-0.375 -0.484375 -1.234375 -0.8125q-0.546875 -0.21875 -2.421875 -0.65625q-1.875 -0.453125 -2.625 -0.859375q-0.96875 -0.515625 -1.453125 -1.265625q-0.46875 -0.75 -0.46875 -1.6875q0 -1.03125 0.578125 -1.921875q0.59375 -0.90625 1.703125 -1.359375q1.125 -0.46875 2.5 -0.46875q1.515625 0 2.671875 0.484375q1.15625 0.484375 1.765625 1.4375q0.625 0.9375 0.671875 2.140625l-1.71875 0.125q-0.140625 -1.28125 -0.953125 -1.9375q-0.796875 -0.671875 -2.359375 -0.671875q-1.625 0 -2.375 0.609375q-0.75 0.59375 -0.75 1.4375q0 0.734375 0.53125 1.203125q0.515625 0.46875 2.703125 0.96875q2.203125 0.5 3.015625 0.875q1.1875 0.546875 1.75 1.390625q0.578125 0.828125 0.578125 1.921875q0 1.09375 -0.625 2.0625q-0.625 0.953125 -1.796875 1.4843
 75q-1.15625 0.53125 -2.609375 0.53125q-1.84375 0 -3.09375 -0.53125q-1.25 -0.546875 -1.96875 -1.625q-0.703125 -1.078125 -0.734375 -2.453125zm12.8029175 4.375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.5510864 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm12.938232 3.421875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.6562
 5 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm6.257202 -2.09375l1.671875 -0.21875q0.28125 1.421875 0.96875 2.046875q0.703125 0.625 1.6875 0.625q1.1875 0 2.0 -0.8125q0.8125 -0.828125 0.8125 -2.03125q0 -1.140625 -0.765625 -1.890625q-0.75 -0.75 -1.90625 -0.75q-0.46875 0 -1.171875 0.1875l0.1875 -1.46875q0.15625 0.015625 0.265625 0.015625q1.0625 0 1.90625 -0.546875q0.859375 -0.5625 0.859375 -1.71875q0 -0.921875 -0.625 -1.515625q-0.609375 -0.609375 -1.59375 -0.609375q-0.96875 0 -1.625 0.609375q-0.640625 0.609375 -0.828125 1.84375l-1.671875 -0.296875q0.296875 -1.6875 1.375 -2.609375q1.09375 -0.921875 2.71875 -0.921875q1.109375 0 2.046875 0.484375q0.9375 0.46875 1.421875 1.296875q0.5 0.828125 0.5 1.75q0 0.890625 -0.46875 1.609375q-0.46875 0.71875 -1.40625 1.15625q1.21875 0.265625 1.875 1.15625q0.671875 0.875 0.671875 2.1875q0 1.78125 -1.296875 3.015625q-1.296875 1
 .234375 -3.28125 1.234375q-1.796875 0 -2.984375 -1.0625q-1.171875 -1.0625 -1.34375 -2.765625z" fill-rule="nonzero"></path>
-<path fill="#000000" fill-opacity="0.0" d="m7.43832 83.89501l187.9685 0l0 89.196846l-187.9685 0z" fill-rule="nonzero"></path>
-<path fill="#000000" d="m21.360195 110.81501l0 -12.0l-4.46875 0l0 -1.59375l10.765625 0l0 1.59375l-4.5 0l0 12.0l-1.796875 0zm14.161606 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375
  -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.4069672 2.0l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.
 328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm10.015625 2.9375l0 -13.59375l1.671875 0l0 7.75l3.953125 -4.015625l2.15625 0l-3.765625 3.65625l4.140625 6.203125l-2.0625 0l-3.25 -5.03125l-1.171875 1.125l0 3.90625l-1.671875 0zm14.652054 0l0 -13.59375l2.7187538 0l3.21875 9.625q0.4375 1.34375 0.640625 2.015625q0.234375 -0.75 0.734375 -2.1875l3.25 -9.453125l2.421875 0l0 13.59375l-1.734375 0l0 -11.390625l-3.953125 11.390625l-1.625 0l-3.9375 -11.578125l0 11.578125l-1.7343788 0zm21.822056 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125
 q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm4.078842 4.9375l0 -9.859375l1.5 0l0 1.40625q1.0937
 5 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm16.813217 -1.21875q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.953125q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 
 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.234375q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.71875q-0.90625 0.359375 -2.734375 0.625q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.609375zm3.7819672 5.75l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.26
 5625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.859375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm16.047592 1.9375l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 
 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094467 5.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.556427 -2.9375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375
  -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm10.46875 -5.015625l0 -1.90625l1.90625 0l0 1.90625l-1.90625 0zm0 7.953125l0 -1.90625l1.90625 0l0 1.90625l-1.90625 0zm9.444733 -3.59375l1.671875 -0.21875q0.28125 1.421875 0.96875 2.046875q0.703125 0.625 1.6875 0.625q1.1875 0 2.0 -0.8125q0.8125 -0.828125 0.8125 -2.03125q0 -1.140625 -0.765625 -1.890625q-0.75 -0.75 -1.90625 -0.75q-0.46875 0 -1.171875 0.1875l0.1875 -1.46875q0.15625 0.015625 0.265625 0.015625q1.0625 0 1.90625 -0.546875q0.859375 -0.5625 0.859375 -1.71875q0 -0.921875 -0.625 -1.515625q-0.609375 -0.609375 -1.59375 -0.609375q-0.96875 0 -1.625 0.609375q
 -0.640625 0.609375 -0.828125 1.84375l-1.671875 -0.296875q0.296875 -1.6875 1.375 -2.609375q1.09375 -0.921875 2.71875 -0.921875q1.109375 0 2.046875 0.484375q0.9375 0.46875 1.421875 1.296875q0.5 0.828125 0.5 1.75q0 0.890625 -0.46875 1.609375q-0.46875 0.71875 -1.40625 1.15625q1.21875 0.265625 1.875 1.15625q0.671875 0.875 0.671875 2.1875q0 1.78125 -1.296875 3.015625q-1.296875 1.234375 -3.28125 1.234375q-1.796875 0 -2.984375 -1.0625q-1.171875 -1.0625 -1.34375 -2.765625z" fill-rule="nonzero"></path>
-<path fill="#000000" d="m21.360195 132.81502l0 -12.000008l-4.46875 0l0 -1.59375l10.765625 0l0 1.59375l-4.5 0l0 12.000008l-1.796875 0zm7.099106 -4.9218826q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.9062576 -0.578125 3.0000076q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125076zm1.71875 0q0 1.8906326 0.828125 2.8281326q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.8906326q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm12.938217 3.4218826l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.6562576l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75000
 76q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm7.964554 0.28125q-0.9375 0.796875 -1.796875 1.125q-0.859375 0.3125 -1.84375 0.3125q-1.609375 0 -2.484375 -0.78125q-0.875 -0.796875 -0.875 -2.03125q0 -0.734375 0.328125 -1.328125q0.328125 -0.59375 0.859375 -0.9531326q0.53125 -0.359375 1.203125 -0.546875q0.5 -0.140625 1.484375 -0.25q2.03125 -0.25 2.984375 -0.578125q0 -0.34375 0 -0.4375q0 -1.015625 -0.46875 -1.4375q-0.640625 -0.5625 -1.90625 -0.5625q-1.171875 0 -1.734375 0.40625q-0.5625 0.40625 -0.828125 1.46875l-1.640625 -0.234375q0.234375 -1.046875 0.734375 -1.6875q0.515625 -0.640625 1.46875 -0.984375q0.96875 -0.359375 2.25 -0.359375q1.265625 0 2.046875 0.296875q0.78125 0.296875 1.15625 0.75q0.375 0.453125 0.515625 1.140625q0.09375 0.421875 0.09375 1.53125l0 2.2343826q0 2.328125 0.09375 2.953125q0.109375 0.609375 0.4375 1.171875l-1.75 0q-0.265625 -0.515625 -0.328125 -1.21875zm-0.140625 -3.7187576q-0.90625 0.3
 5938263 -2.734375 0.6250076q-1.03125 0.140625 -1.453125 0.328125q-0.421875 0.1875 -0.65625 0.546875q-0.234375 0.359375 -0.234375 0.796875q0 0.671875 0.5 1.125q0.515625 0.4375 1.484375 0.4375q0.96875 0 1.71875 -0.421875q0.75 -0.4375 1.109375 -1.15625q0.265625 -0.578125 0.265625 -1.671875l0 -0.6093826zm4.047592 4.9375076l0 -13.593758l1.671875 0l0 13.593758l-1.671875 0zm9.359379 0l0 -9.859383l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625076l-1.671875 0l0 -6.0000076q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.3750076l-1.671875 0zm16.828842 0l0 -1.453125q-1.140625 1.671875 -3.125 1.671875q-0.859375 0 -1.625 -0.328125q-0.75 -0.34375 -1.125 -0.84375q-0.359375 -0.5 -0.515625 -1.234375q-0.09375 -0.5 -0.09375 -1.5625l0 -6.1093826l1.671875 0l
 0 5.4687576q0 1.3125 0.09375 1.765625q0.15625 0.65625 0.671875 1.03125q0.515625 0.375 1.265625 0.375q0.75 0 1.40625 -0.375q0.65625 -0.390625 0.921875 -1.046875q0.28125 -0.671875 0.28125 -1.9375l0 -5.2812576l1.671875 0l0 9.859383l-1.5 0zm3.9225922 0l0 -9.859383l1.5 0l0 1.390625q0.453125 -0.71875 1.21875 -1.15625q0.78125 -0.453125 1.765625 -0.453125q1.09375 0 1.796875 0.453125q0.703125 0.453125 0.984375 1.28125q1.171875 -1.734375 3.046875 -1.734375q1.46875 0 2.25 0.8125q0.796875 0.8125 0.796875 2.5l0 6.7656326l-1.671875 0l0 -6.2031326q0 -1.0 -0.15625 -1.4375q-0.15625 -0.453125 -0.59375 -0.71875q-0.421875 -0.265625 -1.0 -0.265625q-1.03125 0 -1.71875 0.6875q-0.6875 0.6875 -0.6875 2.21875l0 5.7187576l-1.671875 0l0 -6.4062576q0 -1.109375 -0.40625 -1.65625q-0.40625 -0.5625 -1.34375 -0.5625q-0.703125 0 -1.3125 0.375q-0.59375 0.359375 -0.859375 1.078125q-0.265625 0.71875 -0.265625 2.0625l0 5.1093826l-1.671875 0zm17.087677 0l-1.546875 0l0 -13.593758l1.65625 0l0 4.84375q1.0625 -1.328125 2.7031
 25 -1.328125q0.90625 0 1.71875 0.375q0.8125 0.359375 1.328125 1.03125q0.53125 0.65625 0.828125 1.59375q0.296875 0.9375 0.296875 2.0q0 2.5312576 -1.25 3.9218826q-1.25 1.375 -3.0 1.375q-1.75 0 -2.734375 -1.453125l0 1.234375zm-0.015625 -5.0000076q0 1.7656326 0.46875 2.5625076q0.796875 1.28125 2.140625 1.28125q1.09375 0 1.890625 -0.9375q0.796875 -0.953125 0.796875 -2.8437576q0 -1.921875 -0.765625 -2.84375q-0.765625 -0.921875 -1.84375 -0.921875q-1.09375 0 -1.890625 0.953125q-0.796875 0.953125 -0.796875 2.75zm15.594467 1.8281326l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.7343826q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.14063263 -0.015625 0.43750763l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.7031326
 l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm9.094467 5.8750076l0 -9.859383l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.1562576l-1.671875 0zm10.786606 -4.9218826q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.9062576 -0.578125 3.0000076q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125076zm1.71875 0q0 1.8906326 0.828125 2.8281326q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.8906326q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2
 .078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm9.688217 4.9218826l0 -8.546883l-1.484375 0l0 -1.3125l1.484375 0l0 -1.046875q0 -0.984375 0.171875 -1.46875q0.234375 -0.65625 0.84375 -1.046875q0.609375 -0.40625 1.703125 -0.40625q0.703125 0 1.5625 0.15625l-0.25 1.46875q-0.515625 -0.09375 -0.984375 -0.09375q-0.765625 0 -1.078125 0.328125q-0.3125 0.3125 -0.3125 1.203125l0 0.90625l1.921875 0l0 1.3125l-1.921875 0l0 8.546883l-1.65625 0z" fill-rule="nonzero"></path>
-<path fill="#000000" d="m17.68832 158.59627l0 -13.640625l1.53125 0l0 1.28125q0.53125 -0.75 1.203125 -1.125q0.6875 -0.375 1.640625 -0.375q1.265625 0 2.234375 0.65625q0.96875 0.640625 1.453125 1.828125q0.5 1.1875 0.5 2.59375q0 1.515625 -0.546875 2.734375q-0.546875 1.203125 -1.578125 1.84375q-1.03125 0.640625 -2.171875 0.640625q-0.84375 0 -1.515625 -0.34375q-0.65625 -0.359375 -1.078125 -0.890625l0 4.796875l-1.671875 0zm1.515625 -8.65625q0 1.90625 0.765625 2.8125q0.78125 0.90625 1.875 0.90625q1.109375 0 1.890625 -0.9375q0.796875 -0.9375 0.796875 -2.921875q0 -1.875 -0.78125 -2.8125q-0.765625 -0.9375 -1.84375 -0.9375q-1.0625 0 -1.890625 1.0q-0.8125 1.0 -0.8125 2.890625zm8.844467 4.875l0 -9.859375l1.5 0l0 1.5q0.578125 -1.046875 1.0625 -1.375q0.484375 -0.34375 1.078125 -0.34375q0.84375 0 1.71875 0.546875l-0.578125 1.546875q-0.609375 -0.359375 -1.234375 -0.359375q-0.546875 0 -0.984375 0.328125q-0.421875 0.328125 -0.609375 0.90625q-0.28125 0.890625 -0.28125 1.953125l0 5.15625l-1.671875 0zm5.6
 03302 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.9375 -0.828125 2.828125zm15.719467 1.3125l1.640625 0.21875q-0.265625 1.6875 -1.375 2.65625q-1.109375 0.953125 -2.734375 0.953125q-2.015625 0 -3.25 -1.3125q-1.21875 -1.328125 -1.21875 -3.796875q0 -1.59375 0.515625 -2.78125q0.53125 -1.203125 1.609375 -1.796875q1.09375 -0.609375 2.359375 -0.609375q1.609375 0 2.625 0.8125q1.015625 0.8125 1.3125 2.3125l-1.625 0.25q-0.234375 -1.0 -0.828125 -1.5q-0.59375 -0.5 -1.421875 -0.5q-1.265625 0 -2.0625 0.90625q-0.78125 0.90625 -
 0.78125 2.859375q0 1.984375 0.765625 2.890625q0.765625 0.890625 1.984375 0.890625q0.984375 0 1.640625 -0.59375q0.65625 -0.609375 0.84375 -1.859375zm9.640625 0.4375l1.71875 0.21875q-0.40625 1.5 -1.515625 2.34375q-1.09375 0.828125 -2.8125 0.828125q-2.15625 0 -3.421875 -1.328125q-1.265625 -1.328125 -1.265625 -3.734375q0 -2.484375 1.265625 -3.859375q1.28125 -1.375 3.328125 -1.375q1.984375 0 3.234375 1.34375q1.25 1.34375 1.25 3.796875q0 0.140625 -0.015625 0.4375l-7.34375 0q0.09375 1.625 0.921875 2.484375q0.828125 0.859375 2.0625 0.859375q0.90625 0 1.546875 -0.46875q0.65625 -0.484375 1.046875 -1.546875zm-5.484375 -2.703125l5.5 0q-0.109375 -1.234375 -0.625 -1.859375q-0.796875 -0.96875 -2.078125 -0.96875q-1.140625 0 -1.9375 0.78125q-0.78125 0.765625 -0.859375 2.046875zm8.438217 2.9375l1.6562538 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.562
 5q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.3593788 -0.609375 -0.3593788 -1.328125q0 -0.65625 0.2968788 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0000038 -0.796875 -1.2812538 -2.359375zm9.328129 0l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -
 1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm10.015625 -8.75l0 -1.90625l1.671875 0l0 1.90625l-1.671875 0zm0 11.6875l0 -9.859375l1.
 671875 0l0 9.859375l-1.671875 0zm4.129196 0l0 -9.859375l1.5 0l0 1.40625q1.09375 -1.625 3.140625 -1.625q0.890625 0 1.640625 0.328125q0.75 0.3125 1.109375 0.84375q0.375 0.515625 0.53125 1.21875q0.09375 0.46875 0.09375 1.625l0 6.0625l-1.671875 0l0 -6.0q0 -1.015625 -0.203125 -1.515625q-0.1875 -0.515625 -0.6875 -0.8125q-0.5 -0.296875 -1.171875 -0.296875q-1.0625 0 -1.84375 0.671875q-0.765625 0.671875 -0.765625 2.578125l0 5.375l-1.671875 0zm10.078842 0.8125l1.609375 0.25q0.109375 0.75 0.578125 1.09375q0.609375 0.453125 1.6875 0.453125q1.171875 0 1.796875 -0.46875q0.625 -0.453125 0.859375 -1.28125q0.125 -0.515625 0.109375 -2.15625q-1.09375 1.296875 -2.71875 1.296875q-2.03125 0 -3.15625 -1.46875q-1.109375 -1.46875 -1.109375 -3.515625q0 -1.40625 0.515625 -2.59375q0.515625 -1.203125 1.484375 -1.84375q0.96875 -0.65625 2.265625 -0.65625q1.75 0 2.875 1.40625l0 -1.1875l1.546875 0l0 8.515625q0 2.3125 -0.46875 3.265625q-0.46875 0.96875 -1.484375 1.515625q-1.015625 0.5625 -2.5 0.5625q-1.765625 0 -2.8
 59375 -0.796875q-1.078125 -0.796875 -1.03125 -2.390625zm1.375 -5.921875q0 1.953125 0.765625 2.84375q0.78125 0.890625 1.9375 0.890625q1.140625 0 1.921875 -0.890625q0.78125 -0.890625 0.78125 -2.78125q0 -1.8125 -0.8125 -2.71875q-0.796875 -0.921875 -1.921875 -0.921875q-1.109375 0 -1.890625 0.90625q-0.78125 0.890625 -0.78125 2.671875zm13.809021 2.171875l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.515625l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.64062
 5 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.28125 -2.359375zm9.96875 2.9375l0 -13.59375l1.671875 0l0 13.59375l-1.671875 0zm3.5510712 -4.921875q0 -2.734375 1.53125 -4.0625q1.265625 -1.09375 3.09375 -1.09375q2.03125 0 3.3125 1.34375q1.296875 1.328125 1.296875 3.671875q0 1.90625 -0.578125 3.0q-0.5625 1.078125 -1.65625 1.6875q-1.078125 0.59375 -2.375 0.59375q-2.0625 0 -3.34375 -1.328125q-1.28125 -1.328125 -1.28125 -3.8125zm1.71875 0q0 1.890625 0.828125 2.828125q0.828125 0.9375 2.078125 0.9375q1.25 0 2.0625 -0.9375q0.828125 -0.953125 0.828125 -2.890625q0 -1.828125 -0.828125 -2.765625q-0.828125 -0.9375 -2.0625 -0.9375q-1.25 0 -2.078125 0.9375q-0.828125 0.
 9375 -0.828125 2.828125zm12.938217 3.421875l0.234375 1.484375q-0.703125 0.140625 -1.265625 0.140625q-0.90625 0 -1.40625 -0.28125q-0.5 -0.296875 -0.703125 -0.75q-0.203125 -0.46875 -0.203125 -1.984375l0 -5.65625l-1.234375 0l0 -1.3125l1.234375 0l0 -2.4375l1.65625 -1.0l0 3.4375l1.6875 0l0 1.3125l-1.6875 0l0 5.75q0 0.71875 0.078125 0.921875q0.09375 0.203125 0.296875 0.328125q0.203125 0.125 0.578125 0.125q0.265625 0 0.734375 -0.078125zm0.85517883 -1.4375l1.65625 -0.265625q0.140625 1.0 0.765625 1.53125q0.640625 0.515625 1.78125 0.515625q1.15625 0 1.703125 -0.46875q0.5625 -0.46875 0.5625 -1.09375q0 -0.5625 -0.484375 -0.890625q-0.34375 -0.21875 -1.703125 -0.5625q-1.84375 -0.46875 -2.5625 -0.796875q-0.703125 -0.34375 -1.078125 -0.9375q-0.359375 -0.609375 -0.359375 -1.328125q0 -0.65625 0.296875 -1.21875q0.3125 -0.5625 0.828125 -0.9375q0.390625 -0.28125 1.0625 -0.484375q0.671875 -0.203125 1.4375 -0.203125q1.171875 0 2.046875 0.34375q0.875 0.328125 1.28125 0.90625q0.421875 0.5625 0.578125 1.5156
 25l-1.625 0.21875q-0.109375 -0.75 -0.65625 -1.171875q-0.53125 -0.4375 -1.5 -0.4375q-1.15625 0 -1.640625 0.390625q-0.484375 0.375 -0.484375 0.875q0 0.328125 0.203125 0.59375q0.203125 0.265625 0.640625 0.4375q0.25 0.09375 1.46875 0.4375q1.765625 0.46875 2.46875 0.765625q0.703125 0.296875 1.09375 0.875q0.40625 0.578125 0.40625 1.4375q0 0.828125 -0.484375 1.578125q-0.484375 0.734375 -1.40625 1.140625q-0.921875 0.390625 -2.078125 0.390625q-1.921875 0 -2.9375 -0.796875q-1.0 -0.796875 -1.2812

<TRUNCATED>

[34/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/ide_setup.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/ide_setup.html b/content/docs/0.9/internals/ide_setup.html
deleted file mode 100644
index 4267b4d..0000000
--- a/content/docs/0.9/internals/ide_setup.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: IDE setup</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>IDE setup</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#eclipse" id="markdown-toc-eclipse">Eclipse</a>    <ul>
-      <li><a href="#eclipse-scala-ide-303" id="markdown-toc-eclipse-scala-ide-303">Eclipse Scala IDE 3.0.3</a></li>
-      <li><a href="#eclipse-scala-ide-400" id="markdown-toc-eclipse-scala-ide-400">Eclipse Scala IDE 4.0.0</a></li>
-    </ul>
-  </li>
-  <li><a href="#intellij-idea" id="markdown-toc-intellij-idea">IntelliJ IDEA</a>    <ul>
-      <li><a href="#installing-the-scala-plugin" id="markdown-toc-installing-the-scala-plugin">Installing the Scala plugin</a></li>
-      <li><a href="#installing-the-scala-compiler-plugin" id="markdown-toc-installing-the-scala-compiler-plugin">Installing the Scala compiler plugin</a></li>
-      <li><a href="#importing-flink" id="markdown-toc-importing-flink">Importing Flink</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="eclipse">Eclipse</h2>
-
-<p>A brief guide how to set up Eclipse for development of the Flink core.
-Flink uses mixed Scala/Java projects, which pose a challenge to some IDEs.
-Below is the setup guide that works best from our personal experience.</p>
-
-<p>For Eclipse users, we currently recomment the Scala IDE 3.0.3, as the most robust solution.</p>
-
-<h3 id="eclipse-scala-ide-303">Eclipse Scala IDE 3.0.3</h3>
-
-<p><strong>NOTE:</strong> While this version of the Scala IDE is not the newest, we have found it to be the most reliably working
-version for complex projects like Flink. One restriction is, though, that it works only with Java 7, not with Java 8.</p>
-
-<p><strong>Note:</strong> Before following this setup, make sure to run the build from the command line once
-(<code>mvn clean package -DskipTests</code>)</p>
-
-<ol>
-  <li>Download the Scala IDE (preferred) or install the plugin to Eclipse Kepler. See section below for download links
-and instructions.</li>
-  <li>Add the “macroparadise” compiler plugin to the Scala compiler.
-Open “Window” -&gt; “Preferences” -&gt; “Scala” -&gt; “Compiler” -&gt; “Advanced” and put into the “Xplugin” field the path to
-the <em>macroparadise</em> jar file (typically “/home/<em>-your-user-</em>/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar”).
-Note: If you do not have the jar file, you probably did not ran the command line build.</li>
-  <li>Import the Flink Maven projects (“File” -&gt; “Import” -&gt; “Maven” -&gt; “Existing Maven Projects”)</li>
-  <li>During the import, Eclipse will ask to automatically install additional Maven build helper plugins.</li>
-  <li>Close the “flink-java8” project. Since Eclipse Kepler does not support Java 8, you cannot develop this project.</li>
-</ol>
-
-<h4 id="download-links-for-scala-ide-303">Download links for Scala IDE 3.0.3</h4>
-
-<p>The Scala IDE 3.0.3 is a previous stable release, and download links are a bit hidden.</p>
-
-<p>The pre-packaged Scala IDE can be downloaded from the following links:</p>
-
-<ul>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-linux.gtk.x86_64.tar.gz">Linux (64 bit)</a></li>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-linux.gtk.x86.tar.gz">Linux (32 bit)</a></li>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-macosx.cocoa.x86_64.zip">MaxOS X Cocoa (64 bit)</a></li>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-macosx.cocoa.x86.zip">MaxOS X Cocoa (32 bit)</a></li>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-win32.win32.x86_64.zip">Windows (64 bit)</a></li>
-  <li><a href="http://downloads.typesafe.com/scalaide-pack/3.0.3.vfinal-210-20140327/scala-SDK-3.0.3-2.10-win32.win32.x86.zip">Windows (32 bit)</a></li>
-</ul>
-
-<p>Alternatively, you can download Eclipse Kepler from <a href="https://eclipse.org/downloads/packages/release/Kepler/SR2">https://eclipse.org/downloads/packages/release/Kepler/SR2</a>
-and manually add the Scala and Maven plugins by plugin site at <a href="http://scala-ide.org/download/prev-stable.html">http://scala-ide.org/download/prev-stable.html</a>.</p>
-
-<ul>
-  <li>Either use the update site to install the plugin (“Help” -&gt; “Install new Software”)</li>
-  <li>Or download the <a href="http://download.scala-ide.org/sdk/helium/e38/scala211/stable/update-site.zip">zip file</a>, unpack it, and move the contents of the
-“plugins” and “features” folders into the equally named folders of the Eclipse root directory</li>
-</ul>
-
-<h3 id="eclipse-scala-ide-400">Eclipse Scala IDE 4.0.0</h3>
-
-<p><strong>NOTE: From personal experience, the use of the Scala IDE 4.0.0 performs worse than previous versions for complex projects like Flink.</strong>
-<strong>Version 4.0.0 does not handle mixed Java/Scala projects as robustly and it frequently raises incorrect import and type errors.</strong></p>
-
-<p><em>Note:</em> Before following this setup, make sure to run the build from the command line once
-(<code>mvn clean package -DskipTests</code>)</p>
-
-<ol>
-  <li>Download the Scala IDE: <a href="http://scala-ide.org/download/sdk.html">http://scala-ide.org/download/sdk.html</a></li>
-  <li>Import the Flink Maven projects (File -&gt; Import -&gt; Maven -&gt; Existing Maven Projects)</li>
-  <li>While importing the Flink project, the IDE may ask you to install an additional maven build helper plugin.</li>
-  <li>After the import, you need to set the Scala version of your projects to Scala 2.10 (from the default 2.11). 
-To do that, select all projects that contain Scala code (marked by the small <em>S</em> on the project icon),
-right click and select “Scala -&gt; Set the Scala Installation” and pick “2.10.4”.
-Currently, the project to which that is relevant are “flink-runtime”, “flink-scala”, “flink-scala-examples”,
-“flink-streaming-example”, “flink-streaming-scala”, “flink-tests”, “flink-test-utils”, and “flink-yarn”.</li>
-  <li>Depending on your version of the Scala IDE, you may need to add the “macroparadise” compiler plugin to the
-Scala compiler. Open “Window” -&gt; “Preferences” -&gt; “Scala” -&gt; “Compiler” -&gt; “Advanced” and put into the “Xplugin” field
-the path to the <em>macroparadise</em> jar file (typically “/home/<em>-your-user-</em>/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar”)</li>
-  <li>In order to compile the “flink-java-8” project, you may need to add a Java 8 execution environment.
-See <a href="http://stackoverflow.com/questions/25391207/how-do-i-add-execution-environment-1-8-to-eclipse-luna">this post</a>
-for details.</li>
-</ol>
-
-<h2 id="intellij-idea">IntelliJ IDEA</h2>
-
-<p>A brief guide on how to set up IntelliJ IDEA IDE for development of the Flink core.
-As Eclipse is known to have issues with mixed Scala and Java projects, more and more contributers are migrating to IntelliJ IDEA.</p>
-
-<p>The following documentation describes the steps to setup IntelliJ IDEA 14.0.3 (https://www.jetbrains.com/idea/download/) with the Flink sources.</p>
-
-<p>Prior to doing anything, make sure that the Flink project is built at least once from the terminal:
-<code>mvn clean package -DskipTests</code></p>
-
-<h3 id="installing-the-scala-plugin">Installing the Scala plugin</h3>
-<ol>
-  <li>Go to IntelliJ plugins settings (File -&gt; Settings -&gt; Plugins) and click on “Install Jetbrains plugin…”.</li>
-  <li>Select and install the “Scala” plugin.</li>
-  <li>Restart IntelliJ</li>
-</ol>
-
-<h3 id="installing-the-scala-compiler-plugin">Installing the Scala compiler plugin</h3>
-<ol>
-  <li>Go to IntelliJ scala compiler settings (File -&gt; Settings -&gt; Build, Execution, Deployment -&gt; Compiler -&gt; Scala Compiler) and click on “Install Jetbrains plugin…”.</li>
-  <li>Click on the green plus icon on the right to add a compiler plugin</li>
-  <li>Point to the paradise jar: ~/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar If there is no such file, this means that you should build Flink from the terminal as explained above.</li>
-</ol>
-
-<h3 id="importing-flink">Importing Flink</h3>
-<ol>
-  <li>Start IntelliJ IDEA and choose “Import Project”</li>
-  <li>Select the root folder of the Flink repository</li>
-  <li>Choose “Import project from external model” and select “Maven”</li>
-  <li>Leave the default options and finish the import.</li>
-</ol>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/index.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/index.html b/content/docs/0.9/internals/index.html
deleted file mode 100644
index c81c9e5..0000000
--- a/content/docs/0.9/internals/index.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Internals</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Internals</h1>
-
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/job_scheduling.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/job_scheduling.html b/content/docs/0.9/internals/job_scheduling.html
deleted file mode 100644
index 1f1cbde..0000000
--- a/content/docs/0.9/internals/job_scheduling.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Jobs and Scheduling</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Jobs and Scheduling</h1>
-
-
-
-<p>This document briefly describes how Flink schedules jobs and 
-how it represents and tracks job status on the JobManager.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#scheduling" id="markdown-toc-scheduling">Scheduling</a></li>
-  <li><a href="#jobmanager-data-structures" id="markdown-toc-jobmanager-data-structures">JobManager Data Structures</a></li>
-</ul>
-
-<h2 id="scheduling">Scheduling</h2>
-
-<p>Execution resources in Flink are defined through <em>Task Slots</em>. Each TaskManager will have one or more task slots,
-each of which can run one pipeline of parallel tasks. A pipeline consists of multiple successive tasks, such as the
-<em>n-th</em> parallel instance of a MapFunction together with the <em>n-th</em> parallel instance of a ReduceFunction.
-Note that Flink often executes successive tasks concurrently: For Streaming programs, that happens in any case,
-but also for batch programs, it happens frequently.</p>
-
-<p>The figure below illustrates that. Consider a program with a data source, a <em>MapFunction</em>, and a <em>ReduceFunction</em>.
-The source and MapFunction are executed with a parallelism of 4, while the ReduceFunction is executed with a
-parallism of 3. A pipeline consists of the sequence Source - Map - Reduce. On a cluster with 2 TaskManagers with
-3 slots each, the program will be executed as described below.</p>
-
-<div style="text-align: center;">
-<img src="fig/slots.svg" alt="Assigning Pipelines of Tasks to Slots" height="250px" style="text-align: center;" />
-</div>
-
-<p>Internally, Flink defines through <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/jobmanager/scheduler/SlotSharingGroup.java">SlotSharingGroup</a> 
-and <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/jobmanager/scheduler/CoLocationGroup.java">CoLocationGroup</a>
-which tasks may share a slot (permissive), respectively which tasks must be strictly placed into the same slot.</p>
-
-<h2 id="jobmanager-data-structures">JobManager Data Structures</h2>
-
-<p>During job execution, the JobManager keeps track of distributed tasks, decides when to schedule the next task (or set of tasks),
-and reacts to finished tasks or execution failures.</p>
-
-<p>The JobManager receives the <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/jobgraph/">JobGraph</a>,
-which is a representation of the data flow consisting of operators (<a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/jobgraph/AbstractJobVertex.java">JobVertex</a>)
-and intermediate results (<a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/jobgraph/IntermediateDataSet.java">IntermediateDataSet</a>).
-Each operator has properies, like the parallelism and the code that it executes.
-In addition, the JobGraph has a set of attached libraries, that are neccessary to execute the code of the operators.</p>
-
-<p>The JobManager transforms the JobGraph into an <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/">ExecutionGraph</a>.
-The ExecutionGraph is a parallel version of the JobGraph: For each JobVertex, it contains an <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/ExecutionVertex.java">ExecutionVertex</a> per parallel subtask. An operator with a parallelism of 100 will have one JobVertex and 100 ExecutionVertices.
-The ExecutionVertex tracks the state of execution of a particular subtask. All ExecutionVertices from one JobVertex are held in an
-<a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/ExecutionJobVertex.java">ExecutionJobVertex</a>,
-which tracks the status of the operator as a whole. 
-Besides the vertices, the ExecutionGraph also contains the <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/IntermediateResult.java">IntermediateResult</a> and the <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/IntermediateResultPartition.java">IntermediateResultPartition</a>. The former tracks the state of the <em>IntermediateDataSet</em>, the latter the state of each of its partitions.</p>
-
-<div style="text-align: center;">
-<img src="fig/job_and_execution_graph.svg" alt="JobGraph and ExecutionGraph" height="400px" style="text-align: center;" />
-</div>
-
-<p>During its execution, each parallel task goes through multiple stages, from <em>created</em> to <em>finished</em> or <em>failed</em>. The diagram below illustrates the 
-states and possible transitions between them. A task may be executed multiple times (for example in the course of failure recovery).
-For that reason, the execution of an ExecutionVertex is tracked in an <a href="https://github.com/apache/flink/blob/master//flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/Execution.java">Execution</a>. Each ExecutionVertex has a current Execution, and prior Executions.</p>
-
-<div style="text-align: center;">
-<img src="fig/state_machine.svg" alt="States and Transitions of Task Executions" height="300px" style="text-align: center;" />
-</div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/logging.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/logging.html b/content/docs/0.9/internals/logging.html
deleted file mode 100644
index a02a88c..0000000
--- a/content/docs/0.9/internals/logging.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: How to use logging</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>How to use logging</h1>
-
-
-
-<p>The logging in Flink is implemented using the slf4j logging interface. As underlying logging framework, log4j is used. We also provide logback configuration files and pass them to the JVM’s as properties. Users willing to use logback instead of log4j can just exclude log4j (or delete it from the lib/ folder).</p>
-
-<ul id="markdown-toc">
-  <li><a href="#configuring-log4j" id="markdown-toc-configuring-log4j">Configuring Log4j</a></li>
-  <li><a href="#configuring-logback" id="markdown-toc-configuring-logback">Configuring logback</a></li>
-  <li><a href="#best-practices-for-developers" id="markdown-toc-best-practices-for-developers">Best practices for developers</a></li>
-</ul>
-
-<h2 id="configuring-log4j">Configuring Log4j</h2>
-
-<p>Log4j is controlled using property files. In Flink’s case, the file is usually called <code>log4j.properties</code>. We pass the filename and location of this file using the <code>-Dlog4j.configuration=</code> parameter to the JVM.</p>
-
-<h2 id="configuring-logback">Configuring logback</h2>
-
-<p>For users and developers alike it is important to control the logging framework. 
-The configuration of the logging framework is exclusively done by configuration files.
-The configuration file either has to be specified by setting the environment property <code>-Dlogback.configurationFile=&lt;file&gt;</code> or by putting <code>logback.xml</code> in the classpath.
-The <code>conf</code> directory contains a <code>logback.xml</code> file which can be modified and is used if Flink is started outside of an IDE and with the provided starting scripts.
-The provided <code>logback.xml</code> has the following form:</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;configuration&gt;</span>
-    <span class="nt">&lt;appender</span> <span class="na">name=</span><span class="s">&quot;file&quot;</span> <span class="na">class=</span><span class="s">&quot;ch.qos.logback.core.FileAppender&quot;</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;file&gt;</span>${log.file}<span class="nt">&lt;/file&gt;</span>
-        <span class="nt">&lt;append&gt;</span>false<span class="nt">&lt;/append&gt;</span>
-        <span class="nt">&lt;encoder&gt;</span>
-            <span class="nt">&lt;pattern&gt;</span>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{60} %X{sourceThread} - %msg%n<span class="nt">&lt;/pattern&gt;</span>
-        <span class="nt">&lt;/encoder&gt;</span>
-    <span class="nt">&lt;/appender&gt;</span>
-
-    <span class="nt">&lt;root</span> <span class="na">level=</span><span class="s">&quot;INFO&quot;</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;appender-ref</span> <span class="na">ref=</span><span class="s">&quot;file&quot;</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;/root&gt;</span>
-<span class="nt">&lt;/configuration&gt;</span></code></pre></div>
-
-<p>In order to control the logging level of <code>org.apache.flink.runtime.jobgraph.JobGraph</code>, for example, one would have to add the following line to the configuration file.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;logger</span> <span class="na">name=</span><span class="s">&quot;org.apache.flink.runtime.jobgraph.JobGraph&quot;</span> <span class="na">level=</span><span class="s">&quot;DEBUG&quot;</span><span class="nt">/&gt;</span></code></pre></div>
-
-<p>For further information on configuring logback see <a href="http://logback.qos.ch/manual/configuration.html">LOGback’s manual</a>.</p>
-
-<h2 id="best-practices-for-developers">Best practices for developers</h2>
-
-<p>The loggers using slf4j are created by calling</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kn">import</span> <span class="nn">org.slf4j.LoggerFactory</span>
-<span class="kn">import</span> <span class="nn">org.slf4j.Logger</span>
-
-<span class="n">Logger</span> <span class="n">LOG</span> <span class="o">=</span> <span class="n">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="n">Foobar</span><span class="o">.</span><span class="na">class</span><span class="o">)</span></code></pre></div>
-
-<p>In order to benefit most from slf4j, it is recommended to use its placeholder mechanism.
-Using placeholders allows to avoid unnecessary string constructions in case that the logging level is set so high that the message would not be logged.
-The syntax of placeholders is the following:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">&quot;This message contains {} placeholders. {}&quot;</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="s">&quot;Yippie&quot;</span><span class="o">);</span></code></pre></div>
-
-<p>Placeholders can also be used in conjunction with exceptions which shall be logged.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="k">catch</span><span class="o">(</span><span class="n">Exception</span> <span class="n">exception</span><span class="o">){</span>
-	<span class="n">LOG</span><span class="o">.</span><span class="na">error</span><span class="o">(</span><span class="s">&quot;An {} occurred.&quot;</span><span class="o">,</span> <span class="s">&quot;error&quot;</span><span class="o">,</span> <span class="n">exception</span><span class="o">);</span>
-<span class="o">}</span></code></pre></div>
-
-<hr />
-
-<p><em>This documentation is maintained by the contributors of the individual components.
-We kindly ask anyone that adds and changes components to eventually provide a patch
-or pull request that updates these documents as well.</em></p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[62/68] [abbrv] flink-web git commit: [FLINK-2300] fix tag for rendering github links

Posted by an...@apache.org.
[FLINK-2300] fix tag for rendering github links


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/a715a56c
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/a715a56c
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/a715a56c

Branch: refs/heads/master
Commit: a715a56cf67c84d00064537b93ee701d3050b490
Parents: 9760e5e
Author: Maximilian Michels <mx...@apache.org>
Authored: Mon Jul 13 18:43:08 2015 +0200
Committer: Maximilian Michels <mx...@apache.org>
Committed: Mon Jul 13 18:43:08 2015 +0200

----------------------------------------------------------------------
 _plugins/github.rb    | 10 +++++++---
 content/css/flink.css |  4 ++++
 content/faq.html      |  4 ++--
 3 files changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/a715a56c/_plugins/github.rb
----------------------------------------------------------------------
diff --git a/_plugins/github.rb b/_plugins/github.rb
index 6d700be..5676fb0 100644
--- a/_plugins/github.rb
+++ b/_plugins/github.rb
@@ -5,10 +5,10 @@ module Jekyll
       super
       @input = input
     end
-# Usage: github $PATH [$TAG: master]
+# Usage: github $PATH [$TAG: master] [$TEXT]
     
     def render(context)
-      input = @input.sub(/".*"/, "").split
+      input = @input.gsub(/"/, "").split
       config = context.registers[:site].config
 
       path = input[0]
@@ -18,7 +18,11 @@ module Jekyll
       # 2. "master" (default)
       gh_tag = input[1].nil? ? "master" : input[1]
 
-      "#{config["github"]}/tree/#{gh_tag}/#{path}"
+      url = "#{config["github"]}/tree/#{gh_tag}/#{path}"
+
+      text = input.length > 2 ? input[2..-1].join(" ") : url
+
+      "<a href='#{url}'>#{text}</a>"
     end
   end
 end

http://git-wip-us.apache.org/repos/asf/flink-web/blob/a715a56c/content/css/flink.css
----------------------------------------------------------------------
diff --git a/content/css/flink.css b/content/css/flink.css
index 7ad2694..7e04d60 100644
--- a/content/css/flink.css
+++ b/content/css/flink.css
@@ -148,6 +148,10 @@ code {
 	width: 100%;
 }
 
+.img-column {
+    text-align: center;
+}
+
 #disqus_thread {
 	padding-top: 3em;
 }

http://git-wip-us.apache.org/repos/asf/flink-web/blob/a715a56c/content/faq.html
----------------------------------------------------------------------
diff --git a/content/faq.html b/content/faq.html
index 78dd9b1..85b5f81 100644
--- a/content/faq.html
+++ b/content/faq.html
@@ -360,7 +360,7 @@ breaks.</p>
     at org.apache.flinkruntime.fs.hdfs.DistributedFileSystem.initialize<span class="o">(</span>DistributedFileSystem.java:276</code></pre></div>
 
 <p>Please refer to the <a href="/downloads.html#maven">download page</a> and
-the https://github.com/apache/flink/tree/master/README.md
+the <a href="https://github.com/apache/flink/tree/master/README.md">build instructions</a>
 for details on how to set up Flink for different Hadoop and HDFS versions.</p>
 
 <h3 id="my-job-fails-with-various-exceptions-from-the-hdfshadoop-code-what-can-i-do">My job fails with various exceptions from the HDFS/Hadoop code. What can I do?</h3>
@@ -591,7 +591,7 @@ This mechanism is both efficient and flexible. See the documentation on <a href=
 <p><a href="http://ci.apache.org/projects/flink/flink-docs-master/apis/programming_guide.html#accumulators--counters">Flink’s Accumulators</a> work very similar like
 Hadoop’s counters, but are more powerful.</p>
 
-<p>Flink has a <a href="https://github.com/apache/flink/tree/master/flink-core/src/main/java/org/apache/flink/api/common/cache/DistributedCache.java">Distributed Cache</a> that is deeply integrated with the APIs. Please refer to the <a href="https://github.com/apache/flink/tree/master/flink-java/src/main/java/org/apache/flink/api/java/ExecutionEnvironment.java#L561">JavaDocs</a> for details on how to use it.</p>
+<p>Flink has a <a href="https://github.com/apache/flink/tree/master/flink-core/src/main/java/org/apache/flink/api/common/cache/DistributedCache.java">Distributed Cache</a> that is deeply integrated with the APIs. Please refer to the <a href="https://github.com/apache/flink/tree/master/flink-java/src/main/java/org/apache/flink/api/java/ExecutionEnvironment.java#L831">JavaDocs</a> for details on how to use it.</p>
 
 <p>In order to make data sets available on all tasks, we encourage you to use <a href="http://ci.apache.org/projects/flink/flink-docs-master/apis/programming_guide.html#broadcast-variables">Broadcast Variables</a> instead. They are more efficient and easier to use than the distributed cache.</p>
 


[42/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/streaming_guide.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/streaming_guide.html b/content/docs/0.9/apis/streaming_guide.html
deleted file mode 100644
index f0ba539..0000000
--- a/content/docs/0.9/apis/streaming_guide.html
+++ /dev/null
@@ -1,1944 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Flink Stream Processing API</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Flink Stream Processing API <span class="badge">Beta</span></h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>Flink Streaming is a system for high-throughput, low-latency data stream processing. Flink Streaming natively supports <a href="#stateful-computation">stateful computation</a>, data-driven <a href="#window-operators">windowing semantics</a> and <a href="#iterations">iterative</a> stream processing. The system can connect to and process data streams from different data sources like file sources, web sockets, message queues (Apache Kafka, RabbitMQ, Twitter Streaming API …), and also from any user defined data sources. Data streams can be transformed and modified to create new data streams using high-level functions similar to the ones provided by the batch processing API.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#flink-streaming-api" id="markdown-toc-flink-streaming-api">Flink Streaming API</a></li>
-  <li><a href="#example-program" id="markdown-toc-example-program">Example Program</a></li>
-  <li><a href="#program-skeleton" id="markdown-toc-program-skeleton">Program Skeleton</a></li>
-  <li><a href="#basics" id="markdown-toc-basics">Basics</a>    <ul>
-      <li><a href="#datastream" id="markdown-toc-datastream">DataStream</a></li>
-      <li><a href="#object-reuse-behavior" id="markdown-toc-object-reuse-behavior">Object Reuse Behavior</a></li>
-      <li><a href="#partitioning" id="markdown-toc-partitioning">Partitioning</a></li>
-      <li><a href="#connecting-to-the-outside-world" id="markdown-toc-connecting-to-the-outside-world">Connecting to the outside world</a></li>
-    </ul>
-  </li>
-  <li><a href="#transformations" id="markdown-toc-transformations">Transformations</a>    <ul>
-      <li><a href="#basic-transformations" id="markdown-toc-basic-transformations">Basic transformations</a></li>
-      <li><a href="#grouped-operators" id="markdown-toc-grouped-operators">Grouped operators</a></li>
-      <li><a href="#aggregations" id="markdown-toc-aggregations">Aggregations</a></li>
-      <li><a href="#window-operators" id="markdown-toc-window-operators">Window operators</a></li>
-      <li><a href="#temporal-database-style-operators" id="markdown-toc-temporal-database-style-operators">Temporal database style operators</a></li>
-      <li><a href="#co-operators" id="markdown-toc-co-operators">Co operators</a></li>
-      <li><a href="#output-splitting" id="markdown-toc-output-splitting">Output splitting</a></li>
-      <li><a href="#iterations" id="markdown-toc-iterations">Iterations</a></li>
-      <li><a href="#rich-functions" id="markdown-toc-rich-functions">Rich functions</a></li>
-    </ul>
-  </li>
-  <li><a href="#stateful-computation" id="markdown-toc-stateful-computation">Stateful computation</a></li>
-  <li><a href="#lambda-expressions-with-java-8" id="markdown-toc-lambda-expressions-with-java-8">Lambda expressions with Java 8</a></li>
-  <li><a href="#operator-settings" id="markdown-toc-operator-settings">Operator Settings</a>    <ul>
-      <li><a href="#parallelism" id="markdown-toc-parallelism">Parallelism</a></li>
-      <li><a href="#buffer-timeout" id="markdown-toc-buffer-timeout">Buffer timeout</a></li>
-    </ul>
-  </li>
-  <li><a href="#stream-connectors" id="markdown-toc-stream-connectors">Stream connectors</a>    <ul>
-      <li><a href="#apache-kafka" id="markdown-toc-apache-kafka">Apache Kafka</a></li>
-      <li><a href="#rabbitmq" id="markdown-toc-rabbitmq">RabbitMQ</a></li>
-      <li><a href="#twitter-streaming-api" id="markdown-toc-twitter-streaming-api">Twitter Streaming API</a></li>
-      <li><a href="#docker-containers-for-connectors" id="markdown-toc-docker-containers-for-connectors">Docker containers for connectors</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="flink-streaming-api">Flink Streaming API</h2>
-
-<p>The Streaming API is currently part of the <em>flink-staging</em> Maven project. All relevant classes are located in the <em>org.apache.flink.streaming</em> package.</p>
-
-<p>Add the following dependency to your <code>pom.xml</code> to use the Flink Streaming.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-streaming-core<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-streaming-scala<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>In order to create your own Flink Streaming program, we encourage you to start with the <a href="#program-skeleton">skeleton</a> and gradually add your own <a href="#transformations">transformations</a>. The remaining sections act as references for additional transformations and advanced features.</p>
-
-<h2 id="example-program">Example Program</h2>
-
-<p>The following program is a complete, working example of streaming WordCount, that incrementally counts the words coming from a web socket. You can copy &amp; paste the code to run it locally.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">StreamingWordCount</span> <span class="o">{</span>
-
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
-
-        <span class="n">StreamExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">StreamExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-        
-        <span class="n">DataStream</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">dataStream</span> <span class="o">=</span> <span class="n">env</span>
-                <span class="o">.</span><span class="na">socketTextStream</span><span class="o">(</span><span class="s">&quot;localhost&quot;</span><span class="o">,</span> <span class="mi">9999</span><span class="o">)</span>
-                <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Splitter</span><span class="o">())</span>
-                <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-                <span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
-        
-        <span class="n">dataStream</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-        
-        <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="s">&quot;Socket Stream WordCount&quot;</span><span class="o">);</span>
-    <span class="o">}</span>
-    
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">Splitter</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-        <span class="nd">@Override</span>
-        <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">sentence</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-            <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="nl">word:</span> <span class="n">sentence</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">))</span> <span class="o">{</span>
-                <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;(</span><span class="n">word</span><span class="o">,</span> <span class="mi">1</span><span class="o">));</span>
-            <span class="o">}</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-    
-<span class="o">}</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">object</span> <span class="nc">WordCount</span> <span class="o">{</span>
-  <span class="k">def</span> <span class="n">main</span><span class="o">(</span><span class="n">args</span><span class="k">:</span> <span class="kt">Array</span><span class="o">[</span><span class="kt">String</span><span class="o">])</span> <span class="o">{</span>
-
-    <span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">StreamExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-    <span class="k">val</span> <span class="n">text</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">socketTextStream</span><span class="o">(</span><span class="s">&quot;localhost&quot;</span><span class="o">,</span> <span class="mi">9999</span><span class="o">)</span>
-
-    <span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">text</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">toLowerCase</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">)</span> <span class="n">filter</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">nonEmpty</span> <span class="o">}</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-      <span class="o">.</span><span class="n">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-
-    <span class="n">counts</span><span class="o">.</span><span class="n">print</span>
-
-    <span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="o">(</span><span class="s">&quot;Scala Socket Stream WordCount&quot;</span><span class="o">)</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p>To run the example program, start the input stream with netcat first from a terminal:</p>
-
-<div class="highlight"><pre><code class="language-bash">nc -lk 9999</code></pre></div>
-
-<p>The lines typed to this terminal will be the source data stream for your streaming job.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="program-skeleton">Program Skeleton</h2>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <p>As presented in the <a href="#example-program">example</a>, a Flink Streaming program looks almost identical to a regular Flink program. Each stream processing program consists of the following parts:</p>
-
-    <ol>
-      <li>Obtaining a <code>StreamExecutionEnvironment</code>,</li>
-      <li>Connecting to data stream sources,</li>
-      <li>Specifying transformations on the data streams,</li>
-      <li>Specifying output for the processed data,</li>
-      <li>Executing the program.</li>
-    </ol>
-
-    <p>As these steps are basically the same as in the batch API, we will only note the important differences.
-For stream processing jobs, the user needs to obtain a <code>StreamExecutionEnvironment</code> in contrast with the <a href="programming_guide.html#program-skeleton">batch API</a> where one would need an <code>ExecutionEnvironment</code>. Otherwise, the process is essentially the same:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">StreamExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">StreamExecutionEnvironment</span><span class="o">.</span><span class="na">createLocalEnvironment</span><span class="o">(</span><span class="n">parallelism</span><span class="o">);</span>
-<span class="n">StreamExecutionEnvironment</span><span class="o">.</span><span class="na">createRemoteEnvironment</span><span class="o">(</span><span class="n">String</span> <span class="n">host</span><span class="o">,</span> <span class="kt">int</span> <span class="n">port</span><span class="o">,</span> <span class="kt">int</span> <span class="n">parallelism</span><span class="o">,</span> <span class="n">String</span><span class="o">...</span> <span class="n">jarFiles</span><span class="o">);</span></code></pre></div>
-
-    <p>For connecting to data streams the <code>StreamExecutionEnvironment</code> has many different methods, from basic file sources to completely general user defined data sources. We will go into details in the <a href="#basics">basics</a> section.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">env</span><span class="o">.</span><span class="na">socketTextStream</span><span class="o">(</span><span class="n">host</span><span class="o">,</span> <span class="n">port</span><span class="o">);</span>
-<span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span><span class="n">elements</span><span class="err">…</span><span class="o">);</span>
-<span class="n">env</span><span class="o">.</span><span class="na">addSource</span><span class="o">(</span><span class="n">sourceFunction</span><span class="o">)</span></code></pre></div>
-
-    <p>After defining the data stream sources the user can specify transformations on the data streams to create a new data stream. Different data streams can be also combined together for joint transformations which are being showcased in the <a href="#transformations">transformations</a> section.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="n">mapFunction</span><span class="o">).</span><span class="na">reduce</span><span class="o">(</span><span class="n">reduceFunction</span><span class="o">);</span></code></pre></div>
-
-    <p>The processed data can be pushed to different outputs called sinks. The user can define their own sinks or use any predefined filesystem, message queue or database sink.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">path</span><span class="o">);</span>
-<span class="n">dataStream</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-<span class="n">dataStream</span><span class="o">.</span><span class="na">addSink</span><span class="o">(</span><span class="n">sinkFunction</span><span class="o">)</span></code></pre></div>
-
-    <p>Once the complete program is specified <code>execute(programName)</code> is to be called on the <code>StreamExecutionEnvironment</code>. This will either execute on the local machine or submit the program for execution on a cluster, depending on the chosen execution environment.</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="n">programName</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <p>As presented in the <a href="#example-program">example</a> a Flink Streaming program looks almost identical to a regular Flink program. Each stream processing program consists of the following parts:</p>
-
-    <ol>
-      <li>Obtaining a <code>StreamExecutionEnvironment</code>,</li>
-      <li>Connecting to data stream sources,</li>
-      <li>Specifying transformations on the data streams,</li>
-      <li>Specifying output for the processed data,</li>
-      <li>Executing the program.</li>
-    </ol>
-
-    <p>As these steps are basically the same as in the batch API we will only note the important differences.
-For stream processing jobs, the user needs to obtain a <code>StreamExecutionEnvironment</code> in contrast with the <a href="programming_guide.html#program-skeleton">batch API</a> where one would need an <code>ExecutionEnvironment</code>. The process otherwise is essentially the same:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="nc">StreamExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-<span class="nc">StreamExecutionEnvironment</span><span class="o">.</span><span class="n">createLocalEnvironment</span><span class="o">(</span><span class="n">parallelism</span><span class="o">)</span>
-<span class="nc">StreamExecutionEnvironment</span><span class="o">.</span><span class="n">createRemoteEnvironment</span><span class="o">(</span><span class="n">host</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">port</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">parallelism</span><span class="k">:</span> <span class="kt">Int</span><span class="o">,</span> <span class="n">jarFiles</span><span class="k">:</span> <span class="kt">String*</span><span class="o">)</span></code></pre></div>
-
-    <p>For connecting to data streams the <code>StreamExecutionEnvironment</code> has many different methods, from basic file sources to completely general user defined data sources. We will go into details in the <a href="#basics">basics</a> section.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">env</span><span class="o">.</span><span class="n">socketTextStream</span><span class="o">(</span><span class="n">host</span><span class="o">,</span> <span class="n">port</span><span class="o">)</span>
-<span class="n">env</span><span class="o">.</span><span class="n">fromElements</span><span class="o">(</span><span class="n">elements</span><span class="err">…</span><span class="o">)</span>
-<span class="n">env</span><span class="o">.</span><span class="n">addSource</span><span class="o">(</span><span class="n">sourceFunction</span><span class="o">)</span></code></pre></div>
-
-    <p>After defining the data stream sources the user can specify transformations on the data streams to create a new data stream. Different data streams can be also combined together for joint transformations which are being showcased in the <a href="#transformations">transformations</a> section.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">map</span><span class="o">(</span><span class="n">mapFunction</span><span class="o">).</span><span class="n">reduce</span><span class="o">(</span><span class="n">reduceFunction</span><span class="o">)</span></code></pre></div>
-
-    <p>The processed data can be pushed to different outputs called sinks. The user can define their own sinks or use any predefined filesystem, message queue or database sink.</p>
-
-    <p>For example:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">writeAsCsv</span><span class="o">(</span><span class="n">path</span><span class="o">)</span>
-<span class="n">dataStream</span><span class="o">.</span><span class="n">print</span>
-<span class="n">dataStream</span><span class="o">.</span><span class="n">addSink</span><span class="o">(</span><span class="n">sinkFunction</span><span class="o">)</span></code></pre></div>
-
-    <p>Once the complete program is specified <code>execute(programName)</code> is to be called on the <code>StreamExecutionEnvironment</code>. This will either execute on the local machine or submit the program for execution on a cluster, depending on the chosen execution environment.</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="o">(</span><span class="n">programName</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="basics">Basics</h2>
-
-<h3 id="datastream">DataStream</h3>
-
-<p>The <code>DataStream</code> is the basic data abstraction provided by Flink Streaming. It represents a continuous, parallel, immutable stream of data of a certain type. By applying transformations the user can create new data streams or output the results of the computations. For instance the map transformation creates a new <code>DataStream</code> by applying a user defined function on each element of a given <code>DataStream</code></p>
-
-<p>The transformations may return different data stream types allowing more elaborate transformations, for example the <code>groupBy(…)</code> method returns a <code>GroupedDataStream</code> which can be used for grouped transformations such as aggregating by key. We will discover more elaborate data stream types in the upcoming sections.</p>
-
-<h3 id="object-reuse-behavior">Object Reuse Behavior</h3>
-
-<p>Apache Flink is trying to reduce the number of object allocations for better performance.</p>
-
-<p>By default, user defined functions (like <code>map()</code> or <code>reduce()</code>) are getting new objects on each call
-(or through an iterator). So it is possible to keep references to the objects inside the function
-(for example in a List).</p>
-
-<p>There is a switch at the <code>ExectionConfig</code> which allows users to enable the object reuse mode:</p>
-
-<p><code>
-env.getExecutionConfig().enableObjectReuse()
-</code></p>
-
-<p>For mutable types, Flink will reuse object
-instances. In practice that means that a <code>map()</code> function will always receive the same object
-instance (with its fields set to new values). The object reuse mode will lead to better performance
-because fewer objects are created, but the user has to manually take care of what they are doing
-with the object references.</p>
-
-<h3 id="partitioning">Partitioning</h3>
-
-<p>Partitioning controls how individual data points of a stream are distributed among the parallel instances of the transformation operators. This also controls the ordering of the records in the <code>DataStream</code>. There is partial ordering guarantee for the outputs with respect to the partitioning scheme (outputs produced from each partition are guaranteed to arrive in the order they were produced).</p>
-
-<p>There are several partitioning types supported in Flink Streaming:</p>
-
-<ul>
-  <li><em>Forward (default)</em>: Forward partitioning directs the output data to the next operator on the same machine (if possible) avoiding expensive network I/O. If there are more processing nodes than inputs or vice versa the load is distributed among the extra nodes in a round-robin fashion. This is the default partitioner.
-Usage: <code>dataStream.forward()</code></li>
-  <li><em>Shuffle</em>: Shuffle partitioning randomly partitions the output data stream to the next operator using uniform distribution. Use this only when it is important that the partitioning is randomised. If you only care about an even load use <em>Rebalance</em>.
-Usage: <code>dataStream.shuffle()</code></li>
-  <li><em>Rebalance</em>: Rebalance partitioning directs the output data stream to the next operator in a round-robin fashion, achieving a balanced distribution.
-Usage: <code>dataStream.rebalance()</code></li>
-  <li><em>Field/Key Partitioning</em>: Field/Key partitioning partitions the output data stream based on the hash code of a selected key of the tuples. Data points with the same key are directed to the same operator instance. 
-Usage: <code>dataStream.partitionByHash(fields…)</code></li>
-  <li><em>Field/Key Grouping</em>: Field/Key grouping takes partitioning one step further and seperates the elements to disjoint groups based on the hash code. These groups are processed separately by the next downstream operator. 
-Usage: <code>dataStream.groupBy(fields…)</code></li>
-  <li><em>Broadcast</em>: Broadcast partitioning sends the output data stream to all parallel instances of the next operator.
-Usage: <code>dataStream.broadcast()</code></li>
-  <li><em>Global</em>: All data points are directed to the first instance of the operator. 
-Usage: <code>dataStream.global()</code></li>
-</ul>
-
-<p>By default <em>Forward</em> partitioning is used.</p>
-
-<p>Partitioning does not remain in effect after a transformation, so it needs to be set again for subsequent operations.</p>
-
-<h3 id="connecting-to-the-outside-world">Connecting to the outside world</h3>
-
-<p>The user is expected to connect to the outside world through the source and the sink interfaces.</p>
-
-<h4 id="sources">Sources</h4>
-
-<p>Sources can by created by using <code>StreamExecutionEnvironment.addSource(sourceFunction)</code>. 
-Either use one of the source functions that come with Flink or write a custom source
-by implementing the <code>SourceFunction</code> interface. By default, sources run with
-parallelism of 1. To create parallel sources the user’s source function needs to implement
-<code>ParallelSourceFunction</code> or extend <code>RichParallelSourceFunction</code> in which cases the source will have
-the parallelism of the environment. The parallelism for ParallelSourceFunctions can be changed
-after creation by using <code>source.setParallelism(parallelism)</code>.</p>
-
-<p>The <code>SourceFunction</code> interface has two methods: <code>run(SourceContext)</code> and <code>cancel()</code>. The <code>run()</code>
-method is not expected to return until the source has either finished by itself or received
-a cancel request. The source can communicate with the outside world using the source context. For
-example, the <code>emit(element)</code> method is used to emit one element from the source. Most sources will
-have an infinite while loop inside the <code>run()</code> method to read from the input and emit elements.
-Upon invocation of the <code>cancel()</code> method the source is required to break out of its internal
-loop and return from the <code>run()</code> method. A common implementation for this is the following:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">MySource</span> <span class="kd">implements</span> <span class="n">SourceFunction</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="o">{</span>
-
-    <span class="c1">// utility for job cancellation</span>
-    <span class="kd">private</span> <span class="kd">volatile</span> <span class="kt">boolean</span> <span class="n">isRunning</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
-    
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">run</span><span class="o">(</span><span class="n">SourceContext</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">ctx</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="n">isRunning</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
-        <span class="k">while</span> <span class="o">(</span><span class="n">isRunning</span><span class="o">)</span> <span class="o">{</span>
-            <span class="c1">// the source runs, isRunning flag should be checked frequently</span>
-            <span class="o">}</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-
-    <span class="c1">// invoked by the framework in case of job cancellation</span>
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">cancel</span><span class="o">()</span> <span class="o">{</span>
-        <span class="n">isRunning</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
-    <span class="o">}</span>
-
-<span class="o">}</span></code></pre></div>
-
-<p>In addition to the bounded data sources (with similar method signatures as the
-<a href="programming_guide.html#data-sources">batch API</a>) there are several predefined stream sources
-accessible from the <code>StreamExecutionEnvironment</code>:</p>
-
-<ul>
-  <li>
-    <p><em>Socket text stream</em>: Creates a new <code>DataStream</code> that contains the strings received
-from the given socket. Strings are decoded by the system’s default character set. The user
-can optionally set the delimiters or the number of connection retries in case of errors.
-Usage: <code>env.socketTextStream(hostname, port,…)</code></p>
-  </li>
-  <li>
-    <p><em>Text file stream</em>: Creates a new <code>DataStream</code> that contains the lines of the files created
-(or modified) in a given directory. The system continuously monitors the given path, and processes
-any new files or modifications based on the settings. The file will be read with the system’s
-default character set.
-Usage: <code>env.readFileStream(String path, long checkFrequencyMillis, WatchType watchType)</code></p>
-  </li>
-  <li>
-    <p><em>Message queue connectors</em>: There are pre-implemented connectors for a number of popular message
-queue services, please refer to the section on <a href="#stream-connectors">connectors</a> for more details.</p>
-  </li>
-  <li>
-    <p><em>Custom source</em>: Creates a new <code>DataStream</code> by using a user defined <code>SourceFunction</code> implementation.
-Usage: <code>env.addSource(sourceFunction)</code></p>
-  </li>
-</ul>
-
-<h4 id="sinks">Sinks</h4>
-
-<p><code>DataStreamSink</code> represents the different outputs of Flink Streaming programs. The user can either define his own <code>SinkFunction</code> implementation or chose one of the available implementations (methods of <code>DataStream</code>).</p>
-
-<p>For example:</p>
-
-<ul>
-  <li><code>dataStream.print()</code> – Writes the <code>DataStream</code> to the standard output, practical for testing purposes</li>
-  <li><code>dataStream.writeAsText(parameters)</code> – Writes the <code>DataStream</code> to a text file</li>
-  <li><code>dataStream.writeAsCsv(parameters)</code> – Writes the <code>DataStream</code> to CSV format</li>
-  <li><code>dataStream.addSink(sinkFunction)</code> – Custom sink implementation</li>
-</ul>
-
-<p>There are pre-implemented connectors for a number of the most popular message queue services, please refer to the section on <a href="#stream-connectors">connectors</a> for more detail.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="transformations">Transformations</h2>
-
-<p>Transformations, also called operators, represent the users’ business logic on the data stream. Operators consume data streams and produce new data streams. The user can chain and combine multiple operators on the data stream to produce the desired processing steps. Most of the operators work very similar to the batch Flink API allowing developers to reason about <code>DataStream</code> the same way as they would about <code>DataSet</code>. At the same time there are operators that exploit the streaming nature of the data to allow advanced functionality.</p>
-
-<h3 id="basic-transformations">Basic transformations</h3>
-
-<p>Basic transformations can be seen as functions that operate on records of the data stream.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <p><br /></p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-    <tr>
-      <td><strong>Map</strong></td>
-      <td>
-        <p>Takes one element and produces one element. A map that doubles the values of the input stream:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="nd">@Override</span>
-            <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">map</span><span class="o">(</span><span class="n">Integer</span> <span class="n">value</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">value</span><span class="o">;</span>
-            <span class="o">}</span>
-        <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>FlatMap</strong></td>
-      <td>
-        <p>Takes one element and produces zero, one, or more elements. A flatmap that splits sentences to words:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="nd">@Override</span>
-            <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> 
-                <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-                <span class="k">for</span><span class="o">(</span><span class="n">String</span> <span class="nl">word:</span> <span class="n">value</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">)){</span>
-                    <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">word</span><span class="o">);</span>
-                <span class="o">}</span>
-            <span class="o">}</span>
-        <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Filter</strong></td>
-      <td>
-        <p>Evaluates a boolean function for each element and retains those for which the function returns true.
-	<br />
-	<br />
-        A filter that filters out zero values:
-        </p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span> 
-            <span class="nd">@Override</span>
-            <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Integer</span> <span class="n">value</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="n">value</span> <span class="o">!=</span> <span class="mi">0</span><span class="o">;</span>
-            <span class="o">}</span>
-        <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Reduce</strong></td>
-      <td>
-        <p>Combines a stream of elements into another stream by repeatedly combining two elements
-        into one and emits the current state after every reduction. Reduce may be applied on a full, windowed or grouped data stream.
-        <br />
-        
-        <strong>IMPORTANT:</strong> The streaming and the batch reduce functions have different semantics. A streaming reduce on a data stream emits the current reduced value for every new element on a data stream. On a windowed data stream it works as a batch reduce: it produces at most one value per window.
-        <br />
-	<br />
-         A reducer that sums up the incoming stream, the result is a stream of intermediate sums:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="k">new</span> <span class="n">ReduceFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="nd">@Override</span>
-            <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Integer</span> <span class="n">value1</span><span class="o">,</span> <span class="n">Integer</span> <span class="n">value2</span><span class="o">)</span> 
-            <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="n">value1</span> <span class="o">+</span> <span class="n">value2</span><span class="o">;</span>
-            <span class="o">}</span>
-        <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Fold</strong></td>
-      <td>
-        <p>Combines a stream element by element with an initial aggregator value. Fold may be applied on a full, windowed or grouped data stream.
-        <br />
-         A folder that appends strings one by one to the empty sting:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">fold</span><span class="o">(</span><span class="s">&quot;&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="n">FoldFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-            <span class="nd">@Override</span>
-            <span class="kd">public</span> <span class="n">String</span> <span class="nf">fold</span><span class="o">(</span><span class="n">String</span> <span class="n">accumulator</span><span class="o">,</span> <span class="n">String</span> <span class="n">value</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-                <span class="k">return</span> <span class="n">accumulator</span> <span class="o">+</span> <span class="n">value</span><span class="o">;</span>
-            <span class="o">}</span>
-       <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Union</strong></td>
-      <td>
-        <p>Union of two or more data streams creating a new stream containing all the elements from all the streams.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">union</span><span class="o">(</span><span class="n">otherStream1</span><span class="o">,</span> <span class="n">otherStream2</span><span class="o">,</span> <span class="err">…</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-    <hr />
-
-    <p>The following transformations are available on data streams of Tuples:</p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-  <tbody>
-   <tr>
-      <td><strong>Project</strong></td>
-      <td>
-        <p>Selects a subset of fields from the tuples</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataStream</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataStream</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="mi">0</span><span class="o">);</span></code></pre></div>
-
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <p><br /></p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-
-    <tr>
-      <td><strong>Map</strong></td>
-      <td>
-        <p>Takes one element and produces one element. A map that doubles the values of the input stream:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">map</span><span class="o">{</span> <span class="n">x</span> <span class="k">=&gt;</span> <span class="n">x</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>FlatMap</strong></td>
-      <td>
-        <p>Takes one element and produces zero, one, or more elements. A flatmap that splits sentences to words:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="n">str</span> <span class="k">=&gt;</span> <span class="n">str</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">)</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Filter</strong></td>
-      <td>
-        <p>Evaluates a boolean function for each element and retains those for which the function returns true.
-       	<br />
-	<br />
-        A filter that filters out zero values:
-        </p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">filter</span><span class="o">{</span> <span class="k">_</span> <span class="o">!=</span> <span class="mi">0</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Reduce</strong></td>
-      <td>
-        <p>Combines a stream of elements into another stream by repeatedly combining two elements
-        into one and emits the current state after every reduction. Reduce may be applied on a full, windowed or grouped data stream.
-        <br />
-        
-        <strong>IMPORTANT:</strong> The streaming and the batch reduce functions have different semantics. A streaming reduce on a data stream emits the current reduced value for every new element on a data stream. On a windowed data stream it works as a batch reduce: it produces at most one value per window.
-        <br />
-	<br />
-         A reducer that sums up the incoming stream, the result is a stream of intermediate sums:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">reduce</span><span class="o">{</span> <span class="k">_</span> <span class="o">+</span> <span class="k">_</span><span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Fold</strong></td>
-        <td>
-        <p>Combines a stream element by element with an initial aggregator value. Fold may be applied on a full, windowed or grouped data stream.
-        <br />
-         A folder that appends strings one by one to the empty sting:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">fold</span><span class="o">{</span><span class="s">&quot;&quot;</span><span class="o">,</span> <span class="k">_</span> <span class="o">+</span> <span class="k">_</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Union</strong></td>
-      <td>
-        <p>Union of two or more data streams creating a new stream containing all the elements from all the streams.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">union</span><span class="o">(</span><span class="n">otherStream1</span><span class="o">,</span> <span class="n">otherStream2</span><span class="o">,</span> <span class="err">…</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-  </tbody>
-
-
-</table>
-
-  </div>
-
-</div>
-
-<h3 id="grouped-operators">Grouped operators</h3>
-
-<p>Some transformations require that the elements of a <code>DataStream</code> are grouped on some key. The user can create a <code>GroupedDataStream</code> by calling the <code>groupBy(key)</code> method of a non-grouped <code>DataStream</code>. 
-Keys can be of three types: field positions (applicable for tuple/array types), field expressions (applicable for pojo types), KeySelector instances.</p>
-
-<p>Aggregation or reduce operators called on <code>GroupedDataStream</code>s produce elements on a per group basis.</p>
-
-<h3 id="aggregations">Aggregations</h3>
-
-<p>The Flink Streaming API supports different types of pre-defined aggregations of <code>DataStreams</code>. A common property of these operators, is that they produce the stream of intermediate aggregate values (just like reduce on streams).</p>
-
-<p>Types of aggregations: <code>sum(field)</code>, <code>min(field)</code>, <code>max(field)</code>, <code>minBy(field, first)</code>, <code>maxBy(field, first)</code>.</p>
-
-<p>With <code>sum</code>, <code>min</code>, and <code>max</code> for every incoming tuple the selected field is replaced with the current aggregated value. Fields can be selected using either field positions or field expressions (similarly to grouping).</p>
-
-<p>With <code>minBy</code> and <code>maxBy</code> the output of the operator is the element with the current minimal or maximal value at the given field. If more components share the minimum or maximum value, the user can decide if the operator should return the first or last element. This can be set by the <code>first</code> boolean parameter.</p>
-
-<h3 id="window-operators">Window operators</h3>
-
-<p>Flink streaming provides very flexible data-driven windowing semantics to create arbitrary windows (also referred to as discretizations or slices) of the data streams and apply reduce, map or aggregation transformations on the windows acquired. Windowing can be used for instance to create rolling aggregations of the most recent N elements, where N could be defined by Time, Count or any arbitrary user defined measure.</p>
-
-<p>The user can control the size (eviction) of the windows and the frequency of transformation or aggregation calls (trigger) on them in an intuitive API. We will describe the exact semantics of these operators in the <a href="#policy-based-windowing">policy based windowing</a> section.</p>
-
-<p>Some examples:</p>
-
-<ul>
-  <li><code>dataStream.window(eviction).every(trigger).reduceWindow(…)</code></li>
-  <li><code>dataStream.window(…).every(…).mapWindow(…).flatten()</code></li>
-  <li><code>dataStream.window(…).every(…).groupBy(…).aggregate(…).getDiscretizedStream()</code></li>
-</ul>
-
-<p>The core abstraction of the Windowing semantics is the <code>WindowedDataStream</code> and the <code>StreamWindow</code>. The <code>WindowedDataStream</code> is created when we first call the <code>window(…)</code> method of the DataStream and represents the windowed discretisation of the underlying stream. The user can think about it simply as a <code>DataStream&lt;StreamWindow&lt;T&gt;&gt;</code> where additional API functions are supplied to provide efficient transformations of individual windows.</p>
-
-<p>Please note at this point that the <code>.every(…)</code> call belongs together with the preceding <code>.window(…)</code> call and does not define a new transformation in itself.</p>
-
-<p>The result of a window transformation is again a <code>WindowedDataStream</code> which can also be used to further apply other windowed computations. In this sense, window transformations define mapping from stream windows to stream windows.</p>
-
-<p>The user has different ways of using the result of a window operation:</p>
-
-<ul>
-  <li><code>windowedDataStream.flatten()</code> - streams the results element wise and returns a <code>DataStream&lt;T&gt;</code> where T is the type of the underlying windowed stream</li>
-  <li><code>windowedDataStream.getDiscretizedStream()</code> - returns a <code>DataStream&lt;StreamWindow&lt;T&gt;&gt;</code> for applying some advanced logic on the stream windows itself. Be careful here, as at this point, we need to materialise the full windows</li>
-  <li>Calling any window transformation further transforms the windows, while preserving the windowing logic</li>
-</ul>
-
-<p>The next example would create windows that hold elements of the last 5 seconds, and the user defined transformation would be executed on the windows every second (sliding the window by 1 second):</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Time</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">5</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">)).</span><span class="na">every</span><span class="o">(</span><span class="n">Time</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">));</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">5</span><span class="o">,</span> <span class="nc">TimeUnit</span><span class="o">.</span><span class="nc">SECONDS</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="nc">TimeUnit</span><span class="o">.</span><span class="nc">SECONDS</span><span class="o">))</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>This approach is often referred to as policy based windowing. Different policies (count, time, etc.) can be mixed as well, for example to downsample our stream, a window that takes the latest 100 elements of the stream every minute is created as follows:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Count</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="na">every</span><span class="o">(</span><span class="n">Time</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">MINUTES</span><span class="o">));</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Count</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="nc">TimeUnit</span><span class="o">.</span><span class="nc">MINUTES</span><span class="o">))</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>The user can also omit the <code>every(…)</code> call which results in a tumbling window emptying the window after every transformation call.</p>
-
-<p>Several predefined policies are provided in the API, including delta-based, count-based and time-based policies. These can be accessed through the static methods provided by the <code>PolicyHelper</code> classes:</p>
-
-<ul>
-  <li><code>Time.of(…)</code></li>
-  <li><code>Count.of(…)</code></li>
-  <li><code>Delta.of(…)</code></li>
-  <li><code>FullStream.window()</code></li>
-</ul>
-
-<p>For detailed description of these policies please refer to the <a href="http://flink.apache.org/docs/latest/api/java/">Javadocs</a>.</p>
-
-<h4 id="policy-based-windowing">Policy based windowing</h4>
-<p>The policy based windowing is a highly flexible way to specify stream discretisation also called windowing semantics. Two types of policies are used for such a specification:</p>
-
-<ul>
-  <li>
-    <p><code>TriggerPolicy</code> defines when to trigger the reduce or transformation UDF on the current window and emit the result. In the API it completes a window statement such as: <code>window(…).every(…)</code>, while the triggering policy is passed within <code>every</code>. In case the user wants to use tumbling eviction policy (the window is emptied after the transformation) he can omit the <code>.every(…)</code> call and pass the trigger policy directly to the <code>.window(…)</code> call.</p>
-  </li>
-  <li>
-    <p><code>EvictionPolicy</code> defines the length of a window as a means of a predicate for evicting tuples when they are no longer needed. In the API this can be defined by the <code>window(…)</code> operation on a stream. There are mostly the same predefined policy types provided as for trigger policies.</p>
-  </li>
-</ul>
-
-<p>Trigger and eviction policies work totally independently of each other. The eviction policy continuously maintains a window, into which it adds new elements and based on the eviction logic removes older elements in the order of arrival. The trigger policy on the other hand only decided at each new incoming element, whether it should trigger computation (and output results) on the currently maintained window.</p>
-
-<p>Several predefined policies are provided in the API, including delta-based, punctuation based, count-based and time-based policies. Policies are in general UDFs and can implement any custom behaviour.</p>
-
-<p>In addition to the <code>dataStream.window(…).every(…)</code> style, users can specifically pass the trigger and eviction policies during the window call:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">triggerPolicy</span><span class="o">,</span> <span class="n">evictionPolicy</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="n">triggerPolicy</span><span class="o">,</span> <span class="n">evictionPolicy</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p>By default triggers can only trigger when a new element arrives. This might not be suitable for all the use-cases with low data rates. To also provide triggering between elements, so called active policies can be used (the two interfaces controlling this special behaviour is <code>ActiveTriggerPolicy</code> and <code>CentralActiveTrigger</code>). The predefined time-based policies are already implemented in such a way and can hold as an example for user defined active policy implementations.</p>
-
-<p>Time-based trigger and eviction policies can work with user defined <code>TimeStamp</code> implementations, these policies already cover most use cases.</p>
-
-<h4 id="reduce-on-windowed-data-streams">Reduce on windowed data streams</h4>
-<p>The <code>WindowedDataStream&lt;T&gt;.reduceWindow(ReduceFunction&lt;T&gt;)</code> transformation calls the user-defined <code>ReduceFunction</code> at every trigger on the records currently in the window. The user can also use the different pre-implemented streaming aggregations such as <code>sum, min, max, minBy</code> and <code>maxBy</code>.</p>
-
-<p>The following is an example for a window reduce that sums the elements in the last minute with 10 seconds slide interval:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Time</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">TimeUnit</span><span class="o">.</span><span class="na">MINUTES</span><span class="o">)).</span><span class="na">every</span><span class="o">(</span><span class="n">Time</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">10</span><span class="o">,</span><span class="n">TimeUnit</span><span class="o">.</span><span class="na">SECONDS</span><span class="o">)).</span><span class="na">sum</span><span class="o">(</span><span class="n">field</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="nc">TimeUnit</span><span class="o">.</span><span class="nc">MINUTES</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">10</span><span class="o">,</span><span class="nc">TimeUnit</span><span class="o">.</span><span class="nc">SECONDS</span><span class="o">)).</span><span class="n">sum</span><span class="o">(</span><span class="n">field</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<h4 id="map-on-windowed-data-streams">Map on windowed data streams</h4>
-<p>The <code>WindowedDataStream&lt;T&gt;.mapWindow(WindowMapFunction&lt;T,O&gt;)</code> transformation calls  <code>mapWindow(…)</code> for each <code>StreamWindow</code> in the discretised stream, providing access to all elements in the window through the iterable interface. At each function call the output <code>StreamWindow&lt;O&gt;</code> will consist of all the elements collected to the collector. This allows a straightforward way of mapping one stream window to another.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">windowedDataStream</span><span class="o">.</span><span class="na">mapWindow</span><span class="o">(</span><span class="n">windowMapFunction</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">windowedDataStream</span><span class="o">.</span><span class="n">mapWindow</span><span class="o">(</span><span class="n">windowMapFunction</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<h4 id="grouped-transformations-on-windowed-data-streams">Grouped transformations on windowed data streams</h4>
-<p>Calling the <code>groupBy(…)</code> method on a windowed stream groups the elements by the given fields inside the stream windows. The window sizes (evictions) and slide sizes (triggers) will be calculated on the whole stream (in a global fashion), but the user defined functions will be applied on a per group basis inside the window. This means that for a call <code>windowedStream.groupBy(…).reduceWindow(…)</code> will transform each window into another window consisting of as many elements as keys in the original window, with the reduced values per key. Similarly the <code>mapWindow</code> transformation is applied per group as well.</p>
-
-<p>The user can also create discretisation on a per group basis calling <code>window(…).every(…)</code> on an already grouped data stream. This will apply the discretisation logic independently for each key.</p>
-
-<p>To highlight the differences let us look at two examples.</p>
-
-<p>To get the maximal value for each key on the last 100 elements (global) we use the first approach:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Count</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="na">every</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="na">groupBy</span><span class="o">(</span><span class="n">groupingField</span><span class="o">).</span><span class="na">max</span><span class="o">(</span><span class="n">field</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Count</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="n">groupBy</span><span class="o">(</span><span class="n">groupingField</span><span class="o">).</span><span class="n">max</span><span class="o">(</span><span class="n">field</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p>Using this approach we took the last 100 elements, divided it into groups by key, and then applied the aggregation. To create fixed size windows for every key, we need to bring the groupBy call before the window call. So to take the max for the last 100 elements in each group:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="n">groupingField</span><span class="o">).</span><span class="na">window</span><span class="o">(</span><span class="n">Count</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="na">every</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="na">max</span><span class="o">(</span><span class="n">field</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="n">groupingField</span><span class="o">).</span><span class="n">window</span><span class="o">(</span><span class="nc">Count</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">100</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="n">max</span><span class="o">(</span><span class="n">field</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p>This will create separate windows for different keys and apply the trigger and eviction policies on a per group basis.</p>
-
-<h4 id="applying-multiple-transformations-on-a-window">Applying multiple transformations on a window</h4>
-<p>Using the <code>WindowedDataStream</code> abstraction we can apply several transformations one after another on the discretised streams without having to re-discretise it:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream</span><span class="o">.</span><span class="na">window</span><span class="o">(</span><span class="n">Count</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="mi">1000</span><span class="o">)).</span><span class="na">groupBy</span><span class="o">(</span><span class="n">firstKey</span><span class="o">).</span><span class="na">mapWindow</span><span class="o">(</span><span class="err">…</span><span class="o">)</span>
-    <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="n">secondKey</span><span class="o">).</span><span class="na">reduceWindow</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="na">flatten</span><span class="o">();</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream</span><span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Count</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">1000</span><span class="o">)).</span><span class="n">groupBy</span><span class="o">(</span><span class="n">firstKey</span><span class="o">).</span><span class="n">mapWindow</span><span class="o">(</span><span class="err">…</span><span class="o">)</span>
-    <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="n">secondKey</span><span class="o">).</span><span class="n">reduceWindow</span><span class="o">(</span><span class="err">…</span><span class="o">).</span><span class="n">flatten</span><span class="o">()</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>The above call would create global windows of 1000 elements, group them by the first key, and then apply a mapWindow transformation. The resulting windowed stream will then be grouped by the second key and further reduced. The results of the reduce transformation are then flattened.</p>
-
-<p>Notice that here we only defined the window size once at the beginning of the transformation. This means that anything that happens afterwards (<code>groupBy(firstKey).mapWindow(…).groupBy(secondKey).reduceWindow(…)</code>) happens inside the 1000 element windows. Of course the mapWindow might reduce the number of elements, but the key idea is that each transformation still corresponds to the same 1000 elements in the original stream.</p>
-
-<h4 id="periodic-aggregations-on-the-full-stream-history">Periodic aggregations on the full stream history</h4>
-<p>Sometimes it is necessary to aggregate over all the previously seen data in the stream. For this purpose either use the <code>dataStream.window(FullStream.window()).every(trigger)</code> or equivalently <code>dataStream.every(trigger)</code>.</p>
-
-<h4 id="global-vs-local-discretisation">Global vs local discretisation</h4>
-<p>By default all window discretisation calls (<code>dataStream.window(…)</code>) define global windows meaning that a global window of count 100 will contain the last 100 elements arrived at the discretisation operator in order. In most cases (except for Time) this means that the operator doing the actual discretisation needs to have a parallelism of 1 to be able to correctly execute the discretisation logic.</p>
-
-<p>Sometimes it is sufficient to create local discretisations, which allows the discretiser to run in parallel and apply the given discretisation logic at every discretiser instance. To allow local discretisation use the <code>local()</code> method of the windowed data stream.</p>
-
-<p>For example, <code>dataStream.window(Count.of(100)).maxBy(field)</code> would create global windows of 100 elements (Count discretises with parallelism of 1) and return the record with the max value by the selected field; alternatively the <code>dataStream.window(Count.of(100)).local().maxBy(field)</code> would create several count discretisers (as defined by the environment parallelism) and compute the max values accordingly.</p>
-
-<h3 id="temporal-database-style-operators">Temporal database style operators</h3>
-
-<p>While database style operators like joins (on key) and crosses are hard to define properly on data streams, a straightforward interpretation is to apply these operators on windows of the data streams.</p>
-
-<p>Currently join and cross operators are supported only on time windows. We are working on alleviating this limitation in the next release.</p>
-
-<p>Temporal operators take the current windows of both streams and apply the join/cross logic on these window pairs.</p>
-
-<p>The Join transformation produces a new Tuple DataStream with two fields. Each tuple holds a joined element of the first input DataStream in the first tuple field and a matching element of the second input DataStream in the second field for the current window. The user can also supply a custom join function to control the produced elements.</p>
-
-<p>The following code shows a default Join transformation using field position keys:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream1</span><span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">dataStream2</span><span class="o">)</span>
-    <span class="o">.</span><span class="na">onWindow</span><span class="o">(</span><span class="n">windowing_params</span><span class="o">)</span>
-    <span class="o">.</span><span class="na">where</span><span class="o">(</span><span class="n">key_in_first</span><span class="o">)</span>
-    <span class="o">.</span><span class="na">equalTo</span><span class="o">(</span><span class="n">key_in_second</span><span class="o">);</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream1</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">dataStream2</span><span class="o">)</span>
-    <span class="o">.</span><span class="n">onWindow</span><span class="o">(</span><span class="n">windowing_params</span><span class="o">)</span>
-    <span class="o">.</span><span class="n">where</span><span class="o">(</span><span class="n">key_in_first</span><span class="o">)</span>
-    <span class="o">.</span><span class="n">equalTo</span><span class="o">(</span><span class="n">key_in_second</span><span class="o">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>The Cross transformation combines two <code>DataStream</code>s into one <code>DataStream</code>. It builds all pairwise combinations of the elements of both input DataStreams in the current window, i.e., it builds a temporal Cartesian product. The user can also supply a custom cross function to control the produced elements</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">dataStream1</span><span class="o">.</span><span class="na">cross</span><span class="o">(</span><span class="n">dataStream2</span><span class="o">).</span><span class="na">onWindow</span><span class="o">(</span><span class="n">windowing_params</span><span class="o">);</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">dataStream1</span> <span class="n">cross</span> <span class="n">dataStream2</span> <span class="n">onWindow</span> <span class="o">(</span><span class="n">windowing_params</span><span class="o">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="co-operators">Co operators</h3>
-
-<p>Co operators allow the users to jointly transform two <code>DataStream</code>s of different types, providing a simple way to jointly manipulate streams with a shared state. It is designed to support joint stream transformations where union is not appropriate due to different data types, or in case the user needs explicit tracking of the origin of individual elements.
-Co operators can be applied to <code>ConnectedDataStream</code>s which represent two <code>DataStream</code>s of possibly different types. A <code>ConnectedDataStream</code> can be created by calling the <code>connect(otherDataStream)</code> method of a <code>DataStream</code>.</p>
-
-<h4 id="map-on-connecteddatastream">Map on ConnectedDataStream</h4>
-<p>Applies a CoMap transformation on two separate DataStreams, mapping them to a common output type. The transformation calls a <code>CoMapFunction.map1()</code> for each element of the first input and <code>CoMapFunction.map2()</code> for each element of the second input. Each CoMapFunction call returns exactly one element.
-A CoMap operator that outputs true if an Integer value is received and false if a String value is received:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-   

<TRUNCATED>

[51/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
Revert "[hotfix] Manual build of docs"

This reverts commit 396616d4462e220644f55a4eac1d95d75d4de272.


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/f0ac0cdb
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/f0ac0cdb
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/f0ac0cdb

Branch: refs/heads/master
Commit: f0ac0cdbb78c23a92c13b49e297112f1e51fb8c6
Parents: 22649e2
Author: Maximilian Michels <mx...@apache.org>
Authored: Wed Jul 1 11:57:18 2015 +0200
Committer: Maximilian Michels <mx...@apache.org>
Committed: Wed Jul 1 11:57:18 2015 +0200

----------------------------------------------------------------------
 _config.yml                                     |    7 +-
 _includes/navbar.html                           |   10 +-
 content/blog/index.html                         |   22 +-
 content/blog/page2/index.html                   |   22 +-
 content/blog/page3/index.html                   |   22 +-
 content/blog/page4/index.html                   |   22 +-
 content/coding-guidelines.html                  |   22 +-
 content/community.html                          |   22 +-
 content/docs/0.9/README.md                      |   60 -
 content/docs/0.9/apis/best_practices.html       |  411 ---
 content/docs/0.9/apis/cli.html                  |  394 --
 content/docs/0.9/apis/cluster_execution.html    |  345 --
 .../docs/0.9/apis/dataset_transformations.html  | 1720 ---------
 content/docs/0.9/apis/example_connectors.html   |  404 ---
 content/docs/0.9/apis/examples.html             |  681 ----
 content/docs/0.9/apis/fig/LICENSE.txt           |   17 -
 .../fig/iterations_delta_iterate_operator.png   |  Bin 113607 -> 0 bytes
 ...terations_delta_iterate_operator_example.png |  Bin 335057 -> 0 bytes
 .../apis/fig/iterations_iterate_operator.png    |  Bin 63465 -> 0 bytes
 .../fig/iterations_iterate_operator_example.png |  Bin 102925 -> 0 bytes
 .../docs/0.9/apis/fig/iterations_supersteps.png |  Bin 54098 -> 0 bytes
 content/docs/0.9/apis/fig/plan_visualizer.png   |  Bin 145778 -> 0 bytes
 content/docs/0.9/apis/hadoop_compatibility.html |  423 ---
 content/docs/0.9/apis/index.html                |  205 --
 content/docs/0.9/apis/iterations.html           |  399 --
 content/docs/0.9/apis/java8.html                |  360 --
 content/docs/0.9/apis/local_execution.html      |  302 --
 content/docs/0.9/apis/programming_guide.html    | 3433 ------------------
 content/docs/0.9/apis/python.html               |  764 ----
 content/docs/0.9/apis/streaming_guide.html      | 1944 ----------
 content/docs/0.9/apis/web_client.html           |  272 --
 content/docs/0.9/build_docs.sh                  |   64 -
 content/docs/0.9/faq.html                       |  606 ----
 content/docs/0.9/fig/LICENSE.txt                |   17 -
 content/docs/0.9/fig/overview-stack-0.9.png     |  Bin 260807 -> 0 bytes
 content/docs/0.9/index.html                     |  248 --
 content/docs/0.9/internals/add_operator.html    |  431 ---
 .../docs/0.9/internals/coding_guidelines.html   |  207 --
 content/docs/0.9/internals/fig/ClientJmTm.svg   |  348 --
 content/docs/0.9/internals/fig/LICENSE.txt      |   17 -
 .../internals/fig/job_and_execution_graph.svg   |  851 -----
 .../0.9/internals/fig/projects_dependencies.svg |  586 ---
 content/docs/0.9/internals/fig/slots.svg        |  505 ---
 content/docs/0.9/internals/fig/stack.svg        |  606 ----
 .../docs/0.9/internals/fig/state_machine.svg    |  318 --
 content/docs/0.9/internals/general_arch.html    |  285 --
 .../docs/0.9/internals/how_to_contribute.html   |  207 --
 content/docs/0.9/internals/ide_setup.html       |  328 --
 content/docs/0.9/internals/index.html           |  205 --
 content/docs/0.9/internals/job_scheduling.html  |  265 --
 content/docs/0.9/internals/logging.html         |  273 --
 .../docs/0.9/internals/types_serialization.html |  438 ---
 content/docs/0.9/libs/fig/LICENSE.txt           |   17 -
 .../docs/0.9/libs/fig/gelly-example-graph.png   |  Bin 18813 -> 0 bytes
 content/docs/0.9/libs/fig/gelly-filter.png      |  Bin 57192 -> 0 bytes
 .../docs/0.9/libs/fig/gelly-gsa-sssp-result.png |  Bin 14472 -> 0 bytes
 content/docs/0.9/libs/fig/gelly-gsa-sssp1.png   |  Bin 33476 -> 0 bytes
 content/docs/0.9/libs/fig/gelly-gsa-sssp2.png   |  Bin 24962 -> 0 bytes
 .../docs/0.9/libs/fig/gelly-reduceOnEdges.png   |  Bin 23843 -> 0 bytes
 .../0.9/libs/fig/gelly-reduceOnNeighbors.png    |  Bin 34903 -> 0 bytes
 content/docs/0.9/libs/fig/gelly-union.png       |  Bin 50498 -> 0 bytes
 content/docs/0.9/libs/fig/gelly-vc-sssp1.png    |  Bin 30470 -> 0 bytes
 content/docs/0.9/libs/fig/gelly-vc-sssp2.png    |  Bin 24644 -> 0 bytes
 content/docs/0.9/libs/fig/spargel_example.png   |  Bin 199032 -> 0 bytes
 .../docs/0.9/libs/fig/spargel_example_input.png |  Bin 113478 -> 0 bytes
 content/docs/0.9/libs/gelly_guide.html          | 1045 ------
 content/docs/0.9/libs/index.html                |  205 --
 content/docs/0.9/libs/ml/als.html               |  401 --
 .../docs/0.9/libs/ml/contribution_guide.html    |  325 --
 content/docs/0.9/libs/ml/distance_metrics.html  |  325 --
 content/docs/0.9/libs/ml/index.html             |  322 --
 content/docs/0.9/libs/ml/min_max_scaler.html    |  339 --
 .../0.9/libs/ml/multiple_linear_regression.html |  380 --
 content/docs/0.9/libs/ml/optimization.html      |  513 ---
 content/docs/0.9/libs/ml/pipelines.html         |  638 ----
 .../docs/0.9/libs/ml/polynomial_features.html   |  333 --
 content/docs/0.9/libs/ml/quickstart.html        |  438 ---
 content/docs/0.9/libs/ml/standard_scaler.html   |  340 --
 content/docs/0.9/libs/ml/svm.html               |  419 ---
 content/docs/0.9/libs/ml/vision_roadmap.html    |  313 --
 content/docs/0.9/libs/spargel_guide.html        |  313 --
 content/docs/0.9/libs/table.html                |  302 --
 content/docs/0.9/page/css/codetabs.css          |   62 -
 content/docs/0.9/page/css/flink.css             |  123 -
 content/docs/0.9/page/css/syntax.css            |   79 -
 content/docs/0.9/page/favicon.ico               |  Bin 1150 -> 0 bytes
 content/docs/0.9/page/img/LICENSE.txt           |   17 -
 content/docs/0.9/page/img/navbar-brand-logo.jpg |  Bin 18470 -> 0 bytes
 .../compiler-webclient-new.png                  |  Bin 134963 -> 0 bytes
 .../jobmanager-running-new.png                  |  Bin 132859 -> 0 bytes
 .../page/img/quickstart-example/kmeans003.png   |  Bin 27962 -> 0 bytes
 .../page/img/quickstart-example/kmeans008.png   |  Bin 39305 -> 0 bytes
 .../page/img/quickstart-example/kmeans015.png   |  Bin 41958 -> 0 bytes
 .../page/img/quickstart-example/result003.png   |  Bin 60228 -> 0 bytes
 .../page/img/quickstart-example/result008.png   |  Bin 92732 -> 0 bytes
 .../page/img/quickstart-example/result015.png   |  Bin 89724 -> 0 bytes
 .../img/quickstart-example/run-webclient.png    |  Bin 89469 -> 0 bytes
 .../docs/0.9/page/img/quickstart_cluster.png    |  Bin 83790 -> 0 bytes
 content/docs/0.9/page/js/codetabs.js            |  121 -
 .../0.9/quickstart/java_api_quickstart.html     |  330 --
 content/docs/0.9/quickstart/plotPoints.py       |  100 -
 .../0.9/quickstart/run_example_quickstart.html  |  359 --
 .../0.9/quickstart/scala_api_quickstart.html    |  334 --
 .../docs/0.9/quickstart/setup_quickstart.html   |  350 --
 content/docs/0.9/scala_shell.html               |  244 --
 content/docs/0.9/search-results.html            |  219 --
 content/docs/0.9/setup/building.html            |  273 --
 content/docs/0.9/setup/cluster_setup.html       |  528 ---
 content/docs/0.9/setup/config.html              |  639 ----
 content/docs/0.9/setup/fig/FlinkOnYarn.svg      |  151 -
 content/docs/0.9/setup/fig/LICENSE.txt          |   17 -
 .../0.9/setup/fig/flink_on_tez_translation.png  |  Bin 350867 -> 0 bytes
 content/docs/0.9/setup/fig/flink_tez_vertex.png |  Bin 105544 -> 0 bytes
 .../docs/0.9/setup/fig/slots_parallelism.svg    |  695 ----
 content/docs/0.9/setup/flink_on_tez.html        |  486 ---
 content/docs/0.9/setup/gce_setup.html           |  289 --
 content/docs/0.9/setup/index.html               |  205 --
 content/docs/0.9/setup/local_setup.html         |  324 --
 content/docs/0.9/setup/yarn_setup.html          |  443 ---
 content/docs/master/README.md                   |   60 -
 content/docs/master/apis/best_practices.html    |  411 ---
 content/docs/master/apis/cli.html               |  394 --
 content/docs/master/apis/cluster_execution.html |  345 --
 .../master/apis/dataset_transformations.html    | 1722 ---------
 .../docs/master/apis/example_connectors.html    |  404 ---
 content/docs/master/apis/examples.html          |  681 ----
 content/docs/master/apis/fig/LICENSE.txt        |   17 -
 .../fig/iterations_delta_iterate_operator.png   |  Bin 113607 -> 0 bytes
 ...terations_delta_iterate_operator_example.png |  Bin 335057 -> 0 bytes
 .../apis/fig/iterations_iterate_operator.png    |  Bin 63465 -> 0 bytes
 .../fig/iterations_iterate_operator_example.png |  Bin 102925 -> 0 bytes
 .../master/apis/fig/iterations_supersteps.png   |  Bin 54098 -> 0 bytes
 .../docs/master/apis/fig/plan_visualizer.png    |  Bin 145778 -> 0 bytes
 .../docs/master/apis/hadoop_compatibility.html  |  423 ---
 content/docs/master/apis/index.html             |  205 --
 content/docs/master/apis/iterations.html        |  399 --
 content/docs/master/apis/java8.html             |  360 --
 content/docs/master/apis/local_execution.html   |  302 --
 content/docs/master/apis/programming_guide.html | 3433 ------------------
 content/docs/master/apis/python.html            |  764 ----
 content/docs/master/apis/streaming_guide.html   | 2007 ----------
 content/docs/master/apis/web_client.html        |  272 --
 .../docs/master/apis/zip_elements_guide.html    |  251 --
 content/docs/master/build_docs.sh               |   64 -
 content/docs/master/faq.html                    |  606 ----
 content/docs/master/fig/LICENSE.txt             |   17 -
 content/docs/master/fig/overview-stack-0.9.png  |  Bin 260807 -> 0 bytes
 content/docs/master/index.html                  |  248 --
 content/docs/master/internals/add_operator.html |  431 ---
 .../master/internals/coding_guidelines.html     |  207 --
 .../docs/master/internals/fig/ClientJmTm.svg    |  348 --
 content/docs/master/internals/fig/LICENSE.txt   |   17 -
 .../internals/fig/job_and_execution_graph.svg   |  851 -----
 .../internals/fig/projects_dependencies.svg     |  586 ---
 content/docs/master/internals/fig/slots.svg     |  505 ---
 content/docs/master/internals/fig/stack.svg     |  606 ----
 .../docs/master/internals/fig/state_machine.svg |  318 --
 content/docs/master/internals/general_arch.html |  285 --
 .../master/internals/how_to_contribute.html     |  207 --
 content/docs/master/internals/ide_setup.html    |  328 --
 content/docs/master/internals/index.html        |  205 --
 .../docs/master/internals/job_scheduling.html   |  265 --
 content/docs/master/internals/logging.html      |  273 --
 .../master/internals/types_serialization.html   |  438 ---
 content/docs/master/libs/fig/LICENSE.txt        |   17 -
 .../master/libs/fig/gelly-example-graph.png     |  Bin 18813 -> 0 bytes
 content/docs/master/libs/fig/gelly-filter.png   |  Bin 57192 -> 0 bytes
 .../master/libs/fig/gelly-gsa-sssp-result.png   |  Bin 14472 -> 0 bytes
 .../docs/master/libs/fig/gelly-gsa-sssp1.png    |  Bin 33476 -> 0 bytes
 .../docs/master/libs/fig/gelly-gsa-sssp2.png    |  Bin 24962 -> 0 bytes
 .../master/libs/fig/gelly-reduceOnEdges.png     |  Bin 23843 -> 0 bytes
 .../master/libs/fig/gelly-reduceOnNeighbors.png |  Bin 34903 -> 0 bytes
 content/docs/master/libs/fig/gelly-union.png    |  Bin 50498 -> 0 bytes
 content/docs/master/libs/fig/gelly-vc-sssp1.png |  Bin 30470 -> 0 bytes
 content/docs/master/libs/fig/gelly-vc-sssp2.png |  Bin 24644 -> 0 bytes
 .../docs/master/libs/fig/spargel_example.png    |  Bin 199032 -> 0 bytes
 .../master/libs/fig/spargel_example_input.png   |  Bin 113478 -> 0 bytes
 content/docs/master/libs/gelly_guide.html       | 1090 ------
 content/docs/master/libs/index.html             |  205 --
 content/docs/master/libs/ml/als.html            |  401 --
 .../docs/master/libs/ml/contribution_guide.html |  325 --
 .../docs/master/libs/ml/distance_metrics.html   |  325 --
 content/docs/master/libs/ml/index.html          |  322 --
 content/docs/master/libs/ml/min_max_scaler.html |  339 --
 .../libs/ml/multiple_linear_regression.html     |  380 --
 content/docs/master/libs/ml/optimization.html   |  513 ---
 content/docs/master/libs/ml/pipelines.html      |  638 ----
 .../master/libs/ml/polynomial_features.html     |  333 --
 content/docs/master/libs/ml/quickstart.html     |  438 ---
 .../docs/master/libs/ml/standard_scaler.html    |  340 --
 content/docs/master/libs/ml/svm.html            |  419 ---
 content/docs/master/libs/ml/vision_roadmap.html |  313 --
 content/docs/master/libs/spargel_guide.html     |  313 --
 content/docs/master/libs/table.html             |  302 --
 content/docs/master/page/css/codetabs.css       |   62 -
 content/docs/master/page/css/flink.css          |  123 -
 content/docs/master/page/css/syntax.css         |   79 -
 content/docs/master/page/favicon.ico            |  Bin 1150 -> 0 bytes
 content/docs/master/page/img/LICENSE.txt        |   17 -
 .../docs/master/page/img/navbar-brand-logo.jpg  |  Bin 18470 -> 0 bytes
 .../compiler-webclient-new.png                  |  Bin 134963 -> 0 bytes
 .../jobmanager-running-new.png                  |  Bin 132859 -> 0 bytes
 .../page/img/quickstart-example/kmeans003.png   |  Bin 27962 -> 0 bytes
 .../page/img/quickstart-example/kmeans008.png   |  Bin 39305 -> 0 bytes
 .../page/img/quickstart-example/kmeans015.png   |  Bin 41958 -> 0 bytes
 .../page/img/quickstart-example/result003.png   |  Bin 60228 -> 0 bytes
 .../page/img/quickstart-example/result008.png   |  Bin 92732 -> 0 bytes
 .../page/img/quickstart-example/result015.png   |  Bin 89724 -> 0 bytes
 .../img/quickstart-example/run-webclient.png    |  Bin 89469 -> 0 bytes
 .../docs/master/page/img/quickstart_cluster.png |  Bin 83790 -> 0 bytes
 content/docs/master/page/js/codetabs.js         |  121 -
 .../master/quickstart/java_api_quickstart.html  |  330 --
 content/docs/master/quickstart/plotPoints.py    |  100 -
 .../quickstart/run_example_quickstart.html      |  359 --
 .../master/quickstart/scala_api_quickstart.html |  334 --
 .../master/quickstart/setup_quickstart.html     |  350 --
 content/docs/master/scala_shell.html            |  244 --
 content/docs/master/search-results.html         |  219 --
 content/docs/master/setup/building.html         |  273 --
 content/docs/master/setup/cluster_setup.html    |  528 ---
 content/docs/master/setup/config.html           |  639 ----
 content/docs/master/setup/fig/FlinkOnYarn.svg   |  151 -
 content/docs/master/setup/fig/LICENSE.txt       |   17 -
 .../setup/fig/flink_on_tez_translation.png      |  Bin 350867 -> 0 bytes
 .../docs/master/setup/fig/flink_tez_vertex.png  |  Bin 105544 -> 0 bytes
 .../docs/master/setup/fig/slots_parallelism.svg |  695 ----
 content/docs/master/setup/flink_on_tez.html     |  486 ---
 content/docs/master/setup/gce_setup.html        |  289 --
 content/docs/master/setup/index.html            |  205 --
 content/docs/master/setup/local_setup.html      |  324 --
 content/docs/master/setup/yarn_setup.html       |  445 ---
 content/downloads.html                          |   22 +-
 content/faq.html                                |   89 +-
 content/features.html                           |   22 +-
 content/how-to-contribute.html                  |   22 +-
 content/index.html                              |   28 +-
 content/material.html                           |   22 +-
 content/news/2012/08/21/release02.html          |   22 +-
 content/news/2012/10/15/icde2013.html           |   22 +-
 content/news/2012/11/12/btw2013demo.html        |   22 +-
 content/news/2012/11/21/previewICDE2013.html    |   22 +-
 content/news/2013/03/27/www-demo-paper.html     |   22 +-
 content/news/2013/10/21/cikm2013-paper.html     |   22 +-
 .../2013/12/13/humboldt-innovation-award.html   |   22 +-
 .../2014/01/10/stratosphere-hadoop-summit.html  |   22 +-
 .../news/2014/01/12/0.4-migration-guide.html    |   22 +-
 .../2014/01/13/stratosphere-release-0.4.html    |   22 +-
 .../26/optimizer_plan_visualization_tool.html   |   22 +-
 content/news/2014/01/28/querying_mongodb.html   |   22 +-
 .../18/amazon-elastic-mapreduce-cloud-yarn.html |   22 +-
 ...stratosphere-google-summer-of-code-2014.html |   22 +-
 .../16/stratosphere-goes-apache-incubator.html  |   22 +-
 content/news/2014/05/31/release-0.5.html        |   22 +-
 content/news/2014/08/26/release-0.6.html        |   22 +-
 content/news/2014/09/26/release-0.6.1.html      |   22 +-
 content/news/2014/10/03/upcoming_events.html    |   22 +-
 content/news/2014/11/04/release-0.7.0.html      |   22 +-
 .../news/2014/11/18/hadoop-compatibility.html   |   22 +-
 content/news/2015/01/06/december-in-flink.html  |   22 +-
 content/news/2015/01/21/release-0.8.html        |   22 +-
 content/news/2015/02/04/january-in-flink.html   |   22 +-
 content/news/2015/02/09/streaming-example.html  |   22 +-
 .../news/2015/03/02/february-2015-in-flink.html |   22 +-
 .../peeking-into-Apache-Flinks-Engine-Room.html |   22 +-
 content/news/2015/04/07/march-in-flink.html     |   22 +-
 .../2015/04/13/release-0.9.0-milestone1.html    |   22 +-
 .../05/11/Juggling-with-Bits-and-Bytes.html     |   22 +-
 .../news/2015/05/14/Community-update-April.html |   22 +-
 .../announcing-apache-flink-0.9.0-release.html  |   22 +-
 content/privacy-policy.html                     |   22 +-
 content/project.html                            |   22 +-
 docs/0.9/README.md                              |   60 -
 docs/0.9/apis/best_practices.html               |  411 ---
 docs/0.9/apis/cli.html                          |  394 --
 docs/0.9/apis/cluster_execution.html            |  345 --
 docs/0.9/apis/dataset_transformations.html      | 1720 ---------
 docs/0.9/apis/example_connectors.html           |  404 ---
 docs/0.9/apis/examples.html                     |  681 ----
 docs/0.9/apis/fig/LICENSE.txt                   |   17 -
 .../fig/iterations_delta_iterate_operator.png   |  Bin 113607 -> 0 bytes
 ...terations_delta_iterate_operator_example.png |  Bin 335057 -> 0 bytes
 .../apis/fig/iterations_iterate_operator.png    |  Bin 63465 -> 0 bytes
 .../fig/iterations_iterate_operator_example.png |  Bin 102925 -> 0 bytes
 docs/0.9/apis/fig/iterations_supersteps.png     |  Bin 54098 -> 0 bytes
 docs/0.9/apis/fig/plan_visualizer.png           |  Bin 145778 -> 0 bytes
 docs/0.9/apis/hadoop_compatibility.html         |  423 ---
 docs/0.9/apis/index.html                        |  205 --
 docs/0.9/apis/iterations.html                   |  399 --
 docs/0.9/apis/java8.html                        |  360 --
 docs/0.9/apis/local_execution.html              |  302 --
 docs/0.9/apis/programming_guide.html            | 3433 ------------------
 docs/0.9/apis/python.html                       |  764 ----
 docs/0.9/apis/streaming_guide.html              | 1944 ----------
 docs/0.9/apis/web_client.html                   |  272 --
 docs/0.9/build_docs.sh                          |   64 -
 docs/0.9/faq.html                               |  606 ----
 docs/0.9/fig/LICENSE.txt                        |   17 -
 docs/0.9/fig/overview-stack-0.9.png             |  Bin 260807 -> 0 bytes
 docs/0.9/index.html                             |  248 --
 docs/0.9/internals/add_operator.html            |  431 ---
 docs/0.9/internals/coding_guidelines.html       |  207 --
 docs/0.9/internals/fig/ClientJmTm.svg           |  348 --
 docs/0.9/internals/fig/LICENSE.txt              |   17 -
 .../internals/fig/job_and_execution_graph.svg   |  851 -----
 .../0.9/internals/fig/projects_dependencies.svg |  586 ---
 docs/0.9/internals/fig/slots.svg                |  505 ---
 docs/0.9/internals/fig/stack.svg                |  606 ----
 docs/0.9/internals/fig/state_machine.svg        |  318 --
 docs/0.9/internals/general_arch.html            |  285 --
 docs/0.9/internals/how_to_contribute.html       |  207 --
 docs/0.9/internals/ide_setup.html               |  328 --
 docs/0.9/internals/index.html                   |  205 --
 docs/0.9/internals/job_scheduling.html          |  265 --
 docs/0.9/internals/logging.html                 |  273 --
 docs/0.9/internals/types_serialization.html     |  438 ---
 docs/0.9/libs/fig/LICENSE.txt                   |   17 -
 docs/0.9/libs/fig/gelly-example-graph.png       |  Bin 18813 -> 0 bytes
 docs/0.9/libs/fig/gelly-filter.png              |  Bin 57192 -> 0 bytes
 docs/0.9/libs/fig/gelly-gsa-sssp-result.png     |  Bin 14472 -> 0 bytes
 docs/0.9/libs/fig/gelly-gsa-sssp1.png           |  Bin 33476 -> 0 bytes
 docs/0.9/libs/fig/gelly-gsa-sssp2.png           |  Bin 24962 -> 0 bytes
 docs/0.9/libs/fig/gelly-reduceOnEdges.png       |  Bin 23843 -> 0 bytes
 docs/0.9/libs/fig/gelly-reduceOnNeighbors.png   |  Bin 34903 -> 0 bytes
 docs/0.9/libs/fig/gelly-union.png               |  Bin 50498 -> 0 bytes
 docs/0.9/libs/fig/gelly-vc-sssp1.png            |  Bin 30470 -> 0 bytes
 docs/0.9/libs/fig/gelly-vc-sssp2.png            |  Bin 24644 -> 0 bytes
 docs/0.9/libs/fig/spargel_example.png           |  Bin 199032 -> 0 bytes
 docs/0.9/libs/fig/spargel_example_input.png     |  Bin 113478 -> 0 bytes
 docs/0.9/libs/gelly_guide.html                  | 1045 ------
 docs/0.9/libs/index.html                        |  205 --
 docs/0.9/libs/ml/als.html                       |  401 --
 docs/0.9/libs/ml/contribution_guide.html        |  325 --
 docs/0.9/libs/ml/distance_metrics.html          |  325 --
 docs/0.9/libs/ml/index.html                     |  322 --
 docs/0.9/libs/ml/min_max_scaler.html            |  339 --
 .../0.9/libs/ml/multiple_linear_regression.html |  380 --
 docs/0.9/libs/ml/optimization.html              |  513 ---
 docs/0.9/libs/ml/pipelines.html                 |  638 ----
 docs/0.9/libs/ml/polynomial_features.html       |  333 --
 docs/0.9/libs/ml/quickstart.html                |  438 ---
 docs/0.9/libs/ml/standard_scaler.html           |  340 --
 docs/0.9/libs/ml/svm.html                       |  419 ---
 docs/0.9/libs/ml/vision_roadmap.html            |  313 --
 docs/0.9/libs/spargel_guide.html                |  313 --
 docs/0.9/libs/table.html                        |  302 --
 docs/0.9/page/css/codetabs.css                  |   62 -
 docs/0.9/page/css/flink.css                     |  123 -
 docs/0.9/page/css/syntax.css                    |   79 -
 docs/0.9/page/favicon.ico                       |  Bin 1150 -> 0 bytes
 docs/0.9/page/img/LICENSE.txt                   |   17 -
 docs/0.9/page/img/navbar-brand-logo.jpg         |  Bin 18470 -> 0 bytes
 .../compiler-webclient-new.png                  |  Bin 134963 -> 0 bytes
 .../jobmanager-running-new.png                  |  Bin 132859 -> 0 bytes
 .../page/img/quickstart-example/kmeans003.png   |  Bin 27962 -> 0 bytes
 .../page/img/quickstart-example/kmeans008.png   |  Bin 39305 -> 0 bytes
 .../page/img/quickstart-example/kmeans015.png   |  Bin 41958 -> 0 bytes
 .../page/img/quickstart-example/result003.png   |  Bin 60228 -> 0 bytes
 .../page/img/quickstart-example/result008.png   |  Bin 92732 -> 0 bytes
 .../page/img/quickstart-example/result015.png   |  Bin 89724 -> 0 bytes
 .../img/quickstart-example/run-webclient.png    |  Bin 89469 -> 0 bytes
 docs/0.9/page/img/quickstart_cluster.png        |  Bin 83790 -> 0 bytes
 docs/0.9/page/js/codetabs.js                    |  121 -
 docs/0.9/quickstart/java_api_quickstart.html    |  330 --
 docs/0.9/quickstart/plotPoints.py               |  100 -
 docs/0.9/quickstart/run_example_quickstart.html |  359 --
 docs/0.9/quickstart/scala_api_quickstart.html   |  334 --
 docs/0.9/quickstart/setup_quickstart.html       |  350 --
 docs/0.9/scala_shell.html                       |  244 --
 docs/0.9/search-results.html                    |  219 --
 docs/0.9/setup/building.html                    |  273 --
 docs/0.9/setup/cluster_setup.html               |  528 ---
 docs/0.9/setup/config.html                      |  639 ----
 docs/0.9/setup/fig/FlinkOnYarn.svg              |  151 -
 docs/0.9/setup/fig/LICENSE.txt                  |   17 -
 docs/0.9/setup/fig/flink_on_tez_translation.png |  Bin 350867 -> 0 bytes
 docs/0.9/setup/fig/flink_tez_vertex.png         |  Bin 105544 -> 0 bytes
 docs/0.9/setup/fig/slots_parallelism.svg        |  695 ----
 docs/0.9/setup/flink_on_tez.html                |  486 ---
 docs/0.9/setup/gce_setup.html                   |  289 --
 docs/0.9/setup/index.html                       |  205 --
 docs/0.9/setup/local_setup.html                 |  324 --
 docs/0.9/setup/yarn_setup.html                  |  443 ---
 docs/master/README.md                           |   60 -
 docs/master/apis/best_practices.html            |  411 ---
 docs/master/apis/cli.html                       |  394 --
 docs/master/apis/cluster_execution.html         |  345 --
 docs/master/apis/dataset_transformations.html   | 1722 ---------
 docs/master/apis/example_connectors.html        |  404 ---
 docs/master/apis/examples.html                  |  681 ----
 docs/master/apis/fig/LICENSE.txt                |   17 -
 .../fig/iterations_delta_iterate_operator.png   |  Bin 113607 -> 0 bytes
 ...terations_delta_iterate_operator_example.png |  Bin 335057 -> 0 bytes
 .../apis/fig/iterations_iterate_operator.png    |  Bin 63465 -> 0 bytes
 .../fig/iterations_iterate_operator_example.png |  Bin 102925 -> 0 bytes
 docs/master/apis/fig/iterations_supersteps.png  |  Bin 54098 -> 0 bytes
 docs/master/apis/fig/plan_visualizer.png        |  Bin 145778 -> 0 bytes
 docs/master/apis/hadoop_compatibility.html      |  423 ---
 docs/master/apis/index.html                     |  205 --
 docs/master/apis/iterations.html                |  399 --
 docs/master/apis/java8.html                     |  360 --
 docs/master/apis/local_execution.html           |  302 --
 docs/master/apis/programming_guide.html         | 3433 ------------------
 docs/master/apis/python.html                    |  764 ----
 docs/master/apis/streaming_guide.html           | 2007 ----------
 docs/master/apis/web_client.html                |  272 --
 docs/master/apis/zip_elements_guide.html        |  251 --
 docs/master/build_docs.sh                       |   64 -
 docs/master/faq.html                            |  606 ----
 docs/master/fig/LICENSE.txt                     |   17 -
 docs/master/fig/overview-stack-0.9.png          |  Bin 260807 -> 0 bytes
 docs/master/index.html                          |  248 --
 docs/master/internals/add_operator.html         |  431 ---
 docs/master/internals/coding_guidelines.html    |  207 --
 docs/master/internals/fig/ClientJmTm.svg        |  348 --
 docs/master/internals/fig/LICENSE.txt           |   17 -
 .../internals/fig/job_and_execution_graph.svg   |  851 -----
 .../internals/fig/projects_dependencies.svg     |  586 ---
 docs/master/internals/fig/slots.svg             |  505 ---
 docs/master/internals/fig/stack.svg             |  606 ----
 docs/master/internals/fig/state_machine.svg     |  318 --
 docs/master/internals/general_arch.html         |  285 --
 docs/master/internals/how_to_contribute.html    |  207 --
 docs/master/internals/ide_setup.html            |  328 --
 docs/master/internals/index.html                |  205 --
 docs/master/internals/job_scheduling.html       |  265 --
 docs/master/internals/logging.html              |  273 --
 docs/master/internals/types_serialization.html  |  438 ---
 docs/master/libs/fig/LICENSE.txt                |   17 -
 docs/master/libs/fig/gelly-example-graph.png    |  Bin 18813 -> 0 bytes
 docs/master/libs/fig/gelly-filter.png           |  Bin 57192 -> 0 bytes
 docs/master/libs/fig/gelly-gsa-sssp-result.png  |  Bin 14472 -> 0 bytes
 docs/master/libs/fig/gelly-gsa-sssp1.png        |  Bin 33476 -> 0 bytes
 docs/master/libs/fig/gelly-gsa-sssp2.png        |  Bin 24962 -> 0 bytes
 docs/master/libs/fig/gelly-reduceOnEdges.png    |  Bin 23843 -> 0 bytes
 .../master/libs/fig/gelly-reduceOnNeighbors.png |  Bin 34903 -> 0 bytes
 docs/master/libs/fig/gelly-union.png            |  Bin 50498 -> 0 bytes
 docs/master/libs/fig/gelly-vc-sssp1.png         |  Bin 30470 -> 0 bytes
 docs/master/libs/fig/gelly-vc-sssp2.png         |  Bin 24644 -> 0 bytes
 docs/master/libs/fig/spargel_example.png        |  Bin 199032 -> 0 bytes
 docs/master/libs/fig/spargel_example_input.png  |  Bin 113478 -> 0 bytes
 docs/master/libs/gelly_guide.html               | 1090 ------
 docs/master/libs/index.html                     |  205 --
 docs/master/libs/ml/als.html                    |  401 --
 docs/master/libs/ml/contribution_guide.html     |  325 --
 docs/master/libs/ml/distance_metrics.html       |  325 --
 docs/master/libs/ml/index.html                  |  322 --
 docs/master/libs/ml/min_max_scaler.html         |  339 --
 .../libs/ml/multiple_linear_regression.html     |  380 --
 docs/master/libs/ml/optimization.html           |  513 ---
 docs/master/libs/ml/pipelines.html              |  638 ----
 docs/master/libs/ml/polynomial_features.html    |  333 --
 docs/master/libs/ml/quickstart.html             |  438 ---
 docs/master/libs/ml/standard_scaler.html        |  340 --
 docs/master/libs/ml/svm.html                    |  419 ---
 docs/master/libs/ml/vision_roadmap.html         |  313 --
 docs/master/libs/spargel_guide.html             |  313 --
 docs/master/libs/table.html                     |  302 --
 docs/master/page/css/codetabs.css               |   62 -
 docs/master/page/css/flink.css                  |  123 -
 docs/master/page/css/syntax.css                 |   79 -
 docs/master/page/favicon.ico                    |  Bin 1150 -> 0 bytes
 docs/master/page/img/LICENSE.txt                |   17 -
 docs/master/page/img/navbar-brand-logo.jpg      |  Bin 18470 -> 0 bytes
 .../compiler-webclient-new.png                  |  Bin 134963 -> 0 bytes
 .../jobmanager-running-new.png                  |  Bin 132859 -> 0 bytes
 .../page/img/quickstart-example/kmeans003.png   |  Bin 27962 -> 0 bytes
 .../page/img/quickstart-example/kmeans008.png   |  Bin 39305 -> 0 bytes
 .../page/img/quickstart-example/kmeans015.png   |  Bin 41958 -> 0 bytes
 .../page/img/quickstart-example/result003.png   |  Bin 60228 -> 0 bytes
 .../page/img/quickstart-example/result008.png   |  Bin 92732 -> 0 bytes
 .../page/img/quickstart-example/result015.png   |  Bin 89724 -> 0 bytes
 .../img/quickstart-example/run-webclient.png    |  Bin 89469 -> 0 bytes
 docs/master/page/img/quickstart_cluster.png     |  Bin 83790 -> 0 bytes
 docs/master/page/js/codetabs.js                 |  121 -
 docs/master/quickstart/java_api_quickstart.html |  330 --
 docs/master/quickstart/plotPoints.py            |  100 -
 .../quickstart/run_example_quickstart.html      |  359 --
 .../master/quickstart/scala_api_quickstart.html |  334 --
 docs/master/quickstart/setup_quickstart.html    |  350 --
 docs/master/scala_shell.html                    |  244 --
 docs/master/search-results.html                 |  219 --
 docs/master/setup/building.html                 |  273 --
 docs/master/setup/cluster_setup.html            |  528 ---
 docs/master/setup/config.html                   |  639 ----
 docs/master/setup/fig/FlinkOnYarn.svg           |  151 -
 docs/master/setup/fig/LICENSE.txt               |   17 -
 .../setup/fig/flink_on_tez_translation.png      |  Bin 350867 -> 0 bytes
 docs/master/setup/fig/flink_tez_vertex.png      |  Bin 105544 -> 0 bytes
 docs/master/setup/fig/slots_parallelism.svg     |  695 ----
 docs/master/setup/flink_on_tez.html             |  486 ---
 docs/master/setup/gce_setup.html                |  289 --
 docs/master/setup/index.html                    |  205 --
 docs/master/setup/local_setup.html              |  324 --
 docs/master/setup/yarn_setup.html               |  445 ---
 494 files changed, 480 insertions(+), 130528 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
index 2de61c6..f2606fa 100644
--- a/_config.yml
+++ b/_config.yml
@@ -37,11 +37,8 @@ FLINK_DOWNLOAD_URL_HADOOP_2_LATEST: http://stratosphere-bin.s3-website-us-east-1
 stable: "0.9.0"
 snapshot: "0.10"
 
-docs-stable: http://flink.apache.org/docs/0.9
-docs-snapshot: http://flink.apache.org/docs/master
-
-# docs-stable: "http://ci.apache.org/projects/flink/flink-docs-release-0.9"
-# docs-snapshot: "http://ci.apache.org/projects/flink/flink-docs-master"
+docs-stable: "http://ci.apache.org/projects/flink/flink-docs-release-0.9"
+docs-snapshot: "http://ci.apache.org/projects/flink/flink-docs-master"
 
 # Used by the gh_link plugin
 jira: "https://issues.apache.org/jira/browse/FLINK"

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/_includes/navbar.html
----------------------------------------------------------------------
diff --git a/_includes/navbar.html b/_includes/navbar.html
index 25b12e1..4aa7f75 100644
--- a/_includes/navbar.html
+++ b/_includes/navbar.html
@@ -42,18 +42,16 @@
               <ul class="dropdown-menu" role="menu">
                 <!-- Latest stable release -->
                 <li role="presentation" class="dropdown-header"><strong>Latest Release</strong> (Stable)</li>
-                <li><a href="{{ site.baseurl }}/docs/0.9">{{ site.stable }} Documentation</a></li>
-                <!-- <li><a href="{{ site.docs-stable }}">{{ site.stable }} Documentation</a></li>
+                <li><a href="{{ site.docs-stable }}">{{ site.stable }} Documentation</a></li>
                 <li><a href="{{ site.docs-stable }}/api/java" class="active">{{ site.stable }} Javadocs</a></li>
-                <li><a href="{{ site.docs-stable }}/api/scala/index.html" class="active">{{ site.stable }} ScalaDocs</a></li> -->
+                <li><a href="{{ site.docs-stable }}/api/scala/index.html" class="active">{{ site.stable }} ScalaDocs</a></li>
 
                 <!-- Snapshot docs -->
                 <li class="divider"></li>
                 <li role="presentation" class="dropdown-header"><strong>Snapshot</strong> (Development)</li>
-                <li><a href="{{ site.baseurl }}/docs/master">{{ site.snapshot }} Documentation</a></li>
-                <!-- <li><a href="{{ site.docs-snapshot }}">{{ site.snapshot }} Documentation</a></li>
+                <li><a href="{{ site.docs-snapshot }}">{{ site.snapshot }} Documentation</a></li>
                 <li><a href="{{ site.docs-snapshot }}/api/java" class="active">{{ site.snapshot }} Javadocs</a></li>
-                <li><a href="{{ site.docs-snapshot }}/api/scala/index.html" class="active">{{ site.snapshot }} ScalaDocs</a></li> -->
+                <li><a href="{{ site.docs-snapshot }}/api/scala/index.html" class="active">{{ site.snapshot }} ScalaDocs</a></li>
 
                 <!-- Wiki -->
                 <li class="divider"></li>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/blog/index.html
----------------------------------------------------------------------
diff --git a/content/blog/index.html b/content/blog/index.html
index 8975151..f377375 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -52,10 +52,10 @@
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Quickstart <span class="caret"></span></a>
               <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/setup_quickstart.html">Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/java_api_quickstart.html">Java API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/setup_quickstart.html">Setup</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/java_api_quickstart.html">Java API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
               </ul>
             </li>
 
@@ -71,18 +71,16 @@
               <ul class="dropdown-menu" role="menu">
                 <!-- Latest stable release -->
                 <li role="presentation" class="dropdown-header"><strong>Latest Release</strong> (Stable)</li>
-                <li><a href="/docs/0.9">0.9.0 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/0.9">0.9.0 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/java" class="active">0.9.0 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9">0.9.0 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/java" class="active">0.9.0 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li>
 
                 <!-- Snapshot docs -->
                 <li class="divider"></li>
                 <li role="presentation" class="dropdown-header"><strong>Snapshot</strong> (Development)</li>
-                <li><a href="/docs/master">0.10 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/master">0.10 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/java" class="active">0.10 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master">0.10 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/java" class="active">0.10 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li>
 
                 <!-- Wiki -->
                 <li class="divider"></li>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/blog/page2/index.html
----------------------------------------------------------------------
diff --git a/content/blog/page2/index.html b/content/blog/page2/index.html
index 4618cad..609a749 100644
--- a/content/blog/page2/index.html
+++ b/content/blog/page2/index.html
@@ -52,10 +52,10 @@
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Quickstart <span class="caret"></span></a>
               <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/setup_quickstart.html">Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/java_api_quickstart.html">Java API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/setup_quickstart.html">Setup</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/java_api_quickstart.html">Java API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
               </ul>
             </li>
 
@@ -71,18 +71,16 @@
               <ul class="dropdown-menu" role="menu">
                 <!-- Latest stable release -->
                 <li role="presentation" class="dropdown-header"><strong>Latest Release</strong> (Stable)</li>
-                <li><a href="/docs/0.9">0.9.0 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/0.9">0.9.0 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/java" class="active">0.9.0 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9">0.9.0 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/java" class="active">0.9.0 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li>
 
                 <!-- Snapshot docs -->
                 <li class="divider"></li>
                 <li role="presentation" class="dropdown-header"><strong>Snapshot</strong> (Development)</li>
-                <li><a href="/docs/master">0.10 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/master">0.10 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/java" class="active">0.10 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master">0.10 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/java" class="active">0.10 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li>
 
                 <!-- Wiki -->
                 <li class="divider"></li>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/blog/page3/index.html
----------------------------------------------------------------------
diff --git a/content/blog/page3/index.html b/content/blog/page3/index.html
index a49a9ad..441e662 100644
--- a/content/blog/page3/index.html
+++ b/content/blog/page3/index.html
@@ -52,10 +52,10 @@
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Quickstart <span class="caret"></span></a>
               <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/setup_quickstart.html">Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/java_api_quickstart.html">Java API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/setup_quickstart.html">Setup</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/java_api_quickstart.html">Java API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
               </ul>
             </li>
 
@@ -71,18 +71,16 @@
               <ul class="dropdown-menu" role="menu">
                 <!-- Latest stable release -->
                 <li role="presentation" class="dropdown-header"><strong>Latest Release</strong> (Stable)</li>
-                <li><a href="/docs/0.9">0.9.0 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/0.9">0.9.0 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/java" class="active">0.9.0 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9">0.9.0 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/java" class="active">0.9.0 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li>
 
                 <!-- Snapshot docs -->
                 <li class="divider"></li>
                 <li role="presentation" class="dropdown-header"><strong>Snapshot</strong> (Development)</li>
-                <li><a href="/docs/master">0.10 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/master">0.10 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/java" class="active">0.10 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master">0.10 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/java" class="active">0.10 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li>
 
                 <!-- Wiki -->
                 <li class="divider"></li>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/blog/page4/index.html
----------------------------------------------------------------------
diff --git a/content/blog/page4/index.html b/content/blog/page4/index.html
index 18141d9..98f552b 100644
--- a/content/blog/page4/index.html
+++ b/content/blog/page4/index.html
@@ -52,10 +52,10 @@
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Quickstart <span class="caret"></span></a>
               <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/setup_quickstart.html">Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/java_api_quickstart.html">Java API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/setup_quickstart.html">Setup</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/java_api_quickstart.html">Java API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
               </ul>
             </li>
 
@@ -71,18 +71,16 @@
               <ul class="dropdown-menu" role="menu">
                 <!-- Latest stable release -->
                 <li role="presentation" class="dropdown-header"><strong>Latest Release</strong> (Stable)</li>
-                <li><a href="/docs/0.9">0.9.0 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/0.9">0.9.0 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/java" class="active">0.9.0 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9">0.9.0 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/java" class="active">0.9.0 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li>
 
                 <!-- Snapshot docs -->
                 <li class="divider"></li>
                 <li role="presentation" class="dropdown-header"><strong>Snapshot</strong> (Development)</li>
-                <li><a href="/docs/master">0.10 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/master">0.10 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/java" class="active">0.10 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master">0.10 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/java" class="active">0.10 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li>
 
                 <!-- Wiki -->
                 <li class="divider"></li>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/coding-guidelines.html
----------------------------------------------------------------------
diff --git a/content/coding-guidelines.html b/content/coding-guidelines.html
index 045586c..71e389d 100644
--- a/content/coding-guidelines.html
+++ b/content/coding-guidelines.html
@@ -52,10 +52,10 @@
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Quickstart <span class="caret"></span></a>
               <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/setup_quickstart.html">Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/java_api_quickstart.html">Java API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/setup_quickstart.html">Setup</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/java_api_quickstart.html">Java API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
               </ul>
             </li>
 
@@ -71,18 +71,16 @@
               <ul class="dropdown-menu" role="menu">
                 <!-- Latest stable release -->
                 <li role="presentation" class="dropdown-header"><strong>Latest Release</strong> (Stable)</li>
-                <li><a href="/docs/0.9">0.9.0 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/0.9">0.9.0 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/java" class="active">0.9.0 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9">0.9.0 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/java" class="active">0.9.0 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li>
 
                 <!-- Snapshot docs -->
                 <li class="divider"></li>
                 <li role="presentation" class="dropdown-header"><strong>Snapshot</strong> (Development)</li>
-                <li><a href="/docs/master">0.10 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/master">0.10 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/java" class="active">0.10 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master">0.10 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/java" class="active">0.10 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li>
 
                 <!-- Wiki -->
                 <li class="divider"></li>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/community.html
----------------------------------------------------------------------
diff --git a/content/community.html b/content/community.html
index d3bce4d..d2e1297 100644
--- a/content/community.html
+++ b/content/community.html
@@ -52,10 +52,10 @@
             <li class="dropdown">
               <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Quickstart <span class="caret"></span></a>
               <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/setup_quickstart.html">Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/java_api_quickstart.html">Java API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/setup_quickstart.html">Setup</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/java_api_quickstart.html">Java API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
               </ul>
             </li>
 
@@ -71,18 +71,16 @@
               <ul class="dropdown-menu" role="menu">
                 <!-- Latest stable release -->
                 <li role="presentation" class="dropdown-header"><strong>Latest Release</strong> (Stable)</li>
-                <li><a href="/docs/0.9">0.9.0 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/0.9">0.9.0 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/java" class="active">0.9.0 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9">0.9.0 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/java" class="active">0.9.0 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li>
 
                 <!-- Snapshot docs -->
                 <li class="divider"></li>
                 <li role="presentation" class="dropdown-header"><strong>Snapshot</strong> (Development)</li>
-                <li><a href="/docs/master">0.10 Documentation</a></li>
-                <!-- <li><a href="http://flink.apache.org/docs/master">0.10 Documentation</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/java" class="active">0.10 Javadocs</a></li>
-                <li><a href="http://flink.apache.org/docs/master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li> -->
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master">0.10 Documentation</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/java" class="active">0.10 Javadocs</a></li>
+                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li>
 
                 <!-- Wiki -->
                 <li class="divider"></li>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/README.md
----------------------------------------------------------------------
diff --git a/content/docs/0.9/README.md b/content/docs/0.9/README.md
deleted file mode 100644
index 206b04c..0000000
--- a/content/docs/0.9/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-This README gives an overview of how to build and contribute to the documentation of Apache Flink.
-
-The documentation is included with the source of Apache Flink in order to ensure that you always
-have docs corresponding to your checked out version. The online documentation at
-http://flink.apache.org/ is also generated from the files found here.
-
-# Requirements
-
-We use Markdown to write and Jekyll to translate the documentation to static HTML. You can install
-all needed software via:
-
-    gem install jekyll
-    gem install kramdown
-    sudo easy_install Pygments
-
-Kramdown is needed for Markdown processing and the Python based Pygments is used for syntax
-highlighting.
-
-# Build
-
-The `docs/build_docs.sh` script calls Jekyll and generates the documentation in `docs/target`. You
-can then point your browser to `docs/target/index.html` and start reading.
-
-If you call the script with the preview flag `build_docs.sh -p`, Jekyll will start a web server at
-`localhost:4000` and watch the docs directory for updates. Use this mode to preview changes locally.
-
-# Contribute
-
-The documentation pages are written in
-[Markdown](http://daringfireball.net/projects/markdown/syntax). It is possible to use the
-[GitHub flavored syntax](http://github.github.com/github-flavored-markdown) and intermix plain html.
-
-In addition to Markdown, every page contains a Jekyll front matter, which specifies the title of the
-page and the layout to use. The title is used as the top-level heading for the page.
-
-    ---
-    title: "Title of the Page"
-    ---
-
-Furthermore, you can access variables found in `docs/_config.yml` as follows:
-
-    {{ site.NAME }}
-
-This will be replaced with the value of the variable called `NAME` when generating
-the docs.
-
-All documents are structed with headings. From these heading, a page outline is
-automatically generated for each page.
-
-```
-# Level-1 Heading  <- Used for the title of the page
-## Level-2 Heading <- Start with this one
-### Level-3 heading
-#### Level-4 heading
-##### Level-5 heading
-```
-
-Please stick to the "logical order" when using the headlines, e.g. start with level-2 headings and
-use level-3 headings for subsections, etc. Don't use a different ordering, because you don't like
-how a headline looks.


[49/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/dataset_transformations.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/dataset_transformations.html b/content/docs/0.9/apis/dataset_transformations.html
deleted file mode 100644
index 5247ebc..0000000
--- a/content/docs/0.9/apis/dataset_transformations.html
+++ /dev/null
@@ -1,1720 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: DataSet Transformations</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>DataSet Transformations</h1>
-
-
-
-<p>This document gives a deep-dive into the available transformations on DataSets. For a general introduction to the
-Flink Java API, please refer to the <a href="programming_guide.html">Programming Guide</a>.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#map" id="markdown-toc-map">Map</a></li>
-  <li><a href="#flatmap" id="markdown-toc-flatmap">FlatMap</a></li>
-  <li><a href="#mappartition" id="markdown-toc-mappartition">MapPartition</a></li>
-  <li><a href="#filter" id="markdown-toc-filter">Filter</a></li>
-  <li><a href="#project-tuple-datasets-only-javapython-api-only" id="markdown-toc-project-tuple-datasets-only-javapython-api-only">Project (Tuple DataSets only) (Java/Python API Only)</a></li>
-  <li><a href="#transformations-on-grouped-dataset" id="markdown-toc-transformations-on-grouped-dataset">Transformations on Grouped DataSet</a></li>
-  <li><a href="#transformations-on-grouped-dataset-1" id="markdown-toc-transformations-on-grouped-dataset-1">Transformations on Grouped DataSet</a></li>
-  <li><a href="#reduce-on-grouped-dataset" id="markdown-toc-reduce-on-grouped-dataset">Reduce on Grouped DataSet</a></li>
-  <li><a href="#groupreduce-on-grouped-dataset" id="markdown-toc-groupreduce-on-grouped-dataset">GroupReduce on Grouped DataSet</a></li>
-  <li><a href="#groupcombine-on-a-grouped-dataset" id="markdown-toc-groupcombine-on-a-grouped-dataset">GroupCombine on a Grouped DataSet</a></li>
-  <li><a href="#aggregate-on-grouped-tuple-dataset" id="markdown-toc-aggregate-on-grouped-tuple-dataset">Aggregate on Grouped Tuple DataSet</a></li>
-  <li><a href="#reduce-on-full-dataset" id="markdown-toc-reduce-on-full-dataset">Reduce on full DataSet</a></li>
-  <li><a href="#groupreduce-on-full-dataset" id="markdown-toc-groupreduce-on-full-dataset">GroupReduce on full DataSet</a></li>
-  <li><a href="#groupcombine-on-a-full-dataset" id="markdown-toc-groupcombine-on-a-full-dataset">GroupCombine on a full DataSet</a></li>
-  <li><a href="#aggregate-on-full-tuple-dataset" id="markdown-toc-aggregate-on-full-tuple-dataset">Aggregate on full Tuple DataSet</a></li>
-  <li><a href="#join" id="markdown-toc-join">Join</a></li>
-  <li><a href="#cross" id="markdown-toc-cross">Cross</a></li>
-  <li><a href="#cogroup" id="markdown-toc-cogroup">CoGroup</a></li>
-  <li><a href="#union" id="markdown-toc-union">Union</a></li>
-  <li><a href="#rebalance" id="markdown-toc-rebalance">Rebalance</a></li>
-  <li><a href="#hash-partition" id="markdown-toc-hash-partition">Hash-Partition</a></li>
-  <li><a href="#sort-partition" id="markdown-toc-sort-partition">Sort Partition</a></li>
-  <li><a href="#first-n" id="markdown-toc-first-n">First-n</a></li>
-</ul>
-
-<h3 id="map">Map</h3>
-
-<p>The Map transformation applies a user-defined map function on each element of a DataSet.
-It implements a one-to-one mapping, that is, exactly one element must be returned by
-the function.</p>
-
-<p>The following code transforms a DataSet of Integer pairs into a DataSet of Integers:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// MapFunction that adds two integer values</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">IntAdder</span> <span class="kd">implements</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">map</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">in</span><span class="o">.</span><span class="na">f0</span> <span class="o">+</span> <span class="n">in</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">intPairs</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">intSums</span> <span class="o">=</span> <span class="n">intPairs</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="nf">IntAdder</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">intPairs</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">Int</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">intSums</span> <span class="k">=</span> <span class="n">intPairs</span><span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">pair</span> <span class="k">=&gt;</span> <span class="n">pair</span><span class="o">.</span><span class="n">_1</span> <span class="o">+</span> <span class="n">pair</span><span class="o">.</span><span class="n">_2</span> <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="n">intSums</span> <span class="o">=</span> <span class="n">intPairs</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">sum</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="flatmap">FlatMap</h3>
-
-<p>The FlatMap transformation applies a user-defined flat-map function on each element of a DataSet.
-This variant of a map function can return arbitrary many result elements (including none) for each input element.</p>
-
-<p>The following code transforms a DataSet of text lines into a DataSet of words:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// FlatMapFunction that tokenizes a String by whitespace characters and emits all String tokens.</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Tokenizer</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">token</span> <span class="o">:</span> <span class="n">value</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot;\\W&quot;</span><span class="o">))</span> <span class="o">{</span>
-      <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">token</span><span class="o">);</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">textLines</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">words</span> <span class="o">=</span> <span class="n">textLines</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">textLines</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">words</span> <span class="k">=</span> <span class="n">textLines</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">)</span> <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="n">words</span> <span class="o">=</span> <span class="n">lines</span><span class="o">.</span><span class="n">flat_map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">c</span><span class="p">:</span> <span class="p">[</span><span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">x</span><span class="p">],</span> <span class="n">STRING</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="mappartition">MapPartition</h3>
-
-<p>MapPartition transforms a parallel partition in a single function call. The map-partition function
-gets the partition as Iterable and can produce an arbitrary number of result values. The number of elements in each partition depends on the degree-of-parallelism
-and previous operations.</p>
-
-<p>The following code transforms a DataSet of text lines into a DataSet of counts per partition:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">PartitionCounter</span> <span class="kd">implements</span> <span class="n">MapPartitionFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="o">{</span>
-
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">mapPartition</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">values</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="kt">long</span> <span class="n">c</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">s</span> <span class="o">:</span> <span class="n">values</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">c</span><span class="o">++;</span>
-    <span class="o">}</span>
-    <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">c</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">textLines</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">counts</span> <span class="o">=</span> <span class="n">textLines</span><span class="o">.</span><span class="na">mapPartition</span><span class="o">(</span><span class="k">new</span> <span class="nf">PartitionCounter</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">textLines</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="c1">// Some is required because the return value must be a Collection.</span>
-<span class="c1">// There is an implicit conversion from Option to a Collection.</span>
-<span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">texLines</span><span class="o">.</span><span class="n">mapPartition</span> <span class="o">{</span> <span class="n">in</span> <span class="k">=&gt;</span> <span class="nc">Some</span><span class="o">(</span><span class="n">in</span><span class="o">.</span><span class="n">size</span><span class="o">)</span> <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="n">counts</span> <span class="o">=</span> <span class="n">lines</span><span class="o">.</span><span class="n">map_partition</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">c</span><span class="p">:</span> <span class="p">[</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="n">x</span><span class="p">)],</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="filter">Filter</h3>
-
-<p>The Filter transformation applies a user-defined filter function on each element of a DataSet and retains only those elements for which the function returns <code>true</code>.</p>
-
-<p>The following code removes all Integers smaller than zero from a DataSet:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// FilterFunction that filters out all Integers smaller than zero.</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">NaturalNumberFilter</span> <span class="kd">implements</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Integer</span> <span class="n">number</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="n">number</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="o">;</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">intNumbers</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">naturalNumbers</span> <span class="o">=</span> <span class="n">intNumbers</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="nf">NaturalNumberFilter</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">intNumbers</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Int</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">naturalNumbers</span> <span class="k">=</span> <span class="n">intNumbers</span><span class="o">.</span><span class="n">filter</span> <span class="o">{</span> <span class="k">_</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="n">naturalNumbers</span> <span class="o">=</span> <span class="n">intNumbers</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<p><strong>IMPORTANT:</strong> The system assumes that the function does not modify the elements on which the predicate is applied. Violating this assumption
-can lead to incorrect results.</p>
-
-<h3 id="project-tuple-datasets-only-javapython-api-only">Project (Tuple DataSets only) (Java/Python API Only)</h3>
-
-<p>The Project transformation removes or moves Tuple fields of a Tuple DataSet.
-The <code>project(int...)</code> method selects Tuple fields that should be retained by their index and defines their order in the output Tuple.</p>
-
-<p>Projections do not require the definition of a user function.</p>
-
-<p>The following code shows different ways to apply a Project transformation on a DataSet:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="c1">// converts Tuple3&lt;Integer, Double, String&gt; into Tuple2&lt;String, Integer&gt;</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="mi">0</span><span class="o">);</span></code></pre></div>
-
-    <h4 id="projection-with-type-hint">Projection with Type Hint</h4>
-
-    <p>Note that the Java compiler cannot infer the return type of <code>project</code> operator. This can cause a problem if you call another operator on a result of <code>project</code> operator such as:</p>
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple5</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">String</span><span class="o">,</span><span class="n">String</span><span class="o">,</span><span class="n">String</span><span class="o">,</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">ds</span> <span class="o">=</span> <span class="o">....</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple1</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">ds2</span> <span class="o">=</span> <span class="n">ds</span><span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">distinct</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span></code></pre></div>
-
-    <p>This problem can be overcome by hinting the return type of <code>project</code> operator like this:</p>
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple1</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">ds2</span> <span class="o">=</span> <span class="n">ds</span><span class="o">.&lt;</span><span class="n">Tuple1</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;&gt;</span><span class="n">project</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">distinct</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span></code></pre></div>
-
-    <h3 id="transformations-on-grouped-dataset">Transformations on Grouped DataSet</h3>
-
-    <p>The reduce operations can operate on grouped data sets. Specifying the key to
-be used for grouping can be done in many ways:</p>
-
-    <ul>
-      <li>key expressions</li>
-      <li>a key-selector function</li>
-      <li>one or more field position keys (Tuple DataSet only)</li>
-      <li>Case Class fields (Case Classes only)</li>
-    </ul>
-
-    <p>Please look at the reduce examples to see how the grouping keys are specified.</p>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"><span class="n">out</span> <span class="o">=</span> <span class="ow">in</span><span class="o">.</span><span class="n">project</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">0</span><span class="p">);</span></code></pre></div>
-
-    <h3 id="transformations-on-grouped-dataset-1">Transformations on Grouped DataSet</h3>
-
-    <p>The reduce operations can operate on grouped data sets. Specifying the key to
-be used for grouping can be done using one or more field position keys (Tuple DataSet only).</p>
-
-    <p>Please look at the reduce examples to see how the grouping keys are specified.</p>
-
-  </div>
-</div>
-
-<h3 id="reduce-on-grouped-dataset">Reduce on Grouped DataSet</h3>
-
-<p>A Reduce transformation that is applied on a grouped DataSet reduces each group to a single
-element using a user-defined reduce function.
-For each group of input elements, a reduce function successively combines pairs of elements into one
-element until only a single element for each group remains.</p>
-
-<h4 id="reduce-on-dataset-grouped-by-keyselector-function">Reduce on DataSet Grouped by KeySelector Function</h4>
-
-<p>A key-selector function extracts a key value from each element of a DataSet. The extracted key
-value is used to group the DataSet.
-The following code shows how to group a POJO DataSet using a key-selector function and to reduce it
-with a reduce function.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// some ordinary POJO</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">WC</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="n">String</span> <span class="n">word</span><span class="o">;</span>
-  <span class="kd">public</span> <span class="kt">int</span> <span class="n">count</span><span class="o">;</span>
-  <span class="c1">// [...]</span>
-<span class="o">}</span>
-
-<span class="c1">// ReduceFunction that sums Integer attributes of a POJO</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">WordCounter</span> <span class="kd">implements</span> <span class="n">ReduceFunction</span><span class="o">&lt;</span><span class="n">WC</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="n">WC</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">WC</span> <span class="n">in1</span><span class="o">,</span> <span class="n">WC</span> <span class="n">in2</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">return</span> <span class="k">new</span> <span class="nf">WC</span><span class="o">(</span><span class="n">in1</span><span class="o">.</span><span class="na">word</span><span class="o">,</span> <span class="n">in1</span><span class="o">.</span><span class="na">count</span> <span class="o">+</span> <span class="n">in2</span><span class="o">.</span><span class="na">count</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">WC</span><span class="o">&gt;</span> <span class="n">words</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">WC</span><span class="o">&gt;</span> <span class="n">wordCounts</span> <span class="o">=</span> <span class="n">words</span>
-                         <span class="c1">// DataSet grouping on field &quot;word&quot;</span>
-                         <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="s">&quot;word&quot;</span><span class="o">)</span>
-                         <span class="c1">// apply ReduceFunction on grouped DataSet</span>
-                         <span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="k">new</span> <span class="nf">WordCounter</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="c1">// some ordinary POJO</span>
-<span class="k">class</span> <span class="nc">WC</span><span class="o">(</span><span class="k">val</span> <span class="n">word</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="k">val</span> <span class="n">count</span><span class="k">:</span> <span class="kt">Int</span><span class="o">)</span> <span class="o">{</span>
-  <span class="k">def</span> <span class="k">this</span><span class="o">()</span> <span class="o">{</span>
-    <span class="k">this</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="o">-</span><span class="mi">1</span><span class="o">)</span>
-  <span class="o">}</span>
-  <span class="c1">// [...]</span>
-<span class="o">}</span>
-
-<span class="k">val</span> <span class="n">words</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">WC</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">wordCounts</span> <span class="k">=</span> <span class="n">words</span><span class="o">.</span><span class="n">groupBy</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">word</span> <span class="o">}</span> <span class="n">reduce</span> <span class="o">{</span>
-  <span class="o">(</span><span class="n">w1</span><span class="o">,</span> <span class="n">w2</span><span class="o">)</span> <span class="k">=&gt;</span> <span class="k">new</span> <span class="nc">WC</span><span class="o">(</span><span class="n">w1</span><span class="o">.</span><span class="n">word</span><span class="o">,</span> <span class="n">w1</span><span class="o">.</span><span class="n">count</span> <span class="o">+</span> <span class="n">w2</span><span class="o">.</span><span class="n">count</span><span class="o">)</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"><span class="n">Not</span> <span class="n">supported</span><span class="o">.</span></code></pre></div>
-  </div>
-</div>
-
-<h4 id="reduce-on-dataset-grouped-by-field-position-keys-tuple-datasets-only">Reduce on DataSet Grouped by Field Position Keys (Tuple DataSets only)</h4>
-
-<p>Field position keys specify one or more fields of a Tuple DataSet that are used as grouping keys.
-The following code shows how to use field position keys and apply a reduce function</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">tuples</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">reducedTuples</span> <span class="o">=</span>
-                                         <span class="n">tuples</span>
-                                         <span class="c1">// group DataSet on first and second field of Tuple</span>
-                                         <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span><span class="mi">1</span><span class="o">)</span>
-                                         <span class="c1">// apply ReduceFunction on grouped DataSet</span>
-                                         <span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="k">new</span> <span class="nf">MyTupleReducer</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">tuples</span> <span class="k">=</span> <span class="nc">DataSet</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="c1">// group on the first and second Tuple field</span>
-<span class="k">val</span> <span class="n">reducedTuples</span> <span class="k">=</span> <span class="n">tuples</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="mi">1</span><span class="o">).</span><span class="n">reduce</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span></code></pre></div>
-
-    <h4 id="reduce-on-dataset-grouped-by-case-class-fields">Reduce on DataSet grouped by Case Class Fields</h4>
-
-    <p>When using Case Classes you can also specify the grouping key using the names of the fields:</p>
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">case</span> <span class="k">class</span> <span class="nc">MyClass</span><span class="o">(</span><span class="k">val</span> <span class="n">a</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">b</span><span class="k">:</span> <span class="kt">Int</span><span class="o">,</span> <span class="n">c</span><span class="k">:</span> <span class="kt">Double</span><span class="o">)</span>
-<span class="k">val</span> <span class="n">tuples</span> <span class="k">=</span> <span class="nc">DataSet</span><span class="o">[</span><span class="kt">MyClass</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="c1">// group on the first and second field</span>
-<span class="k">val</span> <span class="n">reducedTuples</span> <span class="k">=</span> <span class="n">tuples</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="s">&quot;a&quot;</span><span class="o">,</span> <span class="s">&quot;b&quot;</span><span class="o">).</span><span class="n">reduce</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="n">reducedTuples</span> <span class="o">=</span> <span class="n">tuples</span><span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">reduce</span><span class="p">(</span> <span class="o">...</span> <span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="groupreduce-on-grouped-dataset">GroupReduce on Grouped DataSet</h3>
-
-<p>A GroupReduce transformation that is applied on a grouped DataSet calls a user-defined
-group-reduce function for each group. The difference
-between this and <em>Reduce</em> is that the user defined function gets the whole group at once.
-The function is invoked with an Iterable over all elements of a group and can return an arbitrary
-number of result elements.</p>
-
-<h4 id="groupreduce-on-dataset-grouped-by-field-position-keys-tuple-datasets-only">GroupReduce on DataSet Grouped by Field Position Keys (Tuple DataSets only)</h4>
-
-<p>The following code shows how duplicate strings can be removed from a DataSet grouped by Integer.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">DistinctReduce</span>
-         <span class="kd">implements</span> <span class="n">GroupReduceFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">in</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-
-    <span class="n">Set</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">uniqStrings</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HashSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;();</span>
-    <span class="n">Integer</span> <span class="n">key</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
-
-    <span class="c1">// add all strings of the group to the set</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">t</span> <span class="o">:</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">key</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="na">f0</span><span class="o">;</span>
-      <span class="n">uniqStrings</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">t</span><span class="o">.</span><span class="na">f1</span><span class="o">);</span>
-    <span class="o">}</span>
-
-    <span class="c1">// emit all unique strings.</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">s</span> <span class="o">:</span> <span class="n">uniqStrings</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;(</span><span class="n">key</span><span class="o">,</span> <span class="n">s</span><span class="o">));</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">input</span>
-                           <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>            <span class="c1">// group DataSet by the first tuple field</span>
-                           <span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="nf">DistinctReduce</span><span class="o">());</span>  <span class="c1">// apply GroupReduceFunction</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">output</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">reduceGroup</span> <span class="o">{</span>
-      <span class="o">(</span><span class="n">in</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)])</span> <span class="k">=&gt;</span>
-        <span class="n">in</span><span class="o">.</span><span class="n">toSet</span> <span class="n">foreach</span> <span class="o">(</span><span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">)</span>
-    <span class="o">}</span></code></pre></div>
-
-    <h4 id="groupreduce-on-dataset-grouped-by-case-class-fields">GroupReduce on DataSet Grouped by Case Class Fields</h4>
-
-    <p>Works analogous to grouping by Case Class fields in <em>Reduce</em> transformations.</p>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="k">class</span> <span class="nc">DistinctReduce</span><span class="p">(</span><span class="n">GroupReduceFunction</span><span class="p">):</span>
-   <span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-     <span class="n">dic</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
-     <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">:</span>
-       <span class="n">dic</span><span class="p">[</span><span class="n">value</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="mi">1</span>
-     <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">dic</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
-       <span class="n">collector</span><span class="o">.</span><span class="n">collect</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-
- <span class="n">output</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">DistinctReduce</span><span class="p">(),</span> <span class="n">STRING</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h4 id="groupreduce-on-dataset-grouped-by-keyselector-function">GroupReduce on DataSet Grouped by KeySelector Function</h4>
-
-<p>Works analogous to key-selector functions in <em>Reduce</em> transformations.</p>
-
-<h4 id="groupreduce-on-sorted-groups">GroupReduce on sorted groups</h4>
-
-<p>A group-reduce function accesses the elements of a group using an Iterable. Optionally, the Iterable can hand out the elements of a group in a specified order. In many cases this can help to reduce the complexity of a user-defined
-group-reduce function and improve its efficiency.</p>
-
-<p>The following code shows another example how to remove duplicate Strings in a DataSet grouped by an Integer and sorted by String.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// GroupReduceFunction that removes consecutive identical elements</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">DistinctReduce</span>
-         <span class="kd">implements</span> <span class="n">GroupReduceFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">in</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="n">Integer</span> <span class="n">key</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
-    <span class="n">String</span> <span class="n">comp</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
-
-    <span class="k">for</span> <span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">t</span> <span class="o">:</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">key</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="na">f0</span><span class="o">;</span>
-      <span class="n">String</span> <span class="n">next</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-
-      <span class="c1">// check if strings are different</span>
-      <span class="k">if</span> <span class="o">(</span><span class="n">com</span> <span class="o">==</span> <span class="kc">null</span> <span class="o">||</span> <span class="o">!</span><span class="n">next</span><span class="o">.</span><span class="na">equals</span><span class="o">(</span><span class="n">comp</span><span class="o">))</span> <span class="o">{</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;(</span><span class="n">key</span><span class="o">,</span> <span class="n">next</span><span class="o">));</span>
-        <span class="n">comp</span> <span class="o">=</span> <span class="n">next</span><span class="o">;</span>
-      <span class="o">}</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">input</span>
-                         <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>                         <span class="c1">// group DataSet by first field</span>
-                         <span class="o">.</span><span class="na">sortGroup</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">Order</span><span class="o">.</span><span class="na">ASCENDING</span><span class="o">)</span>      <span class="c1">// sort groups on second tuple field</span>
-                         <span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="nf">DistinctReduce</span><span class="o">());</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">output</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">sortGroup</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="nc">Order</span><span class="o">.</span><span class="nc">ASCENDING</span><span class="o">).</span><span class="n">reduceGroup</span> <span class="o">{</span>
-      <span class="o">(</span><span class="n">in</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)])</span> <span class="k">=&gt;</span>
-        <span class="k">var</span> <span class="n">prev</span><span class="k">:</span> <span class="o">(</span><span class="kt">Int</span><span class="o">,</span> <span class="kt">String</span><span class="o">)</span> <span class="k">=</span> <span class="kc">null</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">t</span> <span class="k">&lt;-</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-          <span class="k">if</span> <span class="o">(</span><span class="n">prev</span> <span class="o">==</span> <span class="kc">null</span> <span class="o">||</span> <span class="n">prev</span> <span class="o">!=</span> <span class="n">t</span><span class="o">)</span>
-            <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="n">t</span><span class="o">)</span>
-        <span class="o">}</span>
-    <span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="k">class</span> <span class="nc">DistinctReduce</span><span class="p">(</span><span class="n">GroupReduceFunction</span><span class="p">):</span>
-   <span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-     <span class="n">dic</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
-     <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">:</span>
-       <span class="n">dic</span><span class="p">[</span><span class="n">value</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="mi">1</span>
-     <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">dic</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
-       <span class="n">collector</span><span class="o">.</span><span class="n">collect</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-
- <span class="n">output</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">sort_group</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">Order</span><span class="o">.</span><span class="n">ASCENDING</span><span class="p">)</span><span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">DistinctReduce</span><span class="p">(),</span> <span class="n">STRING</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<p><strong>Note:</strong> A GroupSort often comes for free if the grouping is established using a sort-based execution strategy of an operator before the reduce operation.</p>
-
-<h4 id="combinable-groupreducefunctions">Combinable GroupReduceFunctions</h4>
-
-<p>In contrast to a reduce function, a group-reduce function is not
-necessarily combinable. In order to make a group-reduce function
-combinable, you need to use the <code>RichGroupReduceFunction</code> variant,
-implement (override) the <code>combine()</code> method, and annotate the
-<code>RichGroupReduceFunction</code> with the <code>@Combinable</code> annotation as shown here:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// Combinable GroupReduceFunction that computes two sums.</span>
-<span class="c1">// Note that we use the RichGroupReduceFunction because it defines the combine method</span>
-<span class="nd">@Combinable</span>
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyCombinableGroupReducer</span>
-         <span class="kd">extends</span> <span class="n">RichGroupReduceFunction</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span>
-                                     <span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">in</span><span class="o">,</span>
-                     <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-
-    <span class="n">String</span> <span class="n">key</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
-    <span class="kt">int</span> <span class="n">intSum</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-    <span class="kt">double</span> <span class="n">doubleSum</span> <span class="o">=</span> <span class="mf">0.0</span><span class="o">;</span>
-
-    <span class="k">for</span> <span class="o">(</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">curr</span> <span class="o">:</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">key</span> <span class="o">=</span> <span class="n">curr</span><span class="o">.</span><span class="na">f0</span><span class="o">;</span>
-      <span class="n">intSum</span> <span class="o">+=</span> <span class="n">curr</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-      <span class="n">doubleSum</span> <span class="o">+=</span> <span class="n">curr</span><span class="o">.</span><span class="na">f2</span><span class="o">;</span>
-    <span class="o">}</span>
-    <span class="c1">// emit a tuple with both sums</span>
-    <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;(</span><span class="n">key</span><span class="o">,</span> <span class="n">intSum</span><span class="o">,</span> <span class="n">doubleSum</span><span class="o">));</span>
-  <span class="o">}</span>
-
-  <span class="nd">@Override</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">combine</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">in</span><span class="o">,</span>
-                      <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="c1">// in some cases combine() calls can simply be forwarded to reduce().</span>
-    <span class="k">this</span><span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="n">in</span><span class="o">,</span> <span class="n">out</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="c1">// Combinable GroupReduceFunction that computes two sums.</span>
-<span class="c1">// Note that we use the RichGroupReduceFunction because it defines the combine method</span>
-<span class="nd">@Combinable</span>
-<span class="k">class</span> <span class="nc">MyCombinableGroupReducer</span>
-  <span class="k">extends</span> <span class="nc">RichGroupReduceFunction</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)</span>, <span class="o">(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="o">{}</span>
-
-  <span class="k">def</span> <span class="n">reduce</span><span class="o">(</span>
-      <span class="n">in</span><span class="k">:</span> <span class="kt">java.lang.Iterable</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)],</span>
-      <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)])</span><span class="k">:</span> <span class="kt">Unit</span> <span class="o">=</span> <span class="o">{</span>
-
-    <span class="k">val</span> <span class="n">key</span><span class="k">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kc">null</span>
-    <span class="k">val</span> <span class="n">intSum</span> <span class="k">=</span> <span class="mi">0</span>
-    <span class="k">val</span> <span class="n">doubleSum</span> <span class="k">=</span> <span class="mf">0.0</span>
-
-    <span class="k">for</span> <span class="o">(</span><span class="n">curr</span> <span class="k">&lt;-</span> <span class="n">in</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">key</span> <span class="k">=</span> <span class="n">curr</span><span class="o">.</span><span class="n">_1</span>
-      <span class="n">intSum</span> <span class="o">+=</span> <span class="n">curr</span><span class="o">.</span><span class="n">_2</span>
-      <span class="n">doubleSum</span> <span class="o">+=</span> <span class="n">curr</span><span class="o">.</span><span class="n">_3</span>
-    <span class="o">}</span>
-    <span class="c1">// emit a tuple with both sums</span>
-    <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="n">key</span><span class="o">,</span> <span class="n">intSum</span><span class="o">,</span> <span class="n">doubleSum</span><span class="o">);</span>
-  <span class="o">}</span>
-
-  <span class="k">def</span> <span class="n">combine</span><span class="o">(</span>
-      <span class="n">in</span><span class="k">:</span> <span class="kt">java.lang.Iterable</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)],</span>
-      <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span>, <span class="kt">Double</span><span class="o">)])</span><span class="k">:</span> <span class="kt">Unit</span> <span class="o">=</span> <span class="o">{</span>
-    <span class="c1">// in some cases combine() calls can simply be forwarded to reduce().</span>
-    <span class="k">this</span><span class="o">.</span><span class="n">reduce</span><span class="o">(</span><span class="n">in</span><span class="o">,</span> <span class="n">out</span><span class="o">)</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-  <div data-lang="python">
-
-    <div class="highlight"><pre><code class="language-python"> <span class="k">class</span> <span class="nc">GroupReduce</span><span class="p">(</span><span class="n">GroupReduceFunction</span><span class="p">):</span>
-   <span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-     <span class="n">key</span><span class="p">,</span> <span class="n">int_sum</span><span class="p">,</span> <span class="n">float_sum</span> <span class="o">=</span> <span class="n">iterator</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-     <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">:</span>
-       <span class="n">int_sum</span> <span class="o">+=</span> <span class="n">value</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
-       <span class="n">float_sum</span> <span class="o">+=</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
-     <span class="n">collector</span><span class="o">.</span><span class="n">collect</span><span class="p">((</span><span class="n">key</span><span class="p">,</span> <span class="n">int_sum</span><span class="p">,</span> <span class="n">float_sum</span><span class="p">))</span>
-   <span class="c"># in some cases combine() calls can simply be forwarded to reduce().</span>
-   <span class="k">def</span> <span class="nf">combine</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-     <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">reduce</span><span class="p">(</span><span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">)</span>
-
-<span class="n">data</span><span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">GroupReduce</span><span class="p">(),</span> <span class="p">(</span><span class="n">STRING</span><span class="p">,</span> <span class="n">INT</span><span class="p">,</span> <span class="n">FLOAT</span><span class="p">),</span> <span class="n">combinable</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span></code></pre></div>
-
-  </div>
-</div>
-
-<h3 id="groupcombine-on-a-grouped-dataset">GroupCombine on a Grouped DataSet</h3>
-
-<p>The GroupCombine transformation is the generalized form of the combine step in
-the Combinable GroupReduceFunction. It is generalized in the sense that it
-allows combining of input type <code>I</code> to an arbitrary output type <code>O</code>. In contrast,
-the combine step in the GroupReduce only allows combining from input type <code>I</code> to
-output type <code>I</code>. This is because the reduce step in the GroupReduceFunction
-expects input type <code>I</code>.</p>
-
-<p>In some applications, it is desirable to combine a DataSet into an intermediate
-format before performing additional transformations (e.g. to reduce data
-size). This can be achieved with a ComineGroup transformation with very little
-costs.</p>
-
-<p><strong>Note:</strong> The GroupCombine on a Grouped DataSet is performed in memory with a
-  greedy strategy which may not process all data at once but in multiple
-  steps. It is also performed on the individual partitions without a data
-  exchange like in a GroupReduce transformation. This may lead to partial
-  results.</p>
-
-<p>The following example demonstrates the use of a CombineGroup transformation for
-an alternative WordCount implementation. In the implementation,</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="o">[..]</span> <span class="c1">// The words received as input</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">groupedInput</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span> <span class="c1">// group identical words</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">combinedWords</span> <span class="o">=</span> <span class="n">groupedInput</span><span class="o">.</span><span class="na">combineGroup</span><span class="o">(</span><span class="k">new</span> <span class="n">GroupCombineFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">combine</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">words</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;)</span> <span class="o">{</span> <span class="c1">// combine</span>
-        <span class="kt">int</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">word</span> <span class="o">:</span> <span class="n">words</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">count</span><span class="o">++;</span>
-        <span class="o">}</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tuple2</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="o">}</span>
-<span class="o">});</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">groupedCombinedWords</span> <span class="o">=</span> <span class="n">combinedWords</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span> <span class="c1">// group by words again</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">combinedWords</span><span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="nf">GroupReduceFunction</span><span class="o">()</span> <span class="o">{</span> <span class="c1">// group reduce with full data exchange</span>
-
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;)</span> <span class="o">{</span>
-        <span class="kt">int</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="n">word</span> <span class="o">:</span> <span class="n">words</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">count</span><span class="o">++;</span>
-        <span class="o">}</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tuple2</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="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="o">[</span><span class="kt">..</span><span class="o">]</span> <span class="c1">// The words received as input</span>
-<span class="k">val</span> <span class="n">groupedInput</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-
-<span class="k">val</span> <span class="n">combinedWords</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span><span class="o">)]</span> <span class="k">=</span> <span class="n">groupedInput</span><span class="o">.</span><span class="n">combineGroup</span> <span class="o">{</span>
-    <span class="o">(</span><span class="n">words</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span><span class="o">)])</span> <span class="k">=&gt;</span>
-        <span class="k">var</span> <span class="n">count</span> <span class="k">=</span> <span class="mi">0</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">word</span> <span class="k">&lt;-</span> <span class="n">words</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">count</span><span class="o">++</span>
-        <span class="o">}</span>
-        <span class="n">out</span><span class="o">.</span><span class="n">collect</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="o">}</span>
-
-<span class="k">val</span> <span class="n">groupedCombinedWords</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span><span class="o">)]</span> <span class="k">=</span> <span class="n">combinedWords</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-
-<span class="k">val</span> <span class="n">output</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span><span class="o">)]</span> <span class="k">=</span> <span class="n">groupedInput</span><span class="o">.</span><span class="n">reduceGroup</span> <span class="o">{</span>
-    <span class="o">(</span><span class="n">words</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Int</span><span class="o">)])</span> <span class="k">=&gt;</span>
-        <span class="k">var</span> <span class="n">count</span> <span class="k">=</span> <span class="mi">0</span>
-        <span class="k">for</span> <span class="o">((</span><span class="n">word</span><span class="o">,</span> <span class="nc">Int</span><span class="o">)</span> <span class="k">&lt;-</span> <span class="n">words</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">count</span><span class="o">++</span>
-        <span class="o">}</span>
-        <span class="n">out</span><span class="o">.</span><span class="n">collect</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="o">}</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>The above alternative WordCount implementation demonstrates how the GroupCombine
-combines words before performing the GroupReduce transformation. The above
-example is just a proof of concept. Note, how the combine step changes the type
-of the DataSet which would normally required an additional Map transformation
-before executing the GroupReduce.</p>
-
-<h3 id="aggregate-on-grouped-tuple-dataset">Aggregate on Grouped Tuple DataSet</h3>
-
-<p>There are some common aggregation operations that are frequently used. The Aggregate transformation provides the following build-in aggregation functions:</p>
-
-<ul>
-  <li>Sum,</li>
-  <li>Min, and</li>
-  <li>Max.</li>
-</ul>
-
-<p>The Aggregate transformation can only be applied on a Tuple DataSet and supports only field positions keys for grouping.</p>
-
-<p>The following code shows how to apply an Aggregation transformation on a DataSet grouped by field position keys:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">input</span>
-                                   <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>        <span class="c1">// group DataSet on second field</span>
-                                   <span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">SUM</span><span class="o">,</span> <span class="mi">0</span><span class="o">)</span> <span class="c1">// compute sum of the first field</span>
-                                   <span class="o">.</span><span class="na">and</span><span class="o">(</span><span class="n">MIN</span><span class="o">,</span> <span class="mi">2</span><span class="o">);</span>      <span class="c1">// compute minimum of the third field</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">output</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi

<TRUNCATED>

[30/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/index.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/index.html b/content/docs/0.9/libs/ml/index.html
deleted file mode 100644
index 9441f3e..0000000
--- a/content/docs/0.9/libs/ml/index.html
+++ /dev/null
@@ -1,322 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - Machine Learning for Flink</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>FlinkML - Machine Learning for Flink</h1>
-
-
-
-<p>FlinkML is the Machine Learning (ML) library for Flink. It is a new effort in the Flink community,
-with a growing list of algorithms and contributors. With FlinkML we aim to provide
-scalable ML algorithms, an intuitive API, and tools that help minimize glue code in end-to-end ML
-systems. You can see more details about our goals and where the library is headed in our <a href="vision_roadmap.html">vision
-and roadmap here</a>.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#supported-algorithms" id="markdown-toc-supported-algorithms">Supported Algorithms</a>    <ul>
-      <li><a href="#supervised-learning" id="markdown-toc-supervised-learning">Supervised Learning</a></li>
-      <li><a href="#data-preprocessing" id="markdown-toc-data-preprocessing">Data Preprocessing</a></li>
-      <li><a href="#recommendation" id="markdown-toc-recommendation">Recommendation</a></li>
-      <li><a href="#utilities" id="markdown-toc-utilities">Utilities</a></li>
-    </ul>
-  </li>
-  <li><a href="#getting-started" id="markdown-toc-getting-started">Getting Started</a></li>
-  <li><a href="#pipelines" id="markdown-toc-pipelines">Pipelines</a></li>
-  <li><a href="#how-to-contribute" id="markdown-toc-how-to-contribute">How to contribute</a></li>
-</ul>
-
-<h2 id="supported-algorithms">Supported Algorithms</h2>
-
-<p>FlinkML currently supports the following algorithms:</p>
-
-<h3 id="supervised-learning">Supervised Learning</h3>
-
-<ul>
-  <li><a href="svm.html">SVM using Communication efficient distributed dual coordinate ascent (CoCoA)</a></li>
-  <li><a href="multiple_linear_regression.html">Multiple linear regression</a></li>
-  <li><a href="optimization.html">Optimization Framework</a></li>
-</ul>
-
-<h3 id="data-preprocessing">Data Preprocessing</h3>
-
-<ul>
-  <li><a href="polynomial_features.html">Polynomial Features</a></li>
-  <li><a href="standard_scaler.html">Standard Scaler</a></li>
-  <li><a href="min_max_scaler.html">MinMax Scaler</a></li>
-</ul>
-
-<h3 id="recommendation">Recommendation</h3>
-
-<ul>
-  <li><a href="als.html">Alternating Least Squares (ALS)</a></li>
-</ul>
-
-<h3 id="utilities">Utilities</h3>
-
-<ul>
-  <li><a href="distance_metrics.html">Distance Metrics</a></li>
-</ul>
-
-<h2 id="getting-started">Getting Started</h2>
-
-<p>You can check out our <a href="quickstart.html">quickstart guide</a> for a comprehensive getting started
-example.</p>
-
-<p>If you want to jump right in, you have to <a href="http://ci.apache.org/projects/flink/flink-docs-master/apis/programming_guide.html#linking-with-flink">set up a Flink program</a>.
-Next, you have to add the FlinkML dependency to the <code>pom.xml</code> of your project.</p>
-
-<div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-ml<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<p>Note that FlinkML is currently not part of the binary distribution. See linking with it for cluster execution <a href="../apis/cluster_execution.html#linking-with-modules-not-contained-in-the-binary-distribution">here</a>.</p>
-
-<p>Now you can start solving your analysis task.
-The following code snippet shows how easy it is to train a multiple linear regression model.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// LabeledVector is a feature vector with a label (class or real value)</span>
-<span class="k">val</span> <span class="n">trainingData</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-<span class="k">val</span> <span class="n">testingData</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Vector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="k">val</span> <span class="n">mlr</span> <span class="k">=</span> <span class="nc">MultipleLinearRegression</span><span class="o">()</span>
-  <span class="o">.</span><span class="n">setStepsize</span><span class="o">(</span><span class="mf">1.0</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">setIterations</span><span class="o">(</span><span class="mi">100</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">setConvergenceThreshold</span><span class="o">(</span><span class="mf">0.001</span><span class="o">)</span>
-
-<span class="n">mlr</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">trainingData</span><span class="o">,</span> <span class="n">parameters</span><span class="o">)</span>
-
-<span class="c1">// The fitted model can now be used to make predictions</span>
-<span class="k">val</span> <span class="n">predictions</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="n">mlr</span><span class="o">.</span><span class="n">predict</span><span class="o">(</span><span class="n">testingData</span><span class="o">)</span></code></pre></div>
-
-<h2 id="pipelines">Pipelines</h2>
-
-<p>A key concept of FlinkML is its <a href="http://scikit-learn.org">scikit-learn</a> inspired pipelining mechanism.
-It allows you to quickly build complex data analysis pipelines how they appear in every data scientist’s daily work.
-An in-depth description of FlinkML’s pipelines and their internal workings can be found <a href="pipelines.html">here</a>.</p>
-
-<p>The following example code shows how easy it is to set up an analysis pipeline with FlinkML.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">trainingData</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-<span class="k">val</span> <span class="n">testingData</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Vector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="k">val</span> <span class="n">scaler</span> <span class="k">=</span> <span class="nc">StandardScaler</span><span class="o">()</span>
-<span class="k">val</span> <span class="n">polyFeatures</span> <span class="k">=</span> <span class="nc">PolynomialFeatures</span><span class="o">().</span><span class="n">setDegree</span><span class="o">(</span><span class="mi">3</span><span class="o">)</span>
-<span class="k">val</span> <span class="n">mlr</span> <span class="k">=</span> <span class="nc">MultipleLinearRegression</span><span class="o">()</span>
-
-<span class="c1">// Construct pipeline of standard scaler, polynomial features and multiple linear regression</span>
-<span class="k">val</span> <span class="n">pipeline</span> <span class="k">=</span> <span class="n">scaler</span><span class="o">.</span><span class="n">chainTransformer</span><span class="o">(</span><span class="n">polyFeatures</span><span class="o">).</span><span class="n">chainPredictor</span><span class="o">(</span><span class="n">mlr</span><span class="o">)</span>
-
-<span class="c1">// Train pipeline</span>
-<span class="n">pipeline</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">trainingData</span><span class="o">)</span>
-
-<span class="c1">// Calculate predictions</span>
-<span class="k">val</span> <span class="n">predictions</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="n">pipeline</span><span class="o">.</span><span class="n">predict</span><span class="o">(</span><span class="n">testingData</span><span class="o">)</span></code></pre></div>
-
-<p>One can chain a <code>Transformer</code> to another <code>Transformer</code> or a set of chained <code>Transformers</code> by calling the method <code>chainTransformer</code>.
-If one wants to chain a <code>Predictor</code> to a <code>Transformer</code> or a set of chained <code>Transformers</code>, one has to call the method <code>chainPredictor</code>.</p>
-
-<h2 id="how-to-contribute">How to contribute</h2>
-
-<p>The Flink community welcomes all contributors who want to get involved in the development of Flink and its libraries.
-In order to get quickly started with contributing to FlinkML, please read our official
-<a href="http://flink.apache.org/docs/0.9/libs/ml/contribution_guide.html">contribution guide</a>.</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/min_max_scaler.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/min_max_scaler.html b/content/docs/0.9/libs/ml/min_max_scaler.html
deleted file mode 100644
index ce4b290..0000000
--- a/content/docs/0.9/libs/ml/min_max_scaler.html
+++ /dev/null
@@ -1,339 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - MinMax Scaler</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - MinMax Scaler</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#description" id="markdown-toc-description">Description</a></li>
-  <li><a href="#operations" id="markdown-toc-operations">Operations</a>    <ul>
-      <li><a href="#fit" id="markdown-toc-fit">Fit</a></li>
-      <li><a href="#transform" id="markdown-toc-transform">Transform</a></li>
-    </ul>
-  </li>
-  <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-</ul>
-
-<h2 id="description">Description</h2>
-
-<p>The MinMax scaler scales the given data set, so that all values will lie between a user specified range [min,max].
- In case the user does not provide a specific minimum and maximum value for the scaling range, the MinMax scaler transforms the features of the input data set to lie in the [0,1] interval.
- Given a set of input data $x_1, x_2,… x_n$, with minimum value:</p>
-
-<script type="math/tex; mode=display">x_{min} = min({x_1, x_2,..., x_n})</script>
-
-<p>and maximum value:</p>
-
-<script type="math/tex; mode=display">x_{max} = max({x_1, x_2,..., x_n})</script>
-
-<p>The scaled data set $z_1, z_2,…,z_n$ will be:</p>
-
-<script type="math/tex; mode=display">z_{i}= \frac{x_{i} - x_{min}}{x_{max} - x_{min}} \left ( max - min \right ) + min</script>
-
-<p>where $\textit{min}$ and $\textit{max}$ are the user specified minimum and maximum values of the range to scale.</p>
-
-<h2 id="operations">Operations</h2>
-
-<p><code>MinMaxScaler</code> is a <code>Transformer</code>.
-As such, it supports the <code>fit</code> and <code>transform</code> operation.</p>
-
-<h3 id="fit">Fit</h3>
-
-<p>MinMaxScaler is trained on all subtypes of <code>Vector</code> or <code>LabeledVector</code>:</p>
-
-<ul>
-  <li><code>fit[T &lt;: Vector]: DataSet[T] =&gt; Unit</code></li>
-  <li><code>fit: DataSet[LabeledVector] =&gt; Unit</code></li>
-</ul>
-
-<h3 id="transform">Transform</h3>
-
-<p>MinMaxScaler transforms all subtypes of <code>Vector</code> or <code>LabeledVector</code> into the respective type:</p>
-
-<ul>
-  <li><code>transform[T &lt;: Vector]: DataSet[T] =&gt; DataSet[T]</code></li>
-  <li><code>transform: DataSet[LabeledVector] =&gt; DataSet[LabeledVector]</code></li>
-</ul>
-
-<h2 id="parameters">Parameters</h2>
-
-<p>The MinMax scaler implementation can be controlled by the following two parameters:</p>
-
-<table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Parameters</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-    <tr>
-      <td><strong>Min</strong></td>
-      <td>
-        <p>
-          The minimum value of the range for the scaled data set. (Default value: <strong>0.0</strong>)
-        </p>
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Max</strong></td>
-      <td>
-        <p>
-          The maximum value of the range for the scaled data set. (Default value: <strong>1.0</strong>)
-        </p>
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-<h2 id="examples">Examples</h2>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// Create MinMax scaler transformer</span>
-<span class="k">val</span> <span class="n">minMaxscaler</span> <span class="k">=</span> <span class="nc">MinMaxScaler</span><span class="o">()</span>
-  <span class="o">.</span><span class="n">setMin</span><span class="o">(-</span><span class="mf">1.0</span><span class="o">)</span>
-
-<span class="c1">// Obtain data set to be scaled</span>
-<span class="k">val</span> <span class="n">dataSet</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Vector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="c1">// Learn the minimum and maximum values of the training data</span>
-<span class="n">minMaxscaler</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">dataSet</span><span class="o">)</span>
-
-<span class="c1">// Scale the provided data set to have min=-1.0 and max=1.0</span>
-<span class="k">val</span> <span class="n">scaledDS</span> <span class="k">=</span> <span class="n">minMaxscaler</span><span class="o">.</span><span class="n">transform</span><span class="o">(</span><span class="n">dataSet</span><span class="o">)</span></code></pre></div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/multiple_linear_regression.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/multiple_linear_regression.html b/content/docs/0.9/libs/ml/multiple_linear_regression.html
deleted file mode 100644
index b4e8f29..0000000
--- a/content/docs/0.9/libs/ml/multiple_linear_regression.html
+++ /dev/null
@@ -1,380 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - Multiple linear regression</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - Multiple linear regression</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#description" id="markdown-toc-description">Description</a></li>
-  <li><a href="#operations" id="markdown-toc-operations">Operations</a>    <ul>
-      <li><a href="#fit" id="markdown-toc-fit">Fit</a></li>
-      <li><a href="#predict" id="markdown-toc-predict">Predict</a></li>
-    </ul>
-  </li>
-  <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-</ul>
-
-<h2 id="description">Description</h2>
-
-<p>Multiple linear regression tries to find a linear function which best fits the provided input data.
- Given a set of input data with its value $(\mathbf{x}, y)$, multiple linear regression finds
- a vector $\mathbf{w}$ such that the sum of the squared residuals is minimized:</p>
-
-<script type="math/tex; mode=display">S(\mathbf{w}) = \sum_{i=1} \left(y - \mathbf{w}^T\mathbf{x_i} \right)^2</script>
-
-<p>Written in matrix notation, we obtain the following formulation:</p>
-
-<script type="math/tex; mode=display">\mathbf{w}^* = \arg \min_{\mathbf{w}} (\mathbf{y} - X\mathbf{w})^2</script>
-
-<p>This problem has a closed form solution which is given by:</p>
-
-<script type="math/tex; mode=display">\mathbf{w}^* = \left(X^TX\right)^{-1}X^T\mathbf{y}</script>
-
-<p>However, in cases where the input data set is so huge that a complete parse over the whole data
-  set is prohibitive, one can apply stochastic gradient descent (SGD) to approximate the solution.
-  SGD first calculates for a random subset of the input data set the gradients. The gradient
-  for a given point $\mathbf{x}_i$ is given by:</p>
-
-<script type="math/tex; mode=display">\nabla_{\mathbf{w}} S(\mathbf{w}, \mathbf{x_i}) = 2\left(\mathbf{w}^T\mathbf{x_i} -
-    y\right)\mathbf{x_i}</script>
-
-<p>The gradients are averaged and scaled. The scaling is defined by $\gamma = \frac{s}{\sqrt{j}}$
-  with $s$ being the initial step size and $j$ being the current iteration number. The resulting gradient is subtracted from the
-  current weight vector giving the new weight vector for the next iteration:</p>
-
-<script type="math/tex; mode=display">\mathbf{w}_{t+1} = \mathbf{w}_t - \gamma \frac{1}{n}\sum_{i=1}^n \nabla_{\mathbf{w}} S(\mathbf{w}, \mathbf{x_i})</script>
-
-<p>The multiple linear regression algorithm computes either a fixed number of SGD iterations or terminates based on a dynamic convergence criterion.
-  The convergence criterion is the relative change in the sum of squared residuals:</p>
-
-<script type="math/tex; mode=display">% <![CDATA[
-\frac{S_{k-1} - S_k}{S_{k-1}} < \rho %]]></script>
-
-<h2 id="operations">Operations</h2>
-
-<p><code>MultipleLinearRegression</code> is a <code>Predictor</code>.
-As such, it supports the <code>fit</code> and <code>predict</code> operation.</p>
-
-<h3 id="fit">Fit</h3>
-
-<p>MultipleLinearRegression is trained on a set of <code>LabeledVector</code>:</p>
-
-<ul>
-  <li><code>fit: DataSet[LabeledVector] =&gt; Unit</code></li>
-</ul>
-
-<h3 id="predict">Predict</h3>
-
-<p>MultipleLinearRegression predicts for all subtypes of <code>Vector</code> the corresponding regression value:</p>
-
-<ul>
-  <li><code>predict[T &lt;: Vector]: DataSet[T] =&gt; DataSet[LabeledVector]</code></li>
-</ul>
-
-<p>If we call predict with a <code>DataSet[LabeledVector]</code>, we make a prediction on the regression value
-for each example, and return a <code>DataSet[(Double, Double)]</code>. In each tuple the first element
-is the true value, as was provided from the input <code>DataSet[LabeledVector]</code> and the second element
-is the predicted value. You can then use these <code>(truth, prediction)</code> tuples to evaluate
-the algorithm’s performance.</p>
-
-<ul>
-  <li><code>predict: DataSet[LabeledVector] =&gt; DataSet[(Double, Double)]</code></li>
-</ul>
-
-<h2 id="parameters">Parameters</h2>
-
-<p>The multiple linear regression implementation can be controlled by the following parameters:</p>
-
-<table class="table table-bordered">
-    <thead>
-      <tr>
-        <th class="text-left" style="width: 20%">Parameters</th>
-        <th class="text-center">Description</th>
-      </tr>
-    </thead>
-
-    <tbody>
-      <tr>
-        <td><strong>Iterations</strong></td>
-        <td>
-          <p>
-            The maximum number of iterations. (Default value: <strong>10</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Stepsize</strong></td>
-        <td>
-          <p>
-            Initial step size for the gradient descent method.
-            This value controls how far the gradient descent method moves in the opposite direction of the gradient.
-            Tuning this parameter might be crucial to make it stable and to obtain a better performance. 
-            (Default value: <strong>0.1</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>ConvergenceThreshold</strong></td>
-        <td>
-          <p>
-            Threshold for relative change of the sum of squared residuals until the iteration is stopped.
-            (Default value: <strong>None</strong>)
-          </p>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
-<h2 id="examples">Examples</h2>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// Create multiple linear regression learner</span>
-<span class="k">val</span> <span class="n">mlr</span> <span class="k">=</span> <span class="nc">MultipleLinearRegression</span><span class="o">()</span>
-<span class="o">.</span><span class="n">setIterations</span><span class="o">(</span><span class="mi">10</span><span class="o">)</span>
-<span class="o">.</span><span class="n">setStepsize</span><span class="o">(</span><span class="mf">0.5</span><span class="o">)</span>
-<span class="o">.</span><span class="n">setConvergenceThreshold</span><span class="o">(</span><span class="mf">0.001</span><span class="o">)</span>
-
-<span class="c1">// Obtain training and testing data set</span>
-<span class="k">val</span> <span class="n">trainingDS</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-<span class="k">val</span> <span class="n">testingDS</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Vector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="c1">// Fit the linear model to the provided data</span>
-<span class="n">mlr</span><span class="o">.</span><span class="n">fit</span><span class="o">(</span><span class="n">trainingDS</span><span class="o">)</span>
-
-<span class="c1">// Calculate the predictions for the test data</span>
-<span class="k">val</span> <span class="n">predictions</span> <span class="k">=</span> <span class="n">mlr</span><span class="o">.</span><span class="n">predict</span><span class="o">(</span><span class="n">testingDS</span><span class="o">)</span></code></pre></div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/ml/optimization.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/ml/optimization.html b/content/docs/0.9/libs/ml/optimization.html
deleted file mode 100644
index bdec003..0000000
--- a/content/docs/0.9/libs/ml/optimization.html
+++ /dev/null
@@ -1,513 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: FlinkML - Optimization</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <script type="text/x-mathjax-config">
-        MathJax.Hub.Config({
-        tex2jax: {
-          inlineMath: [['$','$'], ['\\(','\\)']] },
-        TeX: {
-          equationNumbers: { autoNumber: "AMS" } }
-        });
-    </script>
-    <script type="text/javascript"
-            src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
-    </script>
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-    
-
-<!--Some of the Latex math notation has been adapted from Apache Spark MLlib's documentation-->
-$$
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\E}{\mathbb{E}}
-\newcommand{\x}{\mathbf{x}}
-\newcommand{\y}{\mathbf{y}}
-\newcommand{\wv}{\mathbf{w}}
-\newcommand{\av}{\mathbf{\alpha}}
-\newcommand{\bv}{\mathbf{b}}
-\newcommand{\N}{\mathbb{N}}
-\newcommand{\id}{\mathbf{I}}
-\newcommand{\ind}{\mathbf{1}}
-\newcommand{\0}{\mathbf{0}}
-\newcommand{\unit}{\mathbf{e}}
-\newcommand{\one}{\mathbf{1}}
-\newcommand{\zero}{\mathbf{0}}
-\newcommand\rfrac[2]{^{#1}\!/_{#2}}
-\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
-$$
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1><a href="../ml">FlinkML</a> - Optimization</h1>
-
-
-
-<ul id="markdown-toc">
-  <li><a href="#mathematical-formulation" id="markdown-toc-mathematical-formulation">Mathematical Formulation</a>    <ul>
-      <li><a href="#loss-functions" id="markdown-toc-loss-functions">Loss Functions</a></li>
-      <li><a href="#regularization-types" id="markdown-toc-regularization-types">Regularization Types</a></li>
-    </ul>
-  </li>
-  <li><a href="#stochastic-gradient-descent" id="markdown-toc-stochastic-gradient-descent">Stochastic Gradient Descent</a>    <ul>
-      <li><a href="#regularization" id="markdown-toc-regularization">Regularization</a></li>
-      <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
-      <li><a href="#loss-function" id="markdown-toc-loss-function">Loss Function</a></li>
-      <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="mathematical-formulation">Mathematical Formulation</h2>
-
-<p>The optimization framework in FlinkML is a developer-oriented package that can be used to solve
-<a href="https://en.wikipedia.org/wiki/Mathematical_optimization">optimization</a>
-problems common in Machine Learning (ML) tasks. In the supervised learning context, this usually
-involves finding a model, as defined by a set of parameters $w$, that minimize a function $f(\wv)$
-given a set of $(\x, y)$ examples,
-where $\x$ is a feature vector and $y$ is a real number, which can represent either a real value in
-the regression case, or a class label in the classification case. In supervised learning, the
-function to be minimized is usually of the form:</p>
-
-<p>\begin{equation} \label{eq:objectiveFunc}
-    f(\wv) :=
-    \frac1n \sum_{i=1}^n L(\wv;\x_i,y_i) +
-    \lambda\, R(\wv)
-    \ .
-\end{equation}</p>
-
-<p>where $L$ is the loss function and $R(\wv)$ the regularization penalty. We use $L$ to measure how
-well the model fits the observed data, and we use $R$ in order to impose a complexity cost to the
-model, with $\lambda &gt; 0$ being the regularization parameter.</p>
-
-<h3 id="loss-functions">Loss Functions</h3>
-
-<p>In supervised learning, we use loss functions in order to measure the model fit, by
-penalizing errors in the predictions $p$ made by the model compared to the true $y$ for each
-example. Different loss functions can be used for regression (e.g. Squared Loss) and classification
-(e.g. Hinge Loss) tasks.</p>
-
-<p>Some common loss functions are:</p>
-
-<ul>
-  <li>Squared Loss: $ \frac{1}{2} \left(\wv^T \cdot \x - y\right)^2, \quad y \in \R $</li>
-  <li>Hinge Loss: $ \max \left(0, 1 - y ~ \wv^T \cdot \x\right), \quad y \in {-1, +1} $</li>
-  <li>Logistic Loss: $ \log\left(1+\exp\left( -y ~ \wv^T \cdot \x\right)\right), \quad y \in {-1, +1}$</li>
-</ul>
-
-<h3 id="regularization-types">Regularization Types</h3>
-
-<p><a href="https://en.wikipedia.org/wiki/Regularization_(mathematics)">Regularization</a> in machine learning
-imposes penalties to the estimated models, in order to reduce overfitting. The most common penalties
-are the $L_1$ and $L_2$ penalties, defined as:</p>
-
-<ul>
-  <li>$L_1$: $R(\wv) = \norm{\wv}_1$</li>
-  <li>$L_2$: $R(\wv) = \frac{1}{2}\norm{\wv}_2^2$</li>
-</ul>
-
-<p>The $L_2$ penalty penalizes large weights, favoring solutions with more small weights rather than
-few large ones.
-The $L_1$ penalty can be used to drive a number of the solution coefficients to 0, thereby
-producing sparse solutions.
-The regularization constant $\lambda$ in $\eqref{eq:objectiveFunc}$ determines the amount of regularization applied to the model,
-and is usually determined through model cross-validation. 
-A good comparison of regularization types can be found in <a href="http://www.robotics.stanford.edu/~ang/papers/icml04-l1l2.pdf">this</a> paper by Andrew Ng.
-Which regularization type is supported depends on the actually used optimization algorithm.</p>
-
-<h2 id="stochastic-gradient-descent">Stochastic Gradient Descent</h2>
-
-<p>In order to find a (local) minimum of a function, Gradient Descent methods take steps in the
-direction opposite to the gradient of the function $\eqref{eq:objectiveFunc}$ taken with
-respect to the current parameters (weights).
-In order to compute the exact gradient we need to perform one pass through all the points in
-a dataset, making the process computationally expensive.
-An alternative is Stochastic Gradient Descent (SGD) where at each iteration we sample one point
-from the complete dataset and update the parameters for each point, in an online manner.</p>
-
-<p>In mini-batch SGD we instead sample random subsets of the dataset, and compute the gradient
-over each batch. At each iteration of the algorithm we update the weights once, based on
-the average of the gradients computed from each mini-batch.</p>
-
-<p>An important parameter is the learning rate $\eta$, or step size, which is currently determined as
-$\eta = \eta_0/\sqrt{j}$, where $\eta_0$ is the initial step size and $j$ is the iteration
-number. The setting of the initial step size can significantly affect the performance of the
-algorithm. For some practical tips on tuning SGD see Leon Botou’s
-“<a href="http://research.microsoft.com/pubs/192769/tricks-2012.pdf">Stochastic Gradient Descent Tricks</a>”.</p>
-
-<p>The current implementation of SGD  uses the whole partition, making it
-effectively a batch gradient descent. Once a sampling operator has been introduced in Flink, true
-mini-batch SGD will be performed.</p>
-
-<h3 id="regularization">Regularization</h3>
-
-<p>FlinkML supports Stochastic Gradient Descent with L1, L2 and no regularization.
-The following list contains a mapping between the implementing classes and the regularization function.</p>
-
-<table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Class Name</th>
-      <th class="text-center">Regularization function $R(\wv)$</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td><code>SimpleGradient</code></td>
-      <td>$R(\wv) = 0$</td>
-    </tr>
-    <tr>
-      <td><code>GradientDescentL1</code></td>
-      <td>$R(\wv) = \norm{\wv}_1$</td>
-    </tr>
-    <tr>
-      <td><code>GradientDescentL2</code></td>
-      <td>$R(\wv) = \frac{1}{2}\norm{\wv}_2^2$</td>
-    </tr>
-  </tbody>
-</table>
-
-<h3 id="parameters">Parameters</h3>
-
-<p>The stochastic gradient descent implementation can be controlled by the following parameters:</p>
-
-<table class="table table-bordered">
-    <thead>
-      <tr>
-        <th class="text-left" style="width: 20%">Parameter</th>
-        <th class="text-center">Description</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td><strong>LossFunction</strong></td>
-        <td>
-          <p>
-            The loss function to be optimized. (Default value: <strong>None</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>RegularizationConstant</strong></td>
-        <td>
-          <p>
-            The amount of regularization to apply. (Default value: <strong>0.0</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>Iterations</strong></td>
-        <td>
-          <p>
-            The maximum number of iterations. (Default value: <strong>10</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>LearningRate</strong></td>
-        <td>
-          <p>
-            Initial learning rate for the gradient descent method.
-            This value controls how far the gradient descent method moves in the opposite direction
-            of the gradient.
-            (Default value: <strong>0.1</strong>)
-          </p>
-        </td>
-      </tr>
-      <tr>
-        <td><strong>ConvergenceThreshold</strong></td>
-        <td>
-          <p>
-            When set, iterations stop if the relative change in the value of the objective function $\eqref{eq:objectiveFunc}$ is less than the provided threshold, $\tau$.
-            The convergence criterion is defined as follows: $\left| \frac{f(\wv)_{i-1} - f(\wv)_i}{f(\wv)_{i-1}}\right| &lt; \tau$.
-            (Default value: <strong>None</strong>)
-          </p>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-
-<h3 id="loss-function">Loss Function</h3>
-
-<p>The loss function which is minimized has to implement the <code>LossFunction</code> interface, which defines methods to compute the loss and the gradient of it.
-Either one defines ones own <code>LossFunction</code> or one uses the <code>GenericLossFunction</code> class which constructs the loss function from an outer loss function and a prediction function.
-An example can be seen here</p>
-
-<p><code>Scala
-val lossFunction = GenericLossFunction(SquaredLoss, LinearPrediction) 
-</code></p>
-
-<p>The full list of supported outer loss functions can be found <a href="#partial-loss-function-values">here</a>.
-The full list of supported prediction functions can be found <a href="#prediction-function-values">here</a>.</p>
-
-<h4 id="partial-loss-function-values">Partial Loss Function Values</h4>
-
-<table class="table table-bordered">
-    <thead>
-      <tr>
-        <th class="text-left" style="width: 20%">Function Name</th>
-        <th class="text-center">Description</th>
-        <th class="text-center">Loss</th>
-        <th class="text-center">Loss Derivative</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td><strong>SquaredLoss</strong></td>
-        <td>
-          <p>
-            Loss function most commonly used for regression tasks.
-          </p>
-        </td>
-        <td class="text-center">$\frac{1}{2} (\wv^T \cdot \x - y)^2$</td>
-        <td class="text-center">$\wv^T \cdot \x - y$</td>
-      </tr>
-    </tbody>
-  </table>
-
-<h4 id="prediction-function-values">Prediction Function Values</h4>
-
-<table class="table table-bordered">
-      <thead>
-        <tr>
-          <th class="text-left" style="width: 20%">Function Name</th>
-          <th class="text-center">Description</th>
-          <th class="text-center">Prediction</th>
-          <th class="text-center">Prediction Gradient</th>
-        </tr>
-      </thead>
-      <tbody>
-        <tr>
-          <td><strong>LinearPrediction</strong></td>
-          <td>
-            <p>
-              The function most commonly used for linear models, such as linear regression and
-              linear classifiers.
-            </p>
-          </td>
-          <td class="text-center">$\x^T \cdot \wv$</td>
-          <td class="text-center">$\x$</td>
-        </tr>
-      </tbody>
-    </table>
-
-<h3 id="examples">Examples</h3>
-
-<p>In the Flink implementation of SGD, given a set of examples in a <code>DataSet[LabeledVector]</code> and
-optionally some initial weights, we can use <code>GradientDescentL1.optimize()</code> in order to optimize
-the weights for the given data.</p>
-
-<p>The user can provide an initial <code>DataSet[WeightVector]</code>,
-which contains one <code>WeightVector</code> element, or use the default weights which are all set to 0.
-A <code>WeightVector</code> is a container class for the weights, which separates the intercept from the
-weight vector. This allows us to avoid applying regularization to the intercept.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// Create stochastic gradient descent solver</span>
-<span class="k">val</span> <span class="n">sgd</span> <span class="k">=</span> <span class="nc">GradientDescentL1</span><span class="o">()</span>
-  <span class="o">.</span><span class="n">setLossFunction</span><span class="o">(</span><span class="nc">SquaredLoss</span><span class="o">())</span>
-  <span class="o">.</span><span class="n">setRegularizationConstant</span><span class="o">(</span><span class="mf">0.2</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">setIterations</span><span class="o">(</span><span class="mi">100</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">setLearningRate</span><span class="o">(</span><span class="mf">0.01</span><span class="o">)</span>
-
-
-<span class="c1">// Obtain data</span>
-<span class="k">val</span> <span class="n">trainingDS</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">LabeledVector</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="c1">// Optimize the weights, according to the provided data</span>
-<span class="k">val</span> <span class="n">weightDS</span> <span class="k">=</span> <span class="n">sgd</span><span class="o">.</span><span class="n">optimize</span><span class="o">(</span><span class="n">trainingDS</span><span class="o">)</span></code></pre></div>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[32/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/gelly_guide.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/gelly_guide.html b/content/docs/0.9/libs/gelly_guide.html
deleted file mode 100644
index 8aaa385..0000000
--- a/content/docs/0.9/libs/gelly_guide.html
+++ /dev/null
@@ -1,1045 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Gelly: Flink Graph API</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Gelly: Flink Graph API <span class="badge">Beta</span></h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>Gelly is a Java Graph API for Flink. It contains a set of methods and utilities which aim to simplify the development of graph analysis applications in Flink. In Gelly, graphs can be transformed and modified using high-level functions similar to the ones provided by the batch processing API. Gelly provides methods to create, transform and modify graphs, as well as a library of graph algorithms.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#using-gelly" id="markdown-toc-using-gelly">Using Gelly</a></li>
-  <li><a href="#graph-representation" id="markdown-toc-graph-representation">Graph Representation</a></li>
-  <li><a href="#graph-creation" id="markdown-toc-graph-creation">Graph Creation</a></li>
-  <li><a href="#graph-properties" id="markdown-toc-graph-properties">Graph Properties</a></li>
-  <li><a href="#graph-transformations" id="markdown-toc-graph-transformations">Graph Transformations</a></li>
-  <li><a href="#graph-mutations" id="markdown-toc-graph-mutations">Graph Mutations</a></li>
-  <li><a href="#neighborhood-methods" id="markdown-toc-neighborhood-methods">Neighborhood Methods</a></li>
-  <li><a href="#iterative-graph-processing" id="markdown-toc-iterative-graph-processing">Iterative Graph Processing</a>    <ul>
-      <li><a href="#vertex-centric-iterations" id="markdown-toc-vertex-centric-iterations">Vertex-centric Iterations</a></li>
-      <li><a href="#configuring-a-vertex-centric-iteration" id="markdown-toc-configuring-a-vertex-centric-iteration">Configuring a Vertex-Centric Iteration</a></li>
-      <li><a href="#gather-sum-apply-iterations" id="markdown-toc-gather-sum-apply-iterations">Gather-Sum-Apply Iterations</a></li>
-      <li><a href="#configuring-a-gather-sum-apply-iteration" id="markdown-toc-configuring-a-gather-sum-apply-iteration">Configuring a Gather-Sum-Apply Iteration</a></li>
-      <li><a href="#vertex-centric-and-gsa-comparison" id="markdown-toc-vertex-centric-and-gsa-comparison">Vertex-centric and GSA Comparison</a></li>
-    </ul>
-  </li>
-  <li><a href="#graph-validation" id="markdown-toc-graph-validation">Graph Validation</a></li>
-  <li><a href="#library-methods" id="markdown-toc-library-methods">Library Methods</a></li>
-  <li><a href="#migrating-spargel-code-to-gelly" id="markdown-toc-migrating-spargel-code-to-gelly">Migrating Spargel Code to Gelly</a></li>
-</ul>
-
-<h2 id="using-gelly">Using Gelly</h2>
-
-<p>Gelly is currently part of the <em>staging</em> Maven project. All relevant classes are located in the <em>org.apache.flink.graph</em> package.</p>
-
-<p>Add the following dependency to your <code>pom.xml</code> to use Gelly.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>flink-gelly<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<p>Note that Gelly is currently not part of the binary distribution. See linking with it for cluster execution <a href="../apis/cluster_execution.html#linking-with-modules-not-contained-in-the-binary-distribution">here</a>.</p>
-
-<p>The remaining sections provide a description of available methods and present several examples of how to use Gelly and how to mix it with the Flink Java API. After reading this guide, you might also want to check the <a href="https://github.com/apache/flink/blob/master//flink-staging/flink-gelly/src/main/java/org/apache/flink/graph/example/">Gelly examples</a>.</p>
-
-<h2 id="graph-representation">Graph Representation</h2>
-
-<p>In Gelly, a <code>Graph</code> is represented by a <code>DataSet</code> of vertices and a <code>DataSet</code> of edges.</p>
-
-<p>The <code>Graph</code> nodes are represented by the <code>Vertex</code> type. A <code>Vertex</code> is defined by a unique ID and a value. <code>Vertex</code> IDs should implement the <code>Comparable</code> interface. Vertices without value can be represented by setting the value type to <code>NullValue</code>.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// create a new vertex with a Long ID and a String value</span>
-<span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">v</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;(</span><span class="mi">1L</span><span class="o">,</span> <span class="s">&quot;foo&quot;</span><span class="o">);</span>
-
-<span class="c1">// create a new vertex with a Long ID and no value</span>
-<span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">NullValue</span><span class="o">&gt;</span> <span class="n">v</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">NullValue</span><span class="o">&gt;(</span><span class="mi">1L</span><span class="o">,</span> <span class="n">NullValue</span><span class="o">.</span><span class="na">getInstance</span><span class="o">());</span></code></pre></div>
-
-<p>The graph edges are represented by the <code>Edge</code> type. An <code>Edge</code> is defined by a source ID (the ID of the source <code>Vertex</code>), a target ID (the ID of the target <code>Vertex</code>) and an optional value. The source and target IDs should be of the same type as the <code>Vertex</code> IDs. Edges with no value have a <code>NullValue</code> value type.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">e</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;(</span><span class="mi">1L</span><span class="o">,</span> <span class="mi">2L</span><span class="o">,</span> <span class="mf">0.5</span><span class="o">);</span>
-
-<span class="c1">// reverse the source and target of this edge</span>
-<span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">reversed</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="na">reverse</span><span class="o">();</span>
-
-<span class="n">Double</span> <span class="n">weight</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="na">getValue</span><span class="o">();</span> <span class="c1">// weight = 0.5</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="graph-creation">Graph Creation</h2>
-
-<p>You can create a <code>Graph</code> in the following ways:</p>
-
-<ul>
-  <li>from a <code>DataSet</code> of edges and an optional <code>DataSet</code> of vertices:</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertices</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">edges</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="na">fromDataSet</span><span class="o">(</span><span class="n">vertices</span><span class="o">,</span> <span class="n">edges</span><span class="o">,</span> <span class="n">env</span><span class="o">);</span></code></pre></div>
-
-<ul>
-  <li>from a <code>DataSet</code> of <code>Tuple3</code> and an optional <code>DataSet</code> of <code>Tuple2</code>. In this case, Gelly will convert each <code>Tuple3</code> to an <code>Edge</code>, where the first field will be the source ID, the second field will be the target ID and the third field will be the edge value. Equivalently, each <code>Tuple2</code> will be converted to a <code>Vertex</code>, where the first field will be the vertex ID and the second field will be the vertex value:</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertexTuples</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readCsvFile</span><span class="o">(</span><span class="s">&quot;path/to/vertex/input&quot;</span><span class="o">);</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">edgeTuples</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readCsvFile</span><span class="o">(</span><span class="s">&quot;path/to/edge/input&quot;</span><span class="o">);</span>
-
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="na">fromTupleDataSet</span><span class="o">(</span><span class="n">vertexTuples</span><span class="o">,</span> <span class="n">edgeTuples</span><span class="o">,</span> <span class="n">env</span><span class="o">);</span></code></pre></div>
-
-<ul>
-  <li>from a <code>Collection</code> of edges and an optional <code>Collection</code> of vertices:</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">List</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertexList</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ArrayList</span><span class="o">...</span>
-
-<span class="n">List</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">edgeList</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ArrayList</span><span class="o">...</span>
-
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="na">fromCollection</span><span class="o">(</span><span class="n">vertexList</span><span class="o">,</span> <span class="n">edgeList</span><span class="o">,</span> <span class="n">env</span><span class="o">);</span></code></pre></div>
-
-<p>If no vertex input is provided during Graph creation, Gelly will automatically produce the <code>Vertex</code> <code>DataSet</code> from the edge input. In this case, the created vertices will have no values. Alternatively, you can provide a <code>MapFunction</code> as an argument to the creation method, in order to initialize the <code>Vertex</code> values:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="c1">// initialize the vertex value to be equal to the vertex ID</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="na">fromCollection</span><span class="o">(</span><span class="n">edges</span><span class="o">,</span> 
-				<span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;()</span> <span class="o">{</span>
-					<span class="kd">public</span> <span class="n">Long</span> <span class="nf">map</span><span class="o">(</span><span class="n">Long</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span> 
-						<span class="k">return</span> <span class="n">value</span><span class="o">;</span> 
-					<span class="o">}</span> 
-				<span class="o">},</span> <span class="n">env</span><span class="o">);</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="graph-properties">Graph Properties</h2>
-
-<p>Gelly includes the following methods for retrieving various Graph properties and metrics:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// get the Vertex DataSet</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;&gt;</span> <span class="nf">getVertices</span><span class="o">()</span>
-
-<span class="c1">// get the Edge DataSet</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;&gt;</span> <span class="nf">getEdges</span><span class="o">()</span>
-
-<span class="c1">// get the IDs of the vertices as a DataSet</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">K</span><span class="o">&gt;</span> <span class="nf">getVertexIds</span><span class="o">()</span>
-
-<span class="c1">// get the source-target pairs of the edge IDs as a DataSet</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">K</span><span class="o">&gt;&gt;</span> <span class="nf">getEdgeIds</span><span class="o">()</span> 
-
-<span class="c1">// get a DataSet of &lt;vertex ID, in-degree&gt; pairs for all vertices</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="nf">inDegrees</span><span class="o">()</span> 
-
-<span class="c1">// get a DataSet of &lt;vertex ID, out-degree&gt; pairs for all vertices</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="nf">outDegrees</span><span class="o">()</span>
-
-<span class="c1">// get a DataSet of &lt;vertex ID, degree&gt; pairs for all vertices, where degree is the sum of in- and out- degrees</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="nf">getDegrees</span><span class="o">()</span>
-
-<span class="c1">// get the number of vertices</span>
-<span class="kt">long</span> <span class="nf">numberOfVertices</span><span class="o">()</span>
-
-<span class="c1">// get the number of edges</span>
-<span class="kt">long</span> <span class="nf">numberOfEdges</span><span class="o">()</span>
-
-<span class="c1">// get a DataSet of Triplets&lt;srcVertex, trgVertex, edge&gt;</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Triplet</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;&gt;</span> <span class="nf">getTriplets</span><span class="o">()</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="graph-transformations">Graph Transformations</h2>
-
-<ul>
-  <li><strong>Map</strong>: Gelly provides specialized methods for applying a map transformation on the vertex values or edge values. <code>mapVertices</code> and <code>mapEdges</code> return a new <code>Graph</code>, where the IDs of the vertices (or edges) remain unchanged, while the values are transformed according to the provided user-defined map function. The map functions also allow changing the type of the vertex or edge values.</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="na">fromDataSet</span><span class="o">(</span><span class="n">vertices</span><span class="o">,</span> <span class="n">edges</span><span class="o">,</span> <span class="n">env</span><span class="o">);</span>
-
-<span class="c1">// increment each vertex value by one</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">updatedGraph</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">mapVertices</span><span class="o">(</span>
-				<span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Long</span><span class="o">&gt;()</span> <span class="o">{</span>
-					<span class="kd">public</span> <span class="n">Long</span> <span class="nf">map</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-						<span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="o">+</span> <span class="mi">1</span><span class="o">;</span>
-					<span class="o">}</span>
-				<span class="o">});</span></code></pre></div>
-
-<ul>
-  <li><strong>Filter</strong>: A filter transformation applies a user-defined filter function on the vertices or edges of the <code>Graph</code>. <code>filterOnEdges</code> will create a sub-graph of the original graph, keeping only the edges that satisfy the provided predicate. Note that the vertex dataset will not be modified. Respectively, <code>filterOnVertices</code> applies a filter on the vertices of the graph. Edges whose source and/or target do not satisfy the vertex predicate are removed from the resulting edge dataset. The <code>subgraph</code> method can be used to apply a filter function to the vertices and the edges at the same time.</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">graph</span><span class="o">.</span><span class="na">subgraph</span><span class="o">(</span>
-		<span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;()</span> <span class="o">{</span>
-			   	<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">)</span> <span class="o">{</span>
-					<span class="c1">// keep only vertices with positive values</span>
-					<span class="k">return</span> <span class="o">(</span><span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="o">);</span>
-			   <span class="o">}</span>
-		   <span class="o">},</span>
-		<span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;()</span> <span class="o">{</span>
-				<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">edge</span><span class="o">)</span> <span class="o">{</span>
-					<span class="c1">// keep only edges with negative values</span>
-					<span class="k">return</span> <span class="o">(</span><span class="n">edge</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="o">);</span>
-				<span class="o">}</span>
-		<span class="o">})</span></code></pre></div>
-
-<p class="text-center">
-    <img alt="Filter Transformations" width="80%" src="fig/gelly-filter.png" />
-</p>
-
-<ul>
-  <li><strong>Join</strong>: Gelly provides specialized methods for joining the vertex and edge datasets with other input datasets. <code>joinWithVertices</code> joins the vertices with a <code>Tuple2</code> input data set. The join is performed using the vertex ID and the first field of the <code>Tuple2</code> input as the join keys. The method returns a new <code>Graph</code> where the vertex values have been updated according to a provided user-defined map function.
-Similarly, an input dataset can be joined with the edges, using one of three methods. <code>joinWithEdges</code> expects an input <code>DataSet</code> of <code>Tuple3</code> and joins on the composite key of both source and target vertex IDs. <code>joinWithEdgesOnSource</code> expects a <code>DataSet</code> of <code>Tuple2</code> and joins on the source key of the edges and the first attribute of the input dataset and <code>joinWithEdgesOnTarget</code> expects a <code>DataSet</code> of <code>Tuple2</code> and joins on the target key of the edges and the first attribute of the input dataset. All three methods apply a map function on the edge and the input data set values.
-Note that if the input dataset contains a key multiple times, all Gelly join methods will only consider the first value encountered.</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">network</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertexOutDegrees</span> <span class="o">=</span> <span class="n">network</span><span class="o">.</span><span class="na">outDegrees</span><span class="o">();</span>
-
-<span class="c1">// assign the transition probabilities as the edge weights</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">networkWithWeights</span> <span class="o">=</span> <span class="n">network</span><span class="o">.</span><span class="na">joinWithEdgesOnSource</span><span class="o">(</span><span class="n">vertexOutDegrees</span><span class="o">,</span>
-				<span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Double</span><span class="o">&gt;()</span> <span class="o">{</span>
-					<span class="kd">public</span> <span class="n">Double</span> <span class="nf">map</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-						<span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="na">f0</span> <span class="o">/</span> <span class="n">value</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-					<span class="o">}</span>
-				<span class="o">});</span></code></pre></div>
-
-<ul>
-  <li>
-    <p><strong>Reverse</strong>: the <code>reverse()</code> method returns a new <code>Graph</code> where the direction of all edges has been reversed.</p>
-  </li>
-  <li>
-    <p><strong>Undirected</strong>: In Gelly, a <code>Graph</code> is always directed. Undirected graphs can be represented by adding all opposite-direction edges to a graph. For this purpose, Gelly provides the <code>getUndirected()</code> method.</p>
-  </li>
-  <li>
-    <p><strong>Union</strong>: Gelly’s <code>union()</code> method performs a union on the vertex and edges sets of the input graphs. Duplicate vertices are removed from the resulting <code>Graph</code>, while if duplicate edges exists, these will be maintained.</p>
-  </li>
-</ul>
-
-<p class="text-center">
-    <img alt="Union Transformation" width="50%" src="fig/gelly-union.png" />
-</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="graph-mutations">Graph Mutations</h2>
-
-<p>Gelly includes the following methods for adding and removing vertices and edges from an input <code>Graph</code>:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// adds a Vertex to the Graph. If the Vertex already exists, it will not be added again.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">addVertex</span><span class="o">(</span><span class="kd">final</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">)</span>
-
-<span class="c1">// adds a list of vertices to the Graph. If the vertices already exist in the graph, they will not be added once more.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">addVertices</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;&gt;</span> <span class="n">verticesToAdd</span><span class="o">)</span>
-
-<span class="c1">// adds an Edge to the Graph. If the source and target vertices do not exist in the graph, they will also be added.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">addEdge</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;</span> <span class="n">source</span><span class="o">,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;</span> <span class="n">target</span><span class="o">,</span> <span class="n">EV</span> <span class="n">edgeValue</span><span class="o">)</span>
-
-<span class="c1">// adds a list of edges to the Graph. When adding an edge for a non-existing set of vertices, the edge is considered invalid and ignored.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">addEdges</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;&gt;</span> <span class="n">newEdges</span><span class="o">)</span>
-
-<span class="c1">// removes the given Vertex and its edges from the Graph.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">removeVertex</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">)</span>
-
-<span class="c1">// removes the given list of vertices and their edges from the Graph</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">removeVertices</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;&gt;</span> <span class="n">verticesToBeRemoved</span><span class="o">)</span>
-
-<span class="c1">// removes *all* edges that match the given Edge from the Graph.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">removeEdge</span><span class="o">(</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="n">edge</span><span class="o">)</span>
-
-<span class="c1">// removes *all* edges that match the edges in the given list</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">removeEdges</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;&gt;</span> <span class="n">edgesToBeRemoved</span><span class="o">)</span></code></pre></div>
-
-<h2 id="neighborhood-methods">Neighborhood Methods</h2>
-
-<p>Neighborhood methods allow vertices to perform an aggregation on their first-hop neighborhood.
-<code>reduceOnEdges()</code> can be used to compute an aggregation on the values of the neighboring edges of a vertex and <code>reduceOnNeighbors()</code> can be used to compute an aggregation on the values of the neighboring vertices. These methods assume associative and commutative aggregations and exploit combiners internally, significantly improving performance.
-The neighborhood scope is defined by the <code>EdgeDirection</code> parameter, which takes the values <code>IN</code>, <code>OUT</code> or <code>ALL</code>. <code>IN</code> will gather all in-coming edges (neighbors) of a vertex, <code>OUT</code> will gather all out-going edges (neighbors), while <code>ALL</code> will gather all edges (neighbors).</p>
-
-<p>For example, assume that you want to select the minimum weight of all out-edges for each vertex in the following graph:</p>
-
-<p class="text-center">
-    <img alt="reduceOnEdges Example" width="50%" src="fig/gelly-example-graph.png" />
-</p>
-
-<p>The following code will collect the out-edges for each vertex and apply the <code>SelectMinWeight()</code> user-defined function on each of the resulting neighborhoods:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">minWeights</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">reduceOnEdges</span><span class="o">(</span><span class="k">new</span> <span class="nf">SelectMinWeight</span><span class="o">(),</span> <span class="n">EdgeDirection</span><span class="o">.</span><span class="na">OUT</span><span class="o">);</span>
-
-<span class="c1">// user-defined function to select the minimum weight</span>
-<span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">SelectMinWeight</span> <span class="kd">implements</span> <span class="n">ReduceEdgesFunction</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
-
-		<span class="nd">@Override</span>
-		<span class="kd">public</span> <span class="n">Double</span> <span class="nf">reduceEdges</span><span class="o">(</span><span class="n">Double</span> <span class="n">firstEdgeValue</span><span class="o">,</span> <span class="n">Double</span> <span class="n">secondEdgeValue</span><span class="o">)</span> <span class="o">{</span>
-			<span class="k">return</span> <span class="n">Math</span><span class="o">.</span><span class="na">min</span><span class="o">(</span><span class="n">firstEdgeValue</span><span class="o">,</span> <span class="n">secondEdgeValue</span><span class="o">);</span>
-		<span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p class="text-center">
-    <img alt="reduceOnEdges Example" width="50%" src="fig/gelly-reduceOnEdges.png" />
-</p>
-
-<p>Similarly, assume that you would like to compute the sum of the values of all in-coming neighbors, for every vertex. The following code will collect the in-coming neighbors for each vertex and apply the <code>SumValues()</code> user-defined function on each neighborhood:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">verticesWithSum</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">reduceOnNeighbors</span><span class="o">(</span><span class="k">new</span> <span class="nf">SumValues</span><span class="o">(),</span> <span class="n">EdgeDirection</span><span class="o">.</span><span class="na">IN</span><span class="o">);</span>
-
-<span class="c1">// user-defined function to sum the neighbor values</span>
-<span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">SumValues</span> <span class="kd">implements</span> <span class="n">ReduceNeighborsFunction</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="o">{</span>
-
-	    	<span class="nd">@Override</span>
-	    	<span class="kd">public</span> <span class="n">Long</span> <span class="nf">reduceNeighbors</span><span class="o">(</span><span class="n">Long</span> <span class="n">firstNeighbor</span><span class="o">,</span> <span class="n">Long</span> <span class="n">secondNeighbor</span><span class="o">)</span> <span class="o">{</span>
-		    	<span class="k">return</span> <span class="n">firstNeighbor</span> <span class="o">+</span> <span class="n">secondNeighbor</span><span class="o">;</span>
-	  	<span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p class="text-center">
-    <img alt="reduceOnNeighbors Example" width="70%" src="fig/gelly-reduceOnNeighbors.png" />
-</p>
-
-<p>When the aggregation function is not associative and commutative or when it is desirable to return more than one values per vertex, one can use the more general
-<code>groupReduceOnEdges()</code> and <code>groupReduceOnNeighbors()</code> methods.
-These methods return zero, one or more values per vertex and provide access to the whole neighborhood.</p>
-
-<p>For example, the following code will output all the vertex pairs which are connected with an edge having a weight of 0.5 or more:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;&gt;</span> <span class="n">vertexPairs</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">groupReduceOnNeighbors</span><span class="o">(</span><span class="k">new</span> <span class="nf">SelectLargeWeightNeighbors</span><span class="o">(),</span> <span class="n">EdgeDirection</span><span class="o">.</span><span class="na">OUT</span><span class="o">);</span>
-
-<span class="c1">// user-defined function to select the neighbors which have edges with weight &gt; 0.5</span>
-<span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">SelectLargeWeightNeighbors</span> <span class="kd">implements</span> <span class="n">NeighborsFunctionWithVertexValue</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> 
-		<span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;&gt;</span> <span class="o">{</span>
-
-		<span class="nd">@Override</span>
-		<span class="kd">public</span> <span class="kt">void</span> <span class="nf">iterateNeighbors</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">,</span>
-				<span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;&gt;</span> <span class="n">neighbors</span><span class="o">,</span>
-				<span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-
-			<span class="k">for</span> <span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">neighbor</span> <span class="o">:</span> <span class="n">neighbors</span><span class="o">)</span> <span class="o">{</span>
-				<span class="k">if</span> <span class="o">(</span><span class="n">neighbor</span><span class="o">.</span><span class="na">f0</span><span class="o">.</span><span class="na">f2</span> <span class="o">&gt;</span> <span class="mf">0.5</span><span class="o">)</span> <span class="o">{</span>
-					<span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;(</span><span class="n">vertex</span><span class="o">,</span> <span class="n">neighbor</span><span class="o">.</span><span class="na">f1</span><span class="o">));</span>
-				<span class="o">}</span>
-			<span class="o">}</span>
-		<span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>When the aggregation computation does not require access to the vertex value (for which the aggregation is performed), it is advised to use the more efficient <code>EdgesFunction</code> and <code>NeighborsFunction</code> for the user-defined functions. When access to the vertex value is required, one should use <code>EdgesFunctionWithVertexValue</code> and <code>NeighborsFunctionWithVertexValue</code> instead.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="iterative-graph-processing">Iterative Graph Processing</h2>
-<p>Gelly exploits Flink’s efficient iteration operators to support large-scale iterative graph processing. Currently, we provide implementations of the popular vertex-centric iterative model and a variation of Gather-Sum-Apply. In the following sections, we describe these models and show how you can use them in Gelly.</p>
-
-<h3 id="vertex-centric-iterations">Vertex-centric Iterations</h3>
-<p>The vertex-centric model, also known as “think like a vertex” model, expresses computation from the perspective of a vertex in the graph. The computation proceeds in synchronized iteration steps, called supersteps. In each superstep, a vertex produces messages for other vertices and updates its value based on the messages it receives. To use vertex-centric iterations in Gelly, the user only needs to define how a vertex behaves in each superstep:</p>
-
-<ul>
-  <li><strong>Messaging</strong>:  produce the messages that a vertex will send to other vertices.</li>
-  <li><strong>Value Update</strong>: update the vertex value using the received messages.</li>
-</ul>
-
-<p>Gelly wraps Flink’s <a href="spargel_guide.html">Spargel API</a> to provide methods for vertex-centric iterations. The user only needs to implement two functions, corresponding to the phases above: a <code>VertexUpdateFunction</code>, which defines how a vertex will update its value based on the received messages and a <code>MessagingFunction</code>, which allows a vertex to send out messages for the next superstep.
-These functions and the maximum number of iterations to run are given as parameters to Gelly’s <code>runVertexCentricIteration</code>. This method will execute the vertex-centric iteration on the input Graph and return a new Graph, with updated vertex values.</p>
-
-<p>A vertex-centric iteration can be extended with information such as the total number of vertices, the in degree and out degree.
-Additionally, the  neighborhood type (in/out/all) over which to run the vertex-centric iteration can be specified. By default, the updates from the in-neighbors are used to modify the current vertex’s state and messages are sent to out-neighbors.</p>
-
-<p>Let us consider computing Single-Source-Shortest-Paths with vertex-centric iterations on the following graph and let vertex 1 be the source. In each superstep, each vertex sends a candidate distance message to all its neighbors. The message value is the sum of the current value of the vertex and the edge weight connecting this vertex with its neighbor. Upon receiving candidate distance messages, each vertex calculates the minimum distance and, if a shorter path has been discovered, it updates its value. If a vertex does not change its value during a superstep, then it does not produce messages for its neighbors for the next superstep. The algorithm converges when there are no value updates.</p>
-
-<p class="text-center">
-    <img alt="Vertex-centric SSSP superstep 1" width="70%" src="fig/gelly-vc-sssp1.png" />
-</p>
-
-<p class="text-center">
-    <img alt="Vertex-centric SSSP superstep 2" width="70%" src="fig/gelly-vc-sssp2.png" />
-</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// read the input graph</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="c1">// define the maximum number of iterations</span>
-<span class="kt">int</span> <span class="n">maxIterations</span> <span class="o">=</span> <span class="mi">10</span><span class="o">;</span>
-
-<span class="c1">// Execute the vertex-centric iteration</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">runVertexCentricIteration</span><span class="o">(</span>
-			<span class="k">new</span> <span class="nf">VertexDistanceUpdater</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">MinDistanceMessenger</span><span class="o">(),</span> <span class="n">maxIterations</span><span class="o">);</span>
-
-<span class="c1">// Extract the vertices as the result</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">singleSourceShortestPaths</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="na">getVertices</span><span class="o">();</span>
-
-
-<span class="c1">// - - -  UDFs - - - //</span>
-
-<span class="c1">// messaging</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">MinDistanceMessenger</span><span class="o">&lt;</span><span class="n">K</span><span class="o">&gt;</span> <span class="kd">extends</span> <span class="n">MessagingFunction</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
-
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">sendMessages</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">)</span> <span class="o">{</span>
-		<span class="k">for</span> <span class="o">(</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">edge</span> <span class="o">:</span> <span class="n">getEdges</span><span class="o">())</span> <span class="o">{</span>
-			<span class="n">sendMessageTo</span><span class="o">(</span><span class="n">edge</span><span class="o">.</span><span class="na">getTarget</span><span class="o">(),</span> <span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="o">+</span> <span class="n">edge</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
-		<span class="o">}</span>
-	<span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// vertex update</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">VertexDistanceUpdater</span><span class="o">&lt;</span><span class="n">K</span><span class="o">&gt;</span> <span class="kd">extends</span> <span class="n">VertexUpdateFunction</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
-
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">updateVertex</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">,</span> <span class="n">MessageIterator</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">inMessages</span><span class="o">)</span> <span class="o">{</span>
-		<span class="n">Double</span> <span class="n">minDistance</span> <span class="o">=</span> <span class="n">Double</span><span class="o">.</span><span class="na">MAX_VALUE</span><span class="o">;</span>
-
-		<span class="k">for</span> <span class="o">(</span><span class="kt">double</span> <span class="n">msg</span> <span class="o">:</span> <span class="n">inMessages</span><span class="o">)</span> <span class="o">{</span>
-			<span class="k">if</span> <span class="o">(</span><span class="n">msg</span> <span class="o">&lt;</span> <span class="n">minDistance</span><span class="o">)</span> <span class="o">{</span>
-				<span class="n">minDistance</span> <span class="o">=</span> <span class="n">msg</span><span class="o">;</span>
-			<span class="o">}</span>
-		<span class="o">}</span>
-
-		<span class="k">if</span> <span class="o">(</span><span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="o">&gt;</span> <span class="n">minDistance</span><span class="o">)</span> <span class="o">{</span>
-			<span class="n">setNewVertexValue</span><span class="o">(</span><span class="n">minDistance</span><span class="o">);</span>
-		<span class="o">}</span>
-	<span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h3 id="configuring-a-vertex-centric-iteration">Configuring a Vertex-Centric Iteration</h3>
-<p>A vertex-centric iteration can be configured using a <code>VertexCentricConfiguration</code> object.
-Currently, the following parameters can be specified:</p>
-
-<ul>
-  <li>
-    <p><strong>Name</strong>: The name for the vertex-centric iteration. The name is displayed in logs and messages 
-and can be specified using the <code>setName()</code> method.</p>
-  </li>
-  <li>
-    <p><strong>Parallelism</strong>: The parallelism for the iteration. It can be set using the <code>setParallelism()</code> method.</p>
-  </li>
-  <li>
-    <p><strong>Solution set in unmanaged memory</strong>: Defines whether the solution set is kept in managed memory (Flink’s internal way of keeping objects in serialized form) or as a simple object map. By default, the solution set runs in managed memory. This property can be set using the <code>setSolutionSetUnmanagedMemory()</code> method.</p>
-  </li>
-  <li>
-    <p><strong>Aggregators</strong>: Iteration aggregators can be registered using the <code>registerAggregator()</code> method. An iteration aggregator combines
-all aggregates globally once per superstep and makes them available in the next superstep. Registered aggregators can be accessed inside the user-defined <code>VertexUpdateFunction</code> and <code>MessagingFunction</code>.</p>
-  </li>
-  <li>
-    <p><strong>Broadcast Variables</strong>: DataSets can be added as <a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html#broadcast-variables">Broadcast Variables</a> to the <code>VertexUpdateFunction</code> and <code>MessagingFunction</code>, using the <code>addBroadcastSetForUpdateFunction()</code> and <code>addBroadcastSetForMessagingFunction()</code> methods, respectively.</p>
-  </li>
-  <li>
-    <p><strong>Number of Vertices</strong>: Accessing the total number of vertices within the iteration. This property can be set using the <code>setOptNumVertices()</code> method.
-The number of vertices can then be accessed in the vertex update function and in the messaging function using the <code>getNumberOfVertices()</code> method. If the option is not set in the configuration, this method will return -1.</p>
-  </li>
-  <li>
-    <p><strong>Degrees</strong>: Accessing the in/out degree for a vertex within an iteration. This property can be set using the <code>setOptDegrees()</code> method.
-The in/out degrees can then be accessed in the vertex update function and in the messaging function, per vertex using the <code>getInDegree()</code> and <code>getOutDegree()</code> methods.
-If the degrees option is not set in the configuration, these methods will return -1.</p>
-  </li>
-  <li>
-    <p><strong>Messaging Direction</strong>: By default, a vertex sends messages to its out-neighbors and updates its value based on messages received from its in-neighbors. This configuration option allows users to change the messaging direction to either <code>EdgeDirection.IN</code>, <code>EdgeDirection.OUT</code>, <code>EdgeDirection.ALL</code>. The messaging direction also dictates the update direction which would be <code>EdgeDirection.OUT</code>, <code>EdgeDirection.IN</code> and <code>EdgeDirection.ALL</code>, respectively. This property can be set using the <code>setDirection()</code> method.</p>
-  </li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="c1">// configure the iteration</span>
-<span class="n">VertexCentricConfiguration</span> <span class="n">parameters</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">VertexCentricConfiguration</span><span class="o">();</span>
-
-<span class="c1">// set the iteration name</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">setName</span><span class="o">(</span><span class="s">&quot;Gelly Iteration&quot;</span><span class="o">);</span>
-
-<span class="c1">// set the parallelism</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">setParallelism</span><span class="o">(</span><span class="mi">16</span><span class="o">);</span>
-
-<span class="c1">// register an aggregator</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">registerAggregator</span><span class="o">(</span><span class="s">&quot;sumAggregator&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="nf">LongSumAggregator</span><span class="o">());</span>
-
-<span class="c1">// run the vertex-centric iteration, also passing the configuration parameters</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> 
-			<span class="n">graph</span><span class="o">.</span><span class="na">runVertexCentricIteration</span><span class="o">(</span>
-			<span class="k">new</span> <span class="nf">VertexUpdater</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">Messenger</span><span class="o">(),</span> <span class="n">maxIterations</span><span class="o">,</span> <span class="n">parameters</span><span class="o">);</span>
-
-<span class="c1">// user-defined functions</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">VertexUpdater</span> <span class="kd">extends</span> <span class="n">VertexUpdateFunction</span> <span class="o">{</span>
-
-	<span class="n">LongSumAggregator</span> <span class="n">aggregator</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">LongSumAggregator</span><span class="o">();</span>
-
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">preSuperstep</span><span class="o">()</span> <span class="o">{</span>
-	
-		<span class="c1">// retrieve the Aggregator</span>
-		<span class="n">aggregator</span> <span class="o">=</span> <span class="n">getIterationAggregator</span><span class="o">(</span><span class="s">&quot;sumAggregator&quot;</span><span class="o">);</span>
-	<span class="o">}</span>
-
-
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">updateVertex</span><span class="o">(</span><span class="n">Long</span> <span class="n">vertexKey</span><span class="o">,</span> <span class="n">Long</span> <span class="n">vertexValue</span><span class="o">,</span> <span class="n">MessageIterator</span> <span class="n">inMessages</span><span class="o">)</span> <span class="o">{</span>
-		
-		<span class="c1">//do some computation</span>
-		<span class="n">Long</span> <span class="n">partialValue</span> <span class="o">=</span> <span class="o">...</span>
-
-		<span class="c1">// aggregate the partial value</span>
-		<span class="n">aggregator</span><span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">partialValue</span><span class="o">);</span>
-
-		<span class="c1">// update the vertex value</span>
-		<span class="n">setNewVertexValue</span><span class="o">(...);</span>
-	<span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Messenger</span> <span class="kd">extends</span> <span class="n">MessagingFunction</span> <span class="o">{...}</span></code></pre></div>
-
-<p>The following example illustrates the usage of the degree as well as the number of vertices options.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="c1">// configure the iteration</span>
-<span class="n">VertexCentricConfiguration</span> <span class="n">parameters</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">VertexCentricConfiguration</span><span class="o">();</span>
-
-<span class="c1">// set the number of vertices option to true</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">setOptNumVertices</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
-
-<span class="c1">// set the degree option to true</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">setOptDegrees</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
-
-<span class="c1">// run the vertex-centric iteration, also passing the configuration parameters</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span>
-			<span class="n">graph</span><span class="o">.</span><span class="na">runVertexCentricIteration</span><span class="o">(</span>
-			<span class="k">new</span> <span class="nf">VertexUpdater</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">Messenger</span><span class="o">(),</span> <span class="n">maxIterations</span><span class="o">,</span> <span class="n">parameters</span><span class="o">);</span>
-
-<span class="c1">// user-defined functions</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">VertexUpdater</span> <span class="o">{</span>
-	<span class="o">...</span>
-	<span class="c1">// get the number of vertices</span>
-	<span class="kt">long</span> <span class="n">numVertices</span> <span class="o">=</span> <span class="n">getNumberOfVertices</span><span class="o">();</span>
-	<span class="o">...</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Messenger</span> <span class="o">{</span>
-	<span class="o">...</span>
-	<span class="c1">// retrieve the vertex out-degree</span>
-	<span class="n">outDegree</span> <span class="o">=</span> <span class="n">getOutDegree</span><span class="o">();</span>
-	<span class="o">...</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The following example illustrates the usage of the edge direction option. Vertices update their values to contain a list of all their in-neighbors.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">HashSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="c1">// configure the iteration</span>
-<span class="n">VertexCentricConfiguration</span> <span class="n">parameters</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">VertexCentricConfiguration</span><span class="o">();</span>
-
-<span class="c1">// set the messaging direction</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">setDirection</span><span class="o">(</span><span class="n">EdgeDirection</span><span class="o">.</span><span class="na">IN</span><span class="o">);</span>
-
-<span class="c1">// run the vertex-centric iteration, also passing the configuration parameters</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">HashSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span>
-			<span class="n">graph</span><span class="o">.</span><span class="na">runVertexCentricIteration</span><span class="o">(</span>
-			<span class="k">new</span> <span class="nf">VertexUpdater</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">Messenger</span><span class="o">(),</span> <span class="n">maxIterations</span><span class="o">,</span> <span class="n">parameters</span><span class="o">)</span>
-			<span class="o">.</span><span class="na">getVertices</span><span class="o">();</span>
-
-<span class="c1">// user-defined functions</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">VertexUpdater</span> <span class="o">{</span>
-	<span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">updateVertex</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">HashSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertex</span><span class="o">,</span> <span class="n">MessageIterator</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">messages</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    	<span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">().</span><span class="na">clear</span><span class="o">();</span>
-
-    	<span class="k">for</span><span class="o">(</span><span class="kt">long</span> <span class="n">msg</span> <span class="o">:</span> <span class="n">messages</span><span class="o">)</span> <span class="o">{</span>
-    		<span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">().</span><span class="na">add</span><span class="o">(</span><span class="n">msg</span><span class="o">);</span>
-    	<span class="o">}</span>
-
-    	<span class="n">setNewVertexValue</span><span class="o">(</span><span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Messenger</span> <span class="o">{</span>
-	<span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">sendMessages</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">HashSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertex</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    	<span class="k">for</span> <span class="o">(</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">edge</span> <span class="o">:</span> <span class="n">getEdges</span><span class="o">())</span> <span class="o">{</span>
-    		<span class="n">sendMessageTo</span><span class="o">(</span><span class="n">edge</span><span class="o">.</span><span class="na">getSource</span><span class="o">(),</span> <span class="n">vertex</span><span class="o">.</span><span class="na">getId</span><span class="o">());</span>
-    	<span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h3 id="gather-sum-apply-iterations">Gather-Sum-Apply Iterations</h3>
-<p>Like in the vertex-centric model, Gather-Sum-Apply also proceeds in synchronized iterative steps, called supersteps. Each superstep consists of the following three phases:</p>
-
-<ul>
-  <li><strong>Gather</strong>: a user-defined function is invoked in parallel on the edges and neighbors of each vertex, producing a partial value.</li>
-  <li><strong>Sum</strong>: the partial values produced in the Gather phase are aggregated to a single value, using a user-defined reducer.</li>
-  <li><strong>Apply</strong>:  each vertex value is updated by applying a function on the current value and the aggregated value produced by the Sum phase.</li>
-</ul>
-
-<p>Let us consider computing Single-Source-Shortest-Paths with GSA on the following graph and let vertex 1 be the source. During the <code>Gather</code> phase, we calculate the new candidate distances, by adding each vertex value with the edge weight. In <code>Sum</code>, the candidate distances are grouped by vertex ID and the minimum distance is chosen. In <code>Apply</code>, the newly calculated distance is compared to the current vertex value and the minimum of the two is assigned as the new value of the vertex.</p>
-
-<p class="text-center">
-    <img alt="GSA SSSP superstep 1" width="70%" src="fig/gelly-gsa-sssp1.png" />
-</p>
-
-<p class="text-center">
-    <img alt="GSA SSSP superstep 2" width="70%" src="fig/gelly-gsa-sssp2.png" />
-</p>
-
-<p>Notice that, if a vertex does not change its value during a superstep, it will not calculate candidate distance during the next superstep. The algorithm converges when no vertex changes value.
-The resulting graph after the algorithm converges is shown below.</p>
-
-<p class="text-center">
-    <img alt="GSA SSSP result" width="70%" src="fig/gelly-gsa-sssp-result.png" />
-</p>
-
-<p>To implement this example in Gelly GSA, the user only needs to call the <code>runGatherSumApplyIteration</code> method on the input graph and provide the <code>GatherFunction</code>, <code>SumFunction</code> and <code>ApplyFunction</code> UDFs. Iteration synchronization, grouping, value updates and convergence are handled by the system:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// read the input graph</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="c1">// define the maximum number of iterations</span>
-<span class="kt">int</span> <span class="n">maxIterations</span> <span class="o">=</span> <span class="mi">10</span><span class="o">;</span>
-
-<span class="c1">// Execute the GSA iteration</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">runGatherSumApplyIteration</span><span class="o">(</span>
-				<span class="k">new</span> <span class="nf">CalculateDistances</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">ChooseMinDistance</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">UpdateDistance</span><span class="o">(),</span> <span class="n">maxIterations</span><span class="o">);</span>
-
-<span class="c1">// Extract the vertices as the result</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">singleSourceShortestPaths</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="na">getVertices</span><span class="o">();</span>
-
-
-<span class="c1">// - - -  UDFs - - - //</span>
-
-<span class="c1">// Gather</span>
-<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">CalculateDistances</span> <span class="kd">extends</span> <span class="n">GatherFunction</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
-
-	<span class="kd">public</span> <span class="n">Double</span> <span class="nf">gather</span><span class="o">(</span><span class="n">Neighbor</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">neighbor</span><span class="o">)</span> <span class="o">{</span>
-		<span class="k">return</span> <span class="n">neighbor</span><span class="o">.</span><span class="na">getNeighborValue</span><span class="o">()</span> <span class="o">+</span> <span class="n">neighbor</span><span class="o">.</span><span class="na">getEdgeValue</span><span class="o">();</span>
-	<span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// Sum</span>
-<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">ChooseMinDistance</span> <span class="kd">extends</span> <span class="n">SumFunction</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
-
-	<span class="kd">public</span> <span class="n">Double</span> <span class="nf">sum</span><span class="o">(</span><span class="n">Double</span> <span class="n">newValue</span><span class="o">,</span> <span class="n">Double</span> <span class="n">currentValue</span><span class="o">)</span> <span class="o">{</span>
-		<s

<TRUNCATED>

[14/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/programming_guide.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/programming_guide.html b/content/docs/master/apis/programming_guide.html
deleted file mode 100644
index 3701198..0000000
--- a/content/docs/master/apis/programming_guide.html
+++ /dev/null
@@ -1,3433 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Flink Programming Guide</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Flink Programming Guide</h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>Analysis programs in Flink are regular programs that implement transformations on data sets
-(e.g., filtering, mapping, joining, grouping). The data sets are initially created from certain
-sources (e.g., by reading files, or from local collections). Results are returned via sinks, which may for
-example write the data to (distributed) files, or to standard output (for example the command line
-terminal). Flink programs run in a variety of contexts, standalone, or embedded in other programs.
-The execution can happen in a local JVM, or on clusters of many machines.</p>
-
-<p>In order to create your own Flink program, we encourage you to start with the
-<a href="#program-skeleton">program skeleton</a> and gradually add your own
-<a href="#transformations">transformations</a>. The remaining sections act as references for additional
-operations and advanced features.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#example-program" id="markdown-toc-example-program">Example Program</a></li>
-  <li><a href="#linking-with-flink" id="markdown-toc-linking-with-flink">Linking with Flink</a></li>
-  <li><a href="#program-skeleton" id="markdown-toc-program-skeleton">Program Skeleton</a></li>
-  <li><a href="#dataset-abstraction" id="markdown-toc-dataset-abstraction">DataSet abstraction</a></li>
-  <li><a href="#lazy-evaluation" id="markdown-toc-lazy-evaluation">Lazy Evaluation</a></li>
-  <li><a href="#transformations" id="markdown-toc-transformations">Transformations</a></li>
-  <li><a href="#specifying-keys" id="markdown-toc-specifying-keys">Specifying Keys</a></li>
-  <li><a href="#passing-functions-to-flink" id="markdown-toc-passing-functions-to-flink">Passing Functions to Flink</a></li>
-  <li><a href="#data-types" id="markdown-toc-data-types">Data Types</a></li>
-  <li><a href="#data-sources" id="markdown-toc-data-sources">Data Sources</a>    <ul>
-      <li><a href="#read-compressed-files" id="markdown-toc-read-compressed-files">Read Compressed Files</a></li>
-    </ul>
-  </li>
-  <li><a href="#execution-configuration" id="markdown-toc-execution-configuration">Execution Configuration</a></li>
-  <li><a href="#data-sinks" id="markdown-toc-data-sinks">Data Sinks</a></li>
-  <li><a href="#debugging" id="markdown-toc-debugging">Debugging</a>    <ul>
-      <li><a href="#local-execution-environment" id="markdown-toc-local-execution-environment">Local Execution Environment</a></li>
-      <li><a href="#collection-data-sources-and-sinks" id="markdown-toc-collection-data-sources-and-sinks">Collection Data Sources and Sinks</a></li>
-    </ul>
-  </li>
-  <li><a href="#iteration-operators" id="markdown-toc-iteration-operators">Iteration Operators</a></li>
-  <li><a href="#semantic-annotations" id="markdown-toc-semantic-annotations">Semantic Annotations</a></li>
-  <li><a href="#broadcast-variables" id="markdown-toc-broadcast-variables">Broadcast Variables</a></li>
-  <li><a href="#passing-parameters-to-functions" id="markdown-toc-passing-parameters-to-functions">Passing Parameters to Functions</a></li>
-  <li><a href="#program-packaging--distributed-execution" id="markdown-toc-program-packaging--distributed-execution">Program Packaging &amp; Distributed Execution</a></li>
-  <li><a href="#accumulators--counters" id="markdown-toc-accumulators--counters">Accumulators &amp; Counters</a></li>
-  <li><a href="#parallel-execution" id="markdown-toc-parallel-execution">Parallel Execution</a>    <ul>
-      <li><a href="#operator-level" id="markdown-toc-operator-level">Operator Level</a></li>
-      <li><a href="#execution-environment-level" id="markdown-toc-execution-environment-level">Execution Environment Level</a></li>
-      <li><a href="#client-level" id="markdown-toc-client-level">Client Level</a></li>
-      <li><a href="#system-level" id="markdown-toc-system-level">System Level</a></li>
-    </ul>
-  </li>
-  <li><a href="#execution-plans" id="markdown-toc-execution-plans">Execution Plans</a></li>
-</ul>
-
-<h2 id="example-program">Example Program</h2>
-
-<p>The following program is a complete, working example of WordCount. You can copy &amp; paste the code
-to run it locally. You only have to include the correct Flink’s library into your project
-(see Section <a href="#linking-with-flink">Linking with Flink</a>) and specify the imports. Then you are ready
-to go!</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">WordCountExample</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-        <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span>
-            <span class="s">&quot;Who&#39;s there?&quot;</span><span class="o">,</span>
-            <span class="s">&quot;I think I hear them. Stand, ho! Who&#39;s there?&quot;</span><span class="o">);</span>
-
-        <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">wordCounts</span> <span class="o">=</span> <span class="n">text</span>
-            <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">LineSplitter</span><span class="o">())</span>
-            <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-            <span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
-
-        <span class="n">wordCounts</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-    <span class="o">}</span>
-
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">LineSplitter</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-        <span class="nd">@Override</span>
-        <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">line</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">word</span> <span class="o">:</span> <span class="n">line</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">))</span> <span class="o">{</span>
-                <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;(</span><span class="n">word</span><span class="o">,</span> <span class="mi">1</span><span class="o">));</span>
-            <span class="o">}</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala._</span>
-
-<span class="k">object</span> <span class="nc">WordCount</span> <span class="o">{</span>
-  <span class="k">def</span> <span class="n">main</span><span class="o">(</span><span class="n">args</span><span class="k">:</span> <span class="kt">Array</span><span class="o">[</span><span class="kt">String</span><span class="o">])</span> <span class="o">{</span>
-
-    <span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-    <span class="k">val</span> <span class="n">text</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">fromElements</span><span class="o">(</span>
-      <span class="s">&quot;Who&#39;s there?&quot;</span><span class="o">,</span>
-      <span class="s">&quot;I think I hear them. Stand, ho! Who&#39;s there?&quot;</span><span class="o">)</span>
-
-    <span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">text</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">toLowerCase</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">)</span> <span class="n">filter</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">nonEmpty</span> <span class="o">}</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-      <span class="o">.</span><span class="n">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-
-    <span class="n">counts</span><span class="o">.</span><span class="n">print</span><span class="o">()</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="linking-with-flink">Linking with Flink</h2>
-
-<p>To write programs with Flink, you need to include the Flink library corresponding to
-your programming language in your project.</p>
-
-<p>The simplest way to do this is to use one of the quickstart scripts: either for
-<a href="http://flink.apache.org/docs/master/quickstart/java_api_quickstart.html">Java</a> or for <a href="http://flink.apache.org/docs/master/quickstart/scala_api_quickstart.html">Scala</a>. They
-create a blank project from a template (a Maven Archetype), which sets up everything for you. To
-manually create the project, you can use the archetype and create a project by calling:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-bash" data-lang="bash">mvn archetype:generate /
-    -DarchetypeGroupId<span class="o">=</span>org.apache.flink/
-    -DarchetypeArtifactId<span class="o">=</span>flink-quickstart-java /
-    -DarchetypeVersion<span class="o">=</span>0.10-SNAPSHOT</code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-bash" data-lang="bash">mvn archetype:generate /
-    -DarchetypeGroupId<span class="o">=</span>org.apache.flink/
-    -DarchetypeArtifactId<span class="o">=</span>flink-quickstart-scala /
-    -DarchetypeVersion<span class="o">=</span>0.10-SNAPSHOT</code></pre></div>
-
-  </div>
-</div>
-
-<p>The archetypes are working for stable releases and preview versions (<code>-SNAPSHOT</code>)</p>
-
-<p>If you want to add Flink to an existing Maven project, add the following entry to your
-<em>dependencies</em> section in the <em>pom.xml</em> file of your project:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-java<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-scala<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-    <p><strong>Important:</strong> When working with the Scala API you must have one of these two imports:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala._</span></code></pre></div>
-
-    <p>or</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala.createTypeInformation</span></code></pre></div>
-
-    <p>The reason is that Flink analyzes the types that are used in a program and generates serializers
-and comparaters for them. By having either of those imports you enable an implicit conversion
-that creates the type information for Flink operations.</p>
-  </div>
-</div>
-
-<h4 id="hadoop-dependency-versions">Hadoop Dependency Versions</h4>
-
-<p>If you are using Flink together with Hadoop, the version of the dependency may vary depending on the
-version of Hadoop (or more specifically, HDFS) that you want to use Flink with. Please refer to the
-<a href="http://flink.apache.org/downloads.html">downloads page</a> for a list of available versions, and instructions
-on how to link with custom versions of Hadoop.</p>
-
-<p>In order to link against the latest SNAPSHOT versions of the code, please follow
-<a href="http://flink.apache.org/how-to-contribute.html#snapshots-nightly-builds">this guide</a>.</p>
-
-<p>The <em>flink-clients</em> dependency is only necessary to invoke the Flink program locally (for example to
-run it standalone for testing and debugging).  If you intend to only export the program as a JAR
-file and <a href="cluster_execution.html">run it on a cluster</a>, you can skip that dependency.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="program-skeleton">Program Skeleton</h2>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <p>As we already saw in the example, Flink programs look like regular Java
-programs with a <code>main()</code> method. Each program consists of the same basic parts:</p>
-
-    <ol>
-      <li>Obtain an <code>ExecutionEnvironment</code>,</li>
-      <li>Load/create the initial data,</li>
-      <li>Specify transformations on this data,</li>
-      <li>Specify where to put the results of your computations, and</li>
-      <li>Trigger the program execution</li>
-    </ol>
-
-    <p>We will now give an overview of each of those steps, please refer to the respective sections for
-more details. Note that all
-<a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java">core classes of the Java API</a>
-are found in the package <code>org.apache.flink.api.java</code>.</p>
-
-    <p>The <code>ExecutionEnvironment</code> is the basis for all Flink programs. You can
-obtain one using these static methods on class <code>ExecutionEnvironment</code>:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">getExecutionEnvironment</span><span class="o">()</span>
-
-<span class="n">createLocalEnvironment</span><span class="o">()</span>
-<span class="n">createLocalEnvironment</span><span class="o">(</span><span class="kt">int</span> <span class="n">parallelism</span><span class="o">)</span>
-<span class="n">createLocalEnvironment</span><span class="o">(</span><span class="n">Configuration</span> <span class="n">customConfiguration</span><span class="o">)</span>
-
-<span class="n">createRemoteEnvironment</span><span class="o">(</span><span class="n">String</span> <span class="n">host</span><span class="o">,</span> <span class="kt">int</span> <span class="n">port</span><span class="o">,</span> <span class="n">String</span><span class="o">...</span> <span class="n">jarFiles</span><span class="o">)</span>
-<span class="n">createRemoteEnvironment</span><span class="o">(</span><span class="n">String</span> <span class="n">host</span><span class="o">,</span> <span class="kt">int</span> <span class="n">port</span><span class="o">,</span> <span class="kt">int</span> <span class="n">parallelism</span><span class="o">,</span> <span class="n">String</span><span class="o">...</span> <span class="n">jarFiles</span><span class="o">)</span></code></pre></div>
-
-    <p>Typically, you only need to use <code>getExecutionEnvironment()</code>, since this
-will do the right thing depending on the context: if you are executing
-your program inside an IDE or as a regular Java program it will create
-a local environment that will execute your program on your local machine. If
-you created a JAR file from you program, and invoke it through the <a href="cli.html">command line</a>
-or the <a href="web_client.html">web interface</a>,
-the Flink cluster manager will execute your main method and <code>getExecutionEnvironment()</code> will return
-an execution environment for executing your program on a cluster.</p>
-
-    <p>For specifying data sources the execution environment has several methods
-to read from files using various methods: you can just read them line by line,
-as CSV files, or using completely custom data input formats. To just read
-a text file as a sequence of lines, you can use:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readTextFile</span><span class="o">(</span><span class="s">&quot;file:///path/to/file&quot;</span><span class="o">);</span></code></pre></div>
-
-    <p>This will give you a DataSet on which you can then apply transformations. For
-more information on data sources and input formats, please refer to
-<a href="#data-sources">Data Sources</a>.</p>
-
-    <p>Once you have a DataSet you can apply transformations to create a new
-DataSet which you can then write to a file, transform again, or
-combine with other DataSets. You apply transformations by calling
-methods on DataSet with your own custom transformation function. For example,
-a map transformation looks like this:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="o">...;</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">tokenized</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">map</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="n">Integer</span><span class="o">.</span><span class="na">parseInt</span><span class="o">(</span><span class="n">value</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-    <p>This will create a new DataSet by converting every String in the original
-set to an Integer. For more information and a list of all the transformations,
-please refer to <a href="#transformations">Transformations</a>.</p>
-
-    <p>Once you have a DataSet containing your final results, you can either write the result
-to a file system (HDFS or local) or print it.</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">writeAsText</span><span class="o">(</span><span class="n">String</span> <span class="n">path</span><span class="o">)</span>
-<span class="n">writeAsCsv</span><span class="o">(</span><span class="n">String</span> <span class="n">path</span><span class="o">)</span>
-<span class="n">write</span><span class="o">(</span><span class="n">FileOutputFormat</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">outputFormat</span><span class="o">,</span> <span class="n">String</span> <span class="n">filePath</span><span class="o">)</span>
-
-<span class="n">print</span><span class="o">()</span>
-<span class="n">printOnTaskManager</span><span class="o">()</span>
-
-<span class="n">collect</span><span class="o">()</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <p>As we already saw in the example, Flink programs look like regular Scala
-programs with a <code>main()</code> method. Each program consists of the same basic parts:</p>
-
-    <ol>
-      <li>Obtain an <code>ExecutionEnvironment</code>,</li>
-      <li>Load/create the initial data,</li>
-      <li>Specify transformations on this data,</li>
-      <li>Specify where to put the results of your computations, and</li>
-      <li>Trigger the program execution</li>
-    </ol>
-
-    <p>We will now give an overview of each of those steps but please refer to the respective sections for
-more details. Note that all core classes of the Scala API are found in the package 
-<a href="https://github.com/apache/flink/blob/master//flink-scala/src/main/scala/org/apache/flink/api/scala">org.apache.flink.api.scala</a>.</p>
-
-    <p>The <code>ExecutionEnvironment</code> is the basis for all Flink programs. You can
-obtain one using these static methods on class <code>ExecutionEnvironment</code>:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">def</span> <span class="n">getExecutionEnvironment</span>
-
-<span class="k">def</span> <span class="n">createLocalEnvironment</span><span class="o">(</span><span class="n">parallelism</span><span class="k">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="nc">Runtime</span><span class="o">.</span><span class="n">getRuntime</span><span class="o">.</span><span class="n">availableProcessors</span><span class="o">()))</span>
-<span class="k">def</span> <span class="n">createLocalEnvironment</span><span class="o">(</span><span class="n">customConfiguration</span><span class="k">:</span> <span class="kt">Configuration</span><span class="o">)</span>
-
-<span class="k">def</span> <span class="n">createRemoteEnvironment</span><span class="o">(</span><span class="n">host</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">port</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">jarFiles</span><span class="k">:</span> <span class="kt">String*</span><span class="o">)</span>
-<span class="k">def</span> <span class="n">createRemoteEnvironment</span><span class="o">(</span><span class="n">host</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">port</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">parallelism</span><span class="k">:</span> <span class="kt">Int</span><span class="o">,</span> <span class="n">jarFiles</span><span class="k">:</span> <span class="kt">String*</span><span class="o">)</span></code></pre></div>
-
-    <p>Typically, you only need to use <code>getExecutionEnvironment()</code>, since this
-will do the right thing depending on the context: if you are executing
-your program inside an IDE or as a regular Scala program it will create
-a local environment that will execute your program on your local machine. If
-you created a JAR file from you program, and invoke it through the <a href="cli.html">command line</a>
-or the <a href="web_client.html">web interface</a>,
-the Flink cluster manager will execute your main method and <code>getExecutionEnvironment()</code> will return
-an execution environment for executing your program on a cluster.</p>
-
-    <p>For specifying data sources the execution environment has several methods
-to read from files using various methods: you can just read them line by line,
-as CSV files, or using completely custom data input formats. To just read
-a text file as a sequence of lines, you can use:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span><span class="o">()</span>
-
-<span class="k">val</span> <span class="n">text</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readTextFile</span><span class="o">(</span><span class="s">&quot;file:///path/to/file&quot;</span><span class="o">)</span></code></pre></div>
-
-    <p>This will give you a DataSet on which you can then apply transformations. For
-more information on data sources and input formats, please refer to
-<a href="#data-sources">Data Sources</a>.</p>
-
-    <p>Once you have a DataSet you can apply transformations to create a new
-DataSet which you can then write to a file, transform again, or
-combine with other DataSets. You apply transformations by calling
-methods on DataSet with your own custom transformation function. For example,
-a map transformation looks like this:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="k">val</span> <span class="n">mapped</span> <span class="k">=</span> <span class="n">text</span><span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">x</span> <span class="k">=&gt;</span> <span class="n">x</span><span class="o">.</span><span class="n">toInt</span> <span class="o">}</span></code></pre></div>
-
-    <p>This will create a new DataSet by converting every String in the original
-set to an Integer. For more information and a list of all the transformations,
-please refer to <a href="#transformations">Transformations</a>.</p>
-
-    <p>Once you have a DataSet containing your final results, you can either write the result
-to a file system (HDFS or local) or print it.</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">def</span> <span class="n">writeAsText</span><span class="o">(</span><span class="n">path</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">writeMode</span><span class="k">:</span> <span class="kt">WriteMode</span> <span class="o">=</span> <span class="nc">WriteMode</span><span class="o">.</span><span class="nc">NO_OVERWRITE</span><span class="o">)</span>
-<span class="k">def</span> <span class="n">writeAsCsv</span><span class="o">(</span>
-    <span class="n">filePath</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span>
-    <span class="n">rowDelimiter</span><span class="k">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span>
-    <span class="n">fieldDelimiter</span><span class="k">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="sc">&#39;,&#39;</span><span class="o">,</span>
-    <span class="n">writeMode</span><span class="k">:</span> <span class="kt">WriteMode</span> <span class="o">=</span> <span class="nc">WriteMode</span><span class="o">.</span><span class="nc">NO_OVERWRITE</span><span class="o">)</span>
-<span class="k">def</span> <span class="n">write</span><span class="o">(</span><span class="n">outputFormat</span><span class="k">:</span> <span class="kt">FileOutputFormat</span><span class="o">[</span><span class="kt">T</span><span class="o">],</span>
-    <span class="n">path</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span>
-    <span class="n">writeMode</span><span class="k">:</span> <span class="kt">WriteMode</span> <span class="o">=</span> <span class="nc">WriteMode</span><span class="o">.</span><span class="nc">NO_OVERWRITE</span><span class="o">)</span>
-
-<span class="k">def</span> <span class="n">printOnTaskManager</span><span class="o">()</span>
-
-<span class="k">def</span> <span class="n">print</span><span class="o">()</span>
-
-<span class="k">def</span> <span class="n">collect</span><span class="o">()</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>The first two methods (<code>writeAsText()</code> and <code>writeAsCsv()</code>) do as the name suggests, the third one 
-can be used to specify a custom data output format. Please refer to <a href="#data-sinks">Data Sinks</a> for 
-more information on writing to files and also about custom data output formats.</p>
-
-<p>The <code>print()</code> method is useful for developing/debugging. It will output the contents of the DataSet 
-to standard output (on the JVM starting the Flink execution). <strong>NOTE</strong> The behavior of the <code>print()</code>
-method changed with Flink 0.9.x. Before it was printing to the log file of the workers, now its 
-sending the DataSet results to the client and printing the results there.</p>
-
-<p><code>collect()</code> retrieve the DataSet from the cluster to the local JVM. The <code>collect()</code> method 
-will return a <code>List</code> containing the elements.</p>
-
-<p>Both <code>print()</code> and <code>collect()</code> will trigger the execution of the program. You don’t need to further call <code>execute()</code>.</p>
-
-<p><strong>NOTE</strong> <code>print()</code> and <code>collect()</code> retrieve the data from the cluster to the client. Currently,
-the data sizes you can retrieve with <code>collect()</code> are limited due to our RPC system. It is not advised
-to collect DataSets larger than 10MBs.</p>
-
-<p>There is also a <code>printOnTaskManager()</code> method which will print the DataSet contents on the TaskManager 
-(so you have to get them from the log file). The <code>printOnTaskManager()</code> method will not trigger a
-program execution.</p>
-
-<p>Once you specified the complete program you need to <strong>trigger the program execution</strong>. You can call
-<code>execute()</code> directly on the <code>ExecutionEnviroment</code> or you implicitly trigger the execution with
-<code>collect()</code> or <code>print()</code>.
-Depending on the type of the <code>ExecutionEnvironment</code> the execution will be triggered on your local 
-machine or submit your program for execution on a cluster.</p>
-
-<p>Note that you can not call both <code>print()</code> (or <code>collect()</code>) and <code>execute()</code> at the end of program.</p>
-
-<p>The <code>execute()</code> method is returning the <code>JobExecutionResult</code>, including execution times and
-accumulator results. <code>print()</code> and <code>collect()</code> are not returning the result, but it can be
-accessed from the <code>getLastJobExecutionResult()</code> method.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="dataset-abstraction">DataSet abstraction</h2>
-
-<p>The batch processing APIs of Flink are centered around the <code>DataSet</code> abstraction. A <code>DataSet</code> is only
-an abstract representation of a set of data that can contain duplicates.</p>
-
-<p>Also note that Flink is not always physically creating (materializing) each DataSet at runtime. This 
-depends on the used runtime, the configuration and optimizer decisions.</p>
-
-<p>The Flink runtime does not need to always materialize the DataSets because it is using a streaming runtime model.</p>
-
-<p>DataSets are only materialized to avoid distributed deadlocks (at points where the data flow graph branches out and joins again later) or if the execution mode has explicitly been set to a batched execution.</p>
-
-<p>When using Flink on Tez, all DataSets are materialized.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="lazy-evaluation">Lazy Evaluation</h2>
-
-<p>All Flink programs are executed lazily: When the program’s main method is executed, the data loading
-and transformations do not happen directly. Rather, each operation is created and added to the
-program’s plan. The operations are actually executed when the execution is explicitly triggered by 
-an <code>execute()</code> call on the ExecutionEnvironment object. Also, <code>collect()</code> and <code>print()</code> will trigger
-the job execution. Whether the program is executed locally or on a cluster depends
-on the environment of the program.</p>
-
-<p>The lazy evaluation lets you construct sophisticated programs that Flink executes as one
-holistically planned unit.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="transformations">Transformations</h2>
-
-<p>Data transformations transform one or more DataSets into a new DataSet. Programs can combine
-multiple transformations into sophisticated assemblies.</p>
-
-<p>This section gives a brief overview of the available transformations. The <a href="dataset_transformations.html">transformations
-documentation</a> has a full description of all transformations with
-examples.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <p><br /></p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-    <tr>
-      <td><strong>Map</strong></td>
-      <td>
-        <p>Takes one element and produces one element.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">map</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span> <span class="k">return</span> <span class="n">Integer</span><span class="o">.</span><span class="na">parseInt</span><span class="o">(</span><span class="n">value</span><span class="o">);</span> <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>FlatMap</strong></td>
-      <td>
-        <p>Takes one element and produces zero, one, or more elements. </p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">s</span> <span class="o">:</span> <span class="n">value</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">))</span> <span class="o">{</span>
-      <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">s</span><span class="o">);</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>MapPartition</strong></td>
-      <td>
-        <p>Transforms a parallel partition in a single function call. The function get the partition
-        as an `Iterable` stream and can produce an arbitrary number of result values. The number of
-        elements in each partition depends on the degree-of-parallelism and previous operations.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">mapPartition</span><span class="o">(</span><span class="k">new</span> <span class="n">MapPartitionFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;()</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">mapPartition</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">values</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="kt">long</span> <span class="n">c</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">s</span> <span class="o">:</span> <span class="n">values</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">c</span><span class="o">++;</span>
-    <span class="o">}</span>
-    <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">c</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Filter</strong></td>
-      <td>
-        <p>Evaluates a boolean function for each element and retains those for which the function
-        returns true.<br />
-        
-        <strong>IMPORTANT:</strong> The system assumes that the function does not modify the elements on which the predicate is applied. Violating this assumption
-        can lead to incorrect results.
-        </p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Integer</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span> <span class="k">return</span> <span class="n">value</span> <span class="o">&gt;</span> <span class="mi">1000</span><span class="o">;</span> <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Reduce</strong></td>
-      <td>
-        <p>Combines a group of elements into a single element by repeatedly combining two elements
-        into one. Reduce may be applied on a full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="k">new</span> <span class="n">ReduceFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Integer</span> <span class="n">a</span><span class="o">,</span> <span class="n">Integer</span> <span class="n">b</span><span class="o">)</span> <span class="o">{</span> <span class="k">return</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="o">;</span> <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>ReduceGroup</strong></td>
-      <td>
-        <p>Combines a group of elements into one or more elements. ReduceGroup may be applied on a
-        full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="n">GroupReduceFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">values</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="kt">int</span> <span class="n">prefixSum</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">Integer</span> <span class="n">i</span> <span class="o">:</span> <span class="n">values</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">prefixSum</span> <span class="o">+=</span> <span class="n">i</span><span class="o">;</span>
-      <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">prefixSum</span><span class="o">);</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Aggregate</strong></td>
-      <td>
-        <p>Aggregates a group of values into a single value. Aggregation functions can be thought of
-        as built-in reduce functions. Aggregate may be applied on a full data set, or on a grouped
-        data set.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Dataset</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">SUM</span><span class="o">,</span> <span class="mi">0</span><span class="o">).</span><span class="na">and</span><span class="o">(</span><span class="n">MIN</span><span class="o">,</span> <span class="mi">2</span><span class="o">);</span></code></pre></div>
-
-	<p>You can also use short-hand syntax for minimum, maximum, and sum aggregations.</p>
-	
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Dataset</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">andMin</span><span class="o">(</span><span class="mi">2</span><span class="o">);</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    
-      <td><strong>Join</strong></td>
-      <td>
-        Joins two data sets by creating all pairs of elements that are equal on their keys.
-        Optionally uses a JoinFunction to turn the pair of elements into a single element, or a
-        FlatJoinFunction to turn the pair of elements into arbitararily many (including none)
-        elements. See <a href="#specifying-keys">keys</a> on how to define join keys.
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">result</span> <span class="o">=</span> <span class="n">input1</span><span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">input2</span><span class="o">)</span>
-               <span class="o">.</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>       <span class="c1">// key of the first input (tuple field 0)</span>
-               <span class="o">.</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>    <span class="c1">// key of the second input (tuple field 1)</span></code></pre></div>
-
-        You can specify the way that the runtime executes the join via <i>Join Hints</i>. The hints
-        describe whether the join happens through partitioning or broadcasting, and whether it uses
-        a sort-based or a hash-based algorithm. Please refer to the 
-        <a href="dataset_transformations.html#join-algorithm-hints">Transformations Guide</a> for
-        a list of possible hints and an example.
-        If no hint is specified, the system will try to make an estimate of the input sizes and
-        pick a the best strategy according to those estimates. 
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// This executes a join by broadcasting the first data set</span>
-<span class="c1">// using a hash table for the broadcasted data</span>
-<span class="n">result</span> <span class="o">=</span> <span class="n">input1</span><span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">input2</span><span class="o">,</span> <span class="n">JoinHint</span><span class="o">.</span><span class="na">BROADCAST_HASH_FIRST</span><span class="o">)</span>
-               <span class="o">.</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span></code></pre></div>
-
-        Note that the join transformation works only for equi-joins. Other join types, for example outer-joins need to be expressed using CoGroup.
-      </td>
-    
-
-    <tr>
-      <td><strong>CoGroup</strong></td>
-      <td>
-        <p>The two-dimensional variant of the reduce operation. Groups each input on one or more
-        fields and then joins the groups. The transformation function is called per pair of groups.
-        See <a href="#specifying-keys">keys</a> on how to define coGroup keys.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data1</span><span class="o">.</span><span class="na">coGroup</span><span class="o">(</span><span class="n">data2</span><span class="o">)</span>
-     <span class="o">.</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-     <span class="o">.</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-     <span class="o">.</span><span class="na">with</span><span class="o">(</span><span class="k">new</span> <span class="n">CoGroupFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-         <span class="kd">public</span> <span class="kt">void</span> <span class="nf">coGroup</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">in1</span><span class="o">,</span> <span class="n">Iterable</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">in2</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-           <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(...);</span>
-         <span class="o">}</span>
-      <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Cross</strong></td>
-      <td>
-        <p>Builds the Cartesian product (cross product) of two inputs, creating all pairs of
-        elements. Optionally uses a CrossFunction to turn the pair of elements into a single
-        element</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">data1</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">data2</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">data1</span><span class="o">.</span><span class="na">cross</span><span class="o">(</span><span class="n">data2</span><span class="o">);</span></code></pre></div>
-
-      <p>Note: Cross is potentially a <b>very</b> compute-intensive operation which can challenge even large compute clusters! It is adviced to hint the system with the DataSet sizes by using <i>crossWithTiny()</i> and <i>crossWithHuge()</i>.</p>
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Union</strong></td>
-      <td>
-        <p>Produces the union of two data sets. This operation happens implicitly if more than one
-        data set is used for a specific function input.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">data1</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">data2</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">data1</span><span class="o">.</span><span class="na">union</span><span class="o">(</span><span class="n">data2</span><span class="o">);</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Rebalance</strong></td>
-      <td>
-        <p>Evenly rebalances the parallel partitions of a data set to eliminate data skew. Only Map-like transformations may follow a rebalance transformation.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">rebalance</span><span class="o">()</span>
-                           <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="nf">Mapper</span><span class="o">());</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Hash-Partition</strong></td>
-      <td>
-        <p>Hash-partitions a data set on a given key. Keys can be specified as key-selector functions or field position keys.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">partitionByHash</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-                            <span class="o">.</span><span class="na">mapPartition</span><span class="o">(</span><span class="k">new</span> <span class="nf">PartitionMapper</span><span class="o">());</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Custom Partitioning</strong></td>
-      <td>
-        <p>Manually specify a partitioning over the data.
-          <br />
-          <i>Note</i>: This method works only on single field keys.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">partitionCustom</span><span class="o">(</span><span class="n">Partitioner</span><span class="o">&lt;</span><span class="n">K</span><span class="o">&gt;</span> <span class="n">partitioner</span><span class="o">,</span> <span class="n">key</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Sort Partition</strong></td>
-      <td>
-        <p>Locally sorts all partitions of a data set on a specified field in a specified order. 
-          Fields can be specified as tuple positions or field expressions. 
-          Sorting on multiple fields is done by chaining sortPartition() calls.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">sortPartition</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">Order</span><span class="o">.</span><span class="na">ASCENDING</span><span class="o">)</span>
-                            <span class="o">.</span><span class="na">mapPartition</span><span class="o">(</span><span class="k">new</span> <span class="nf">PartitionMapper</span><span class="o">());</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>First-n</strong></td>
-      <td>
-        <p>Returns the first n (arbitrary) elements of a data set. First-n can be applied on a regular data set, a grouped data set, or a grouped-sorted data set. Grouping keys can be specified as key-selector functions or field position keys.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="c1">// regular data set</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">result1</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">first</span><span class="o">(</span><span class="mi">3</span><span class="o">);</span>
-<span class="c1">// grouped data set</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">result2</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-                                            <span class="o">.</span><span class="na">first</span><span class="o">(</span><span class="mi">3</span><span class="o">);</span>
-<span class="c1">// grouped-sorted data set</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">result3</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-                                            <span class="o">.</span><span class="na">sortGroup</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">Order</span><span class="o">.</span><span class="na">ASCENDING</span><span class="o">)</span>
-                                            <span class="o">.</span><span class="na">first</span><span class="o">(</span><span class="mi">3</span><span class="o">);</span></code></pre></div>
-
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-    <hr />
-
-    <p>The following transformations are available on data sets of Tuples:</p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-  <tbody>
-   <tr>
-      <td><strong>Project</strong></td>
-      <td>
-        <p>Selects a subset of fields from the tuples</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="mi">0</span><span class="o">);</span></code></pre></div>
-
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-  </div>
-  <div data-lang="scala">
-    <p><br /></p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-    <tr>
-      <td><strong>Map</strong></td>
-      <td>
-        <p>Takes one element and produces one element.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">x</span> <span class="k">=&gt;</span> <span class="n">x</span><span class="o">.</span><span class="n">toInt</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>FlatMap</strong></td>
-      <td>
-        <p>Takes one element and produces zero, one, or more elements. </p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="n">str</span> <span class="k">=&gt;</span> <span class="n">str</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">)</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>MapPartition</strong></td>
-      <td>
-        <p>Transforms a parallel partition in a single function call. The function get the partition
-        as an `Iterator` and can produce an arbitrary number of result values. The number of
-        elements in each partition depends on the degree-of-parallelism and previous operations.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">mapPartition</span> <span class="o">{</span> <span class="n">in</span> <span class="k">=&gt;</span> <span class="n">in</span> <span class="n">map</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Filter</strong></td>
-      <td>
-        <p>Evaluates a boolean function for each element and retains those for which the function
-        returns true.<br />
-        <strong>IMPORTANT:</strong> The system assumes that the function does not modify the element on which the predicate is applied.
-        Violating this assumption can lead to incorrect results.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">filter</span> <span class="o">{</span> <span class="k">_</span> <span class="o">&gt;</span> <span class="mi">1000</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Reduce</strong></td>
-      <td>
-        <p>Combines a group of elements into a single element by repeatedly combining two elements
-        into one. Reduce may be applied on a full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">reduce</span> <span class="o">{</span> <span class="k">_</span> <span class="o">+</span> <span class="k">_</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>ReduceGroup</strong></td>
-      <td>
-        <p>Combines a group of elements into one or more elements. ReduceGroup may be applied on a
-        full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">reduceGroup</span> <span class="o">{</span> <span class="n">elements</span> <span class="k">=&gt;</span> <span class="n">elements</span><span class="o">.</span><span class="n">sum</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Aggregate</strong></td>
-      <td>
-        <p>Aggregates a group of values into a single value. Aggregation functions can be thought of
-        as built-in reduce functions. Aggregate may be applied on a full data set, or on a grouped
-        data set.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">output</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span>, <span class="kt">Doublr</span><span class="o">)]</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">aggregate</span><span class="o">(</span><span class="nc">SUM</span><span class="o">,</span> <span class="mi">0</span><span class="o">).</span><span class="n">aggregate</span><span class="o">(</span><span class="nc">MIN</span><span class="o">,</span> <span class="mi">2</span><span class="o">);</span></code></pre></div>
-
-  <p>You can also use short-hand syntax for minimum, maximum, and sum aggregations.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">output</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span>, <span class="kt">Doublr</span><span class="o">)]</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">sum</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">min</span><span class="o">(</span><span class="mi">2</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    
-      <td><strong>Join</strong></td>
-      <td>
-        Joins two data sets by creating all pairs of elements that are equal on their keys.
-        Optionally uses a JoinFunction to turn the pair of elements into a single element, or a
-        FlatJoinFunction to turn the pair of elements into arbitararily many (including none)
-        elements. See <a href="#specifying-keys">keys</a> on how to define join keys.
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// In this case tuple fields are used as keys. &quot;0&quot; is the join field on the first tuple</span>
-<span class="c1">// &quot;1&quot; is the join field on the second tuple.</span>
-<span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">input1</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">input2</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span></code></pre></div>
-
-        You can specify the way that the runtime executes the join via <i>Join Hints</i>. The hints
-        describe whether the join happens through partitioning or broadcasting, and whether it uses
-        a sort-based or a hash-based algorithm. Please refer to the 
-        <a href="dataset_transformations.html#join-algorithm-hints">Transformations Guide</a> for
-        a list of possible hints and an example.
-        If no hint is specified, the system will try to make an estimate of the input sizes and
-        pick a the best strategy according to those estimates.
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// This executes a join by broadcasting the first data set</span>
-<span class="c1">// using a hash table for the broadcasted data</span>
-<span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">input1</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">input2</span><span class="o">,</span> <span class="nc">JoinHint</span><span class="o">.</span><span class="nc">BROADCAST_HASH_FIRST</span><span class="o">)</span>
-                   <span class="o">.</span><span class="n">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span></code></pre></div>
-
-          Note that the join transformation works only for equi-joins. Other join types, for example outer-joins need to be expressed using CoGroup.
-      </td>
-    
-
-    <tr>
-      <td><strong>CoGroup</strong></td>
-      <td>
-        <p>The two-dimensional variant of the reduce operation. Groups each input on one or more
-        fields and then joins the groups. The transformation function is called per pair of groups.
-        See <a href="#specifying-keys">keys</a> on how to define coGroup keys.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data1</span><span class="o">.</span><span class="n">coGroup</span><span class="o">(</span><span class="n">data2</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Cross</strong></td>
-      <td>
-        <p>Builds the Cartesian product (cross product) of two inputs, creating all pairs of
-        elements. Optionally uses a CrossFunction to turn the pair of elements into a single
-        element</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">data1</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Int</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">data2</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">result</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="n">data1</span><span class="o">.</span><span class="n">cross</span><span class="o">(</span><span class="n">data2</span><span class="o">)</span></code></pre></div>
-
-        <p>Note: Cross is potentially a <b>very</b> compute-intensive operation which can challenge even large compute clusters! It is adviced to hint the system with the DataSet sizes by using <i>crossWithTiny()</i> and <i>crossWithHuge()</i>.</p>
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Union</strong></td>
-      <td>
-        <p>Produces the union of two data sets.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">union</span><span class="o">(</span><span class="n">data2</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Rebalance</strong></td>
-      <td>
-        <p>Evenly rebalances the parallel partitions of a data set to eliminate data skew. Only Map-like transformations may follow a rebalance transformation.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">data1</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Int</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">result</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="n">data1</span><span class="o">.</span><span class="n">rebalance</span><span class="o">().</span><span class="n">map</span><span class="o">(...)</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Hash-Partition</strong></td>
-      <td>
-        <p>Hash-partitions a data set on a given key. Keys can be specified as key-selector functions, tuple positions
-        or case class fields.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">in</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">in</span><span class="o">.</span><span class="n">partitionByHash</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">mapPartition</span> <span c

<TRUNCATED>

[16/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/hadoop_compatibility.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/hadoop_compatibility.html b/content/docs/master/apis/hadoop_compatibility.html
deleted file mode 100644
index 166e340..0000000
--- a/content/docs/master/apis/hadoop_compatibility.html
+++ /dev/null
@@ -1,423 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Hadoop Compatibility</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Hadoop Compatibility <span class="badge">Beta</span></h1>
-
-
-
-<p>Flink is compatible with Apache Hadoop MapReduce interfaces and therefore allows
-reusing code that was implemented for Hadoop MapReduce.</p>
-
-<p>You can:</p>
-
-<ul>
-  <li>use Hadoop’s <code>Writable</code> <a href="programming_guide.html#data-types">data types</a> in Flink programs.</li>
-  <li>use any Hadoop <code>InputFormat</code> as a <a href="programming_guide.html#data-sources">DataSource</a>.</li>
-  <li>use any Hadoop <code>OutputFormat</code> as a <a href="programming_guide.html#data-sinks">DataSink</a>.</li>
-  <li>use a Hadoop <code>Mapper</code> as <a href="dataset_transformations.html#flatmap">FlatMapFunction</a>.</li>
-  <li>use a Hadoop <code>Reducer</code> as <a href="dataset_transformations.html#groupreduce-on-grouped-dataset">GroupReduceFunction</a>.</li>
-</ul>
-
-<p>This document shows how to use existing Hadoop MapReduce code with Flink. Please refer to the
-<a href="example_connectors.html">Connecting to other systems</a> guide for reading from Hadoop supported file systems.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#project-configuration" id="markdown-toc-project-configuration">Project Configuration</a></li>
-  <li><a href="#using-hadoop-data-types" id="markdown-toc-using-hadoop-data-types">Using Hadoop Data Types</a></li>
-  <li><a href="#using-hadoop-inputformats" id="markdown-toc-using-hadoop-inputformats">Using Hadoop InputFormats</a></li>
-  <li><a href="#using-hadoop-outputformats" id="markdown-toc-using-hadoop-outputformats">Using Hadoop OutputFormats</a></li>
-  <li><a href="#using-hadoop-mappers-and-reducers" id="markdown-toc-using-hadoop-mappers-and-reducers">Using Hadoop Mappers and Reducers</a></li>
-  <li><a href="#complete-hadoop-wordcount-example" id="markdown-toc-complete-hadoop-wordcount-example">Complete Hadoop WordCount Example</a></li>
-</ul>
-
-<h3 id="project-configuration">Project Configuration</h3>
-
-<p>Support for Haddop input/output formats is part of the <code>flink-java</code> and
-<code>flink-scala</code> Maven modules that are always required when writing Flink jobs.
-The code is located in <code>org.apache.flink.api.java.hadoop</code> and
-<code>org.apache.flink.api.scala.hadoop</code> in an additional sub-package for the
-<code>mapred</code> and <code>mapreduce</code> API.</p>
-
-<p>Support for Hadoop Mappers and Reducers is contained in the <code>flink-staging</code>
-Maven module.
-This code resides in the <code>org.apache.flink.hadoopcompatibility</code>
-package.</p>
-
-<p>Add the following dependency to your <code>pom.xml</code> if you want to reuse Mappers
-and Reducers.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>flink-hadoop-compatibility<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<h3 id="using-hadoop-data-types">Using Hadoop Data Types</h3>
-
-<p>Flink supports all Hadoop <code>Writable</code> and <code>WritableComparable</code> data types
-out-of-the-box. You do not need to include the Hadoop Compatibility dependency,
-if you only want to use your Hadoop data types. See the
-<a href="programming_guide.html#data-types">Programming Guide</a> for more details.</p>
-
-<h3 id="using-hadoop-inputformats">Using Hadoop InputFormats</h3>
-
-<p>Hadoop input formats can be used to create a data source by using
-one of the methods <code>readHadoopFile</code> or <code>createHadoopInput</code> of the
-<code>ExecutionEnvironment</code>. The former is used for input formats derived
-from <code>FileInputFormat</code> while the latter has to be used for general purpose
-input formats.</p>
-
-<p>The resulting <code>DataSet</code> contains 2-tuples where the first field
-is the key and the second field is the value retrieved from the Hadoop
-InputFormat.</p>
-
-<p>The following example shows how to use Hadoop’s <code>TextInputFormat</code>.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span>
-    <span class="n">env</span><span class="o">.</span><span class="na">readHadoopFile</span><span class="o">(</span><span class="k">new</span> <span class="nf">TextInputFormat</span><span class="o">(),</span> <span class="n">LongWritable</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Text</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">textPath</span><span class="o">);</span>
-
-<span class="c1">// Do something with the data.</span>
-<span class="o">[...]</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-		
-<span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">LongWritable</span>, <span class="kt">Text</span><span class="o">)]</span> <span class="k">=</span>
-  <span class="n">env</span><span class="o">.</span><span class="n">readHadoopFile</span><span class="o">(</span><span class="k">new</span> <span class="nc">TextInputFormat</span><span class="o">,</span> <span class="n">classOf</span><span class="o">[</span><span class="kt">LongWritable</span><span class="o">],</span> <span class="n">classOf</span><span class="o">[</span><span class="kt">Text</span><span class="o">],</span> <span class="n">textPath</span><span class="o">)</span>
-
-<span class="c1">// Do something with the data.</span>
-<span class="o">[</span><span class="kt">...</span><span class="o">]</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<h3 id="using-hadoop-outputformats">Using Hadoop OutputFormats</h3>
-
-<p>Flink provides a compatibility wrapper for Hadoop <code>OutputFormats</code>. Any class
-that implements <code>org.apache.hadoop.mapred.OutputFormat</code> or extends
-<code>org.apache.hadoop.mapreduce.OutputFormat</code> is supported.
-The OutputFormat wrapper expects its input data to be a DataSet containing
-2-tuples of key and value. These are to be processed by the Hadoop OutputFormat.</p>
-
-<p>The following example shows how to use Hadoop’s <code>TextOutputFormat</code>.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// Obtain the result we want to emit</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;&gt;</span> <span class="n">hadoopResult</span> <span class="o">=</span> <span class="o">[...]</span>
-		
-<span class="c1">// Set up the Hadoop TextOutputFormat.</span>
-<span class="n">HadoopOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;</span> <span class="n">hadoopOF</span> <span class="o">=</span> 
-  <span class="c1">// create the Flink wrapper.</span>
-  <span class="k">new</span> <span class="n">HadoopOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;(</span>
-    <span class="c1">// set the Hadoop OutputFormat and specify the job.</span>
-    <span class="k">new</span> <span class="n">TextOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;(),</span> <span class="n">job</span>
-  <span class="o">);</span>
-<span class="n">hadoopOF</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">().</span><span class="na">set</span><span class="o">(</span><span class="s">&quot;mapreduce.output.textoutputformat.separator&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">);</span>
-<span class="n">TextOutputFormat</span><span class="o">.</span><span class="na">setOutputPath</span><span class="o">(</span><span class="n">job</span><span class="o">,</span> <span class="k">new</span> <span class="nf">Path</span><span class="o">(</span><span class="n">outputPath</span><span class="o">));</span>
-		
-<span class="c1">// Emit data using the Hadoop TextOutputFormat.</span>
-<span class="n">hadoopResult</span><span class="o">.</span><span class="na">output</span><span class="o">(</span><span class="n">hadoopOF</span><span class="o">);</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="c1">// Obtain your result to emit.</span>
-<span class="k">val</span> <span class="n">hadoopResult</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Text</span>, <span class="kt">IntWritable</span><span class="o">)]</span> <span class="k">=</span> <span class="o">[</span><span class="kt">...</span><span class="o">]</span>
-
-<span class="k">val</span> <span class="n">hadoopOF</span> <span class="k">=</span> <span class="k">new</span> <span class="nc">HadoopOutputFormat</span><span class="o">[</span><span class="kt">Text</span>,<span class="kt">IntWritable</span><span class="o">](</span>
-  <span class="k">new</span> <span class="nc">TextOutputFormat</span><span class="o">[</span><span class="kt">Text</span>, <span class="kt">IntWritable</span><span class="o">],</span>
-  <span class="k">new</span> <span class="nc">JobConf</span><span class="o">)</span>
-
-<span class="n">hadoopOF</span><span class="o">.</span><span class="n">getJobConf</span><span class="o">.</span><span class="n">set</span><span class="o">(</span><span class="s">&quot;mapred.textoutputformat.separator&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">)</span>
-<span class="nc">FileOutputFormat</span><span class="o">.</span><span class="n">setOutputPath</span><span class="o">(</span><span class="n">hadoopOF</span><span class="o">.</span><span class="n">getJobConf</span><span class="o">,</span> <span class="k">new</span> <span class="nc">Path</span><span class="o">(</span><span class="n">resultPath</span><span class="o">))</span>
-
-<span class="n">hadoopResult</span><span class="o">.</span><span class="n">output</span><span class="o">(</span><span class="n">hadoopOF</span><span class="o">)</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<h3 id="using-hadoop-mappers-and-reducers">Using Hadoop Mappers and Reducers</h3>
-
-<p>Hadoop Mappers are semantically equivalent to Flink’s <a href="dataset_transformations.html#flatmap">FlatMapFunctions</a> and Hadoop Reducers are equivalent to Flink’s <a href="dataset_transformations.html#groupreduce-on-grouped-dataset">GroupReduceFunctions</a>. Flink provides wrappers for implementations of Hadoop MapReduce’s <code>Mapper</code> and <code>Reducer</code> interfaces, i.e., you can reuse your Hadoop Mappers and Reducers in regular Flink programs. At the moment, only the Mapper and Reduce interfaces of Hadoop’s mapred API (<code>org.apache.hadoop.mapred</code>) are supported.</p>
-
-<p>The wrappers take a <code>DataSet&lt;Tuple2&lt;KEYIN,VALUEIN&gt;&gt;</code> as input and produce a <code>DataSet&lt;Tuple2&lt;KEYOUT,VALUEOUT&gt;&gt;</code> as output where <code>KEYIN</code> and <code>KEYOUT</code> are the keys and <code>VALUEIN</code> and <code>VALUEOUT</code> are the values of the Hadoop key-value pairs that are processed by the Hadoop functions. For Reducers, Flink offers a wrapper for a GroupReduceFunction with (<code>HadoopReduceCombineFunction</code>) and without a Combiner (<code>HadoopReduceFunction</code>). The wrappers accept an optional <code>JobConf</code> object to configure the Hadoop Mapper or Reducer.</p>
-
-<p>Flink’s function wrappers are</p>
-
-<ul>
-  <li><code>org.apache.flink.hadoopcompatibility.mapred.HadoopMapFunction</code>,</li>
-  <li><code>org.apache.flink.hadoopcompatibility.mapred.HadoopReduceFunction</code>, and</li>
-  <li><code>org.apache.flink.hadoopcompatibility.mapred.HadoopReduceCombineFunction</code>.</li>
-</ul>
-
-<p>and can be used as regular Flink <a href="dataset_transformations.html#flatmap">FlatMapFunctions</a> or <a href="dataset_transformations.html#groupreduce-on-grouped-dataset">GroupReduceFunctions</a>.</p>
-
-<p>The following example shows how to use Hadoop <code>Mapper</code> and <code>Reducer</code> functions.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="c1">// Obtain data to process somehow.</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="o">[...]</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">text</span>
-  <span class="c1">// use Hadoop Mapper (Tokenizer) as MapFunction</span>
-  <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="n">HadoopMapFunction</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">()</span>
-  <span class="o">))</span>
-  <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-  <span class="c1">// use Hadoop Reducer (Counter) as Reduce- and CombineFunction</span>
-  <span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="n">HadoopReduceCombineFunction</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="nf">Counter</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">Counter</span><span class="o">()</span>
-  <span class="o">));</span></code></pre></div>
-
-<p><strong>Please note:</strong> The Reducer wrapper works on groups as defined by Flink’s <a href="dataset_transformations.html#transformations-on-grouped-dataset">groupBy()</a> operation. It does not consider any custom partitioners, sort or grouping comparators you might have set in the <code>JobConf</code>.</p>
-
-<h3 id="complete-hadoop-wordcount-example">Complete Hadoop WordCount Example</h3>
-
-<p>The following example shows a complete WordCount implementation using Hadoop data types, Input- and OutputFormats, and Mapper and Reducer implementations.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-		
-<span class="c1">// Set up the Hadoop TextInputFormat.</span>
-<span class="n">Job</span> <span class="n">job</span> <span class="o">=</span> <span class="n">Job</span><span class="o">.</span><span class="na">getInstance</span><span class="o">();</span>
-<span class="n">HadoopInputFormat</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">&gt;</span> <span class="n">hadoopIF</span> <span class="o">=</span> 
-  <span class="k">new</span> <span class="n">HadoopInputFormat</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="nf">TextInputFormat</span><span class="o">(),</span> <span class="n">LongWritable</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Text</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">job</span>
-  <span class="o">);</span>
-<span class="n">TextInputFormat</span><span class="o">.</span><span class="na">addInputPath</span><span class="o">(</span><span class="n">job</span><span class="o">,</span> <span class="k">new</span> <span class="nf">Path</span><span class="o">(</span><span class="n">inputPath</span><span class="o">));</span>
-		
-<span class="c1">// Read data using the Hadoop TextInputFormat.</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">&gt;&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">createInput</span><span class="o">(</span><span class="n">hadoopIF</span><span class="o">);</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">text</span>
-  <span class="c1">// use Hadoop Mapper (Tokenizer) as MapFunction</span>
-  <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="n">HadoopMapFunction</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">()</span>
-  <span class="o">))</span>
-  <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-  <span class="c1">// use Hadoop Reducer (Counter) as Reduce- and CombineFunction</span>
-  <span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="n">HadoopReduceCombineFunction</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="nf">Counter</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">Counter</span><span class="o">()</span>
-  <span class="o">));</span>
-
-<span class="c1">// Set up the Hadoop TextOutputFormat.</span>
-<span class="n">HadoopOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;</span> <span class="n">hadoopOF</span> <span class="o">=</span> 
-  <span class="k">new</span> <span class="n">HadoopOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;(</span>
-    <span class="k">new</span> <span class="n">TextOutputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">IntWritable</span><span class="o">&gt;(),</span> <span class="n">job</span>
-  <span class="o">);</span>
-<span class="n">hadoopOF</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">().</span><span class="na">set</span><span class="o">(</span><span class="s">&quot;mapreduce.output.textoutputformat.separator&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">);</span>
-<span class="n">TextOutputFormat</span><span class="o">.</span><span class="na">setOutputPath</span><span class="o">(</span><span class="n">job</span><span class="o">,</span> <span class="k">new</span> <span class="nf">Path</span><span class="o">(</span><span class="n">outputPath</span><span class="o">));</span>
-		
-<span class="c1">// Emit data using the Hadoop TextOutputFormat.</span>
-<span class="n">result</span><span class="o">.</span><span class="na">output</span><span class="o">(</span><span class="n">hadoopOF</span><span class="o">);</span>
-
-<span class="c1">// Execute Program</span>
-<span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="s">&quot;Hadoop WordCount&quot;</span><span class="o">);</span></code></pre></div>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/index.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/index.html b/content/docs/master/apis/index.html
deleted file mode 100644
index 8140039..0000000
--- a/content/docs/master/apis/index.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Programming Guides</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Programming Guides</h1>
-
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/iterations.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/iterations.html b/content/docs/master/apis/iterations.html
deleted file mode 100644
index 124981e..0000000
--- a/content/docs/master/apis/iterations.html
+++ /dev/null
@@ -1,399 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Iterations</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Iterations</h1>
-
-
-
-<p>Iterative algorithms occur in many domains of data analysis, such as <em>machine learning</em> or <em>graph analysis</em>. Such algorithms are crucial in order to realize the promise of Big Data to extract meaningful information out of your data. With increasing interest to run these kinds of algorithms on very large data sets, there is a need to execute iterations in a massively parallel fashion.</p>
-
-<p>Flink programs implement iterative algorithms by defining a <strong>step function</strong> and embedding it into a special iteration operator. There are two  variants of this operator: <strong>Iterate</strong> and <strong>Delta Iterate</strong>. Both operators repeatedly invoke the step function on the current iteration state until a certain termination condition is reached.</p>
-
-<p>Here, we provide background on both operator variants and outline their usage. The <a href="programming_guide.html">programming guide</a> explains how to implement the operators in both Scala and Java. We also support both <strong>vertex-centric and gather-sum-apply iterations</strong> through Flink’s graph processing API, <a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Gelly</a>.</p>
-
-<p>The following table provides an overview of both operators:</p>
-
-<table class="table table-striped table-hover table-bordered">
-	<thead>
-		<th></th>
-		<th class="text-center">Iterate</th>
-		<th class="text-center">Delta Iterate</th>
-	</thead>
-	<tr>
-		<td class="text-center" width="20%"><strong>Iteration Input</strong></td>
-		<td class="text-center" width="40%"><strong>Partial Solution</strong></td>
-		<td class="text-center" width="40%"><strong>Workset</strong> and <strong>Solution Set</strong></td>
-	</tr>
-	<tr>
-		<td class="text-center"><strong>Step Function</strong></td>
-		<td colspan="2" class="text-center">Arbitrary Data Flows</td>
-	</tr>
-	<tr>
-		<td class="text-center"><strong>State Update</strong></td>
-		<td class="text-center">Next <strong>partial solution</strong></td>
-		<td>
-			<ul>
-				<li>Next workset</li>
-				<li><strong>Changes to solution set</strong></li>
-			</ul>
-		</td>
-	</tr>
-	<tr>
-		<td class="text-center"><strong>Iteration Result</strong></td>
-		<td class="text-center">Last partial solution</td>
-		<td class="text-center">Solution set state after last iteration</td>
-	</tr>
-	<tr>
-		<td class="text-center"><strong>Termination</strong></td>
-		<td>
-			<ul>
-				<li><strong>Maximum number of iterations</strong> (default)</li>
-				<li>Custom aggregator convergence</li>
-			</ul>
-		</td>
-		<td>
-			<ul>
-				<li><strong>Maximum number of iterations or empty workset</strong> (default)</li>
-				<li>Custom aggregator convergence</li>
-			</ul>
-		</td>
-	</tr>
-</table>
-
-<ul id="markdown-toc">
-  <li><a href="#iterate-operator" id="markdown-toc-iterate-operator">Iterate Operator</a>    <ul>
-      <li><a href="#example-incrementing-numbers" id="markdown-toc-example-incrementing-numbers">Example: Incrementing Numbers</a></li>
-    </ul>
-  </li>
-  <li><a href="#delta-iterate-operator" id="markdown-toc-delta-iterate-operator">Delta Iterate Operator</a>    <ul>
-      <li><a href="#example-propagate-minimum-in-graph" id="markdown-toc-example-propagate-minimum-in-graph">Example: Propagate Minimum in Graph</a></li>
-    </ul>
-  </li>
-  <li><a href="#superstep-synchronization" id="markdown-toc-superstep-synchronization">Superstep Synchronization</a></li>
-</ul>
-
-<h2 id="iterate-operator">Iterate Operator</h2>
-
-<p>The <strong>iterate operator</strong> covers the <em>simple form of iterations</em>: in each iteration, the <strong>step function</strong> consumes the <strong>entire input</strong> (the <em>result of the previous iteration</em>, or the <em>initial data set</em>), and computes the <strong>next version of the partial solution</strong> (e.g. <code>map</code>, <code>reduce</code>, <code>join</code>, etc.).</p>
-
-<p class="text-center">
-    <img alt="Iterate Operator" width="60%" src="fig/iterations_iterate_operator.png" />
-</p>
-
-<ol>
-  <li><strong>Iteration Input</strong>: Initial input for the <em>first iteration</em> from a <em>data source</em> or <em>previous operators</em>.</li>
-  <li><strong>Step Function</strong>: The step function will be executed in each iteration. It is an arbitrary data flow consisting of operators like <code>map</code>, <code>reduce</code>, <code>join</code>, etc. and depends on your specific task at hand.</li>
-  <li><strong>Next Partial Solution</strong>: In each iteration, the output of the step function will be fed back into the <em>next iteration</em>.</li>
-  <li><strong>Iteration Result</strong>: Output of the <em>last iteration</em> is written to a <em>data sink</em> or used as input to the <em>following operators</em>.</li>
-</ol>
-
-<p>There are multiple options to specify <strong>termination conditions</strong> for an iteration:</p>
-
-<ul>
-  <li><strong>Maximum number of iterations</strong>: Without any further conditions, the iteration will be executed this many times.</li>
-  <li><strong>Custom aggregator convergence</strong>: Iterations allow to specify <em>custom aggregators</em> and <em>convergence criteria</em> like sum aggregate the number of emitted records (aggregator) and terminate if this number is zero (convergence criterion).</li>
-</ul>
-
-<p>You can also think about the iterate operator in pseudo-code:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">IterationState</span> <span class="n">state</span> <span class="o">=</span> <span class="n">getInitialState</span><span class="o">();</span>
-
-<span class="k">while</span> <span class="o">(!</span><span class="n">terminationCriterion</span><span class="o">())</span> <span class="o">{</span>
-	<span class="n">state</span> <span class="o">=</span> <span class="n">step</span><span class="o">(</span><span class="n">state</span><span class="o">);</span>
-<span class="o">}</span>
-
-<span class="n">setFinalState</span><span class="o">(</span><span class="n">state</span><span class="o">);</span></code></pre></div>
-
-<div class="panel panel-default">
-	<div class="panel-body">
-	See the <strong><a href="programming_guide.html">Programming Guide</a> </strong> for details and code examples.</div>
-</div>
-
-<h3 id="example-incrementing-numbers">Example: Incrementing Numbers</h3>
-
-<p>In the following example, we <strong>iteratively incremenet a set numbers</strong>:</p>
-
-<p class="text-center">
-    <img alt="Iterate Operator Example" width="60%" src="fig/iterations_iterate_operator_example.png" />
-</p>
-
-<ol>
-  <li><strong>Iteration Input</strong>: The inital input is read from a data source and consists of five single-field records (integers <code>1</code> to <code>5</code>).</li>
-  <li><strong>Step function</strong>: The step function is a single <code>map</code> operator, which increments the integer field from <code>i</code> to <code>i+1</code>. It will be applied to every record of the input.</li>
-  <li><strong>Next Partial Solution</strong>: The output of the step function will be the output of the map operator, i.e. records with incremented integers.</li>
-  <li><strong>Iteration Result</strong>: After ten iterations, the initial numbers will have been incremented ten times, resulting in integers <code>11</code> to <code>15</code>.</li>
-</ol>
-
-<div class="highlight"><pre><code>// 1st           2nd                       10th
-map(1) -&gt; 2      map(2) -&gt; 3      ...      map(10) -&gt; 11
-map(2) -&gt; 3      map(3) -&gt; 4      ...      map(11) -&gt; 12
-map(3) -&gt; 4      map(4) -&gt; 5      ...      map(12) -&gt; 13
-map(4) -&gt; 5      map(5) -&gt; 6      ...      map(13) -&gt; 14
-map(5) -&gt; 6      map(6) -&gt; 7      ...      map(14) -&gt; 15
-</code></pre></div>
-
-<p>Note that <strong>1</strong>, <strong>2</strong>, and <strong>4</strong> can be arbitrary data flows.</p>
-
-<h2 id="delta-iterate-operator">Delta Iterate Operator</h2>
-
-<p>The <strong>delta iterate operator</strong> covers the case of <strong>incremental iterations</strong>. Incremental iterations <strong>selectively modify elements</strong> of their <strong>solution</strong> and evolve the solution rather than fully recompute it.</p>
-
-<p>Where applicable, this leads to <strong>more efficient algorithms</strong>, because not every element in the solution set changes in each iteration. This allows to <strong>focus on the hot parts</strong> of the solution and leave the <strong>cold parts untouched</strong>. Frequently, the majority of the solution cools down comparatively fast and the later iterations operate only on a small subset of the data.</p>
-
-<p class="text-center">
-    <img alt="Delta Iterate Operator" width="60%" src="fig/iterations_delta_iterate_operator.png" />
-</p>
-
-<ol>
-  <li><strong>Iteration Input</strong>: The initial workset and solution set are read from <em>data sources</em> or <em>previous operators</em> as input to the first iteration.</li>
-  <li><strong>Step Function</strong>: The step function will be executed in each iteration. It is an arbitrary data flow consisting of operators like <code>map</code>, <code>reduce</code>, <code>join</code>, etc. and depends on your specific task at hand.</li>
-  <li><strong>Next Workset/Update Solution Set</strong>: The <em>next workset</em> drives the iterative computation and will be fed back into the <em>next iteration</em>. Furthermore, the solution set will be updated and implicitly forwarded (it is not required to be rebuild). Both data sets can be updated by different operators of the step function.</li>
-  <li><strong>Iteration Result</strong>: After the <em>last iteration</em>, the <em>solution set</em> is written to a <em>data sink</em> or used as input to the <em>following operators</em>.</li>
-</ol>
-
-<p>The default <strong>termination condition</strong> for delta iterations is specified by the <strong>empty workset convergence criterion</strong> and a <strong>maximum number of iterations</strong>. The iteration will terminate when a produced <em>next workset</em> is empty or when the maximum number of iterations is reached. It is also possible to specify a <strong>custom aggregator</strong> and <strong>convergence criterion</strong>.</p>
-
-<p>You can also think about the iterate operator in pseudo-code:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">IterationState</span> <span class="n">workset</span> <span class="o">=</span> <span class="n">getInitialState</span><span class="o">();</span>
-<span class="n">IterationState</span> <span class="n">solution</span> <span class="o">=</span> <span class="n">getInitialSolution</span><span class="o">();</span>
-
-<span class="k">while</span> <span class="o">(!</span><span class="n">terminationCriterion</span><span class="o">())</span> <span class="o">{</span>
-	<span class="o">(</span><span class="n">delta</span><span class="o">,</span> <span class="n">workset</span><span class="o">)</span> <span class="o">=</span> <span class="n">step</span><span class="o">(</span><span class="n">workset</span><span class="o">,</span> <span class="n">solution</span><span class="o">);</span>
-
-	<span class="n">solution</span><span class="o">.</span><span class="na">update</span><span class="o">(</span><span class="n">delta</span><span class="o">)</span>
-<span class="o">}</span>
-
-<span class="n">setFinalState</span><span class="o">(</span><span class="n">solution</span><span class="o">);</span></code></pre></div>
-
-<div class="panel panel-default">
-	<div class="panel-body">
-	See the <strong><a href="programming_guide.html">programming guide</a></strong> for details and code examples.</div>
-</div>
-
-<h3 id="example-propagate-minimum-in-graph">Example: Propagate Minimum in Graph</h3>
-
-<p>In the following example, every vertex has an <strong>ID</strong> and a <strong>coloring</strong>. Each vertex will propagate its vertex ID to neighboring vertices. The <strong>goal</strong> is to <em>assign the minimum ID to every vertex in a subgraph</em>. If a received ID is smaller then the current one, it changes to the color of the vertex with the received ID. One application of this can be found in <em>community analysis</em> or <em>connected components</em> computation.</p>
-
-<p class="text-center">
-    <img alt="Delta Iterate Operator Example" width="100%" src="fig/iterations_delta_iterate_operator_example.png" />
-</p>
-
-<p>The <strong>intial input</strong> is set as <strong>both workset and solution set.</strong> In the above figure, the colors visualize the <strong>evolution of the solution set</strong>. With each iteration, the color of the minimum ID is spreading in the respective subgraph. At the same time, the amount of work (exchanged and compared vertex IDs) decreases with each iteration. This corresponds to the <strong>decreasing size of the workset</strong>, which goes from all seven vertices to zero after three iterations, at which time the iteration terminates. The <strong>important observation</strong> is that <em>the lower subgraph converges before the upper half</em> does and the delta iteration is able to capture this with the workset abstraction.</p>
-
-<p>In the upper subgraph <strong>ID 1</strong> (<em>orange</em>) is the <strong>minimum ID</strong>. In the <strong>first iteration</strong>, it will get propagated to vertex 2, which will subsequently change its color to orange. Vertices 3 and 4 will receive <strong>ID 2</strong> (in <em>yellow</em>) as their current minimum ID and change to yellow. Because the color of <em>vertex 1</em> didn’t change in the first iteration, it can be skipped it in the next workset.</p>
-
-<p>In the lower subgraph <strong>ID 5</strong> (<em>cyan</em>) is the <strong>minimum ID</strong>. All vertices of the lower subgraph will receive it in the first iteration. Again, we can skip the unchanged vertices (<em>vertex 5</em>) for the next workset.</p>
-
-<p>In the <strong>2nd iteration</strong>, the workset size has already decreased from seven to five elements (vertices 2, 3, 4, 6, and 7). These are part of the iteration and further propagate their current minimum IDs. After this iteration, the lower subgraph has already converged (<strong>cold part</strong> of the graph), as it has no elements in the workset, whereas the upper half needs a further iteration (<strong>hot part</strong> of the graph) for the two remaining workset elements (vertices 3 and 4).</p>
-
-<p>The iteration <strong>terminates</strong>, when the workset is empty after the <strong>3rd iteration</strong>.</p>
-
-<p><a href="#supersteps"></a></p>
-
-<h2 id="superstep-synchronization">Superstep Synchronization</h2>
-
-<p>We referred to each execution of the step function of an iteration operator as <em>a single iteration</em>. In parallel setups, <strong>multiple instances of the step function are evaluated in parallel</strong> on different partitions of the iteration state. In many settings, one evaluation of the step function on all parallel instances forms a so called <strong>superstep</strong>, which is also the granularity of synchronization. Therefore, <em>all</em> parallel tasks of an iteration need to complete the superstep, before a next superstep will be initialized. <strong>Termination criteria</strong> will also be evaluated at superstep barriers.</p>
-
-<p class="text-center">
-    <img alt="Supersteps" width="50%" src="fig/iterations_supersteps.png" />
-</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[02/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/gelly_guide.html
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/gelly_guide.html b/content/docs/master/libs/gelly_guide.html
deleted file mode 100644
index af98e56..0000000
--- a/content/docs/master/libs/gelly_guide.html
+++ /dev/null
@@ -1,1090 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Gelly: Flink Graph API</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Gelly: Flink Graph API <span class="badge">Beta</span></h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>Gelly is a Java Graph API for Flink. It contains a set of methods and utilities which aim to simplify the development of graph analysis applications in Flink. In Gelly, graphs can be transformed and modified using high-level functions similar to the ones provided by the batch processing API. Gelly provides methods to create, transform and modify graphs, as well as a library of graph algorithms.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#using-gelly" id="markdown-toc-using-gelly">Using Gelly</a></li>
-  <li><a href="#graph-representation" id="markdown-toc-graph-representation">Graph Representation</a></li>
-  <li><a href="#graph-creation" id="markdown-toc-graph-creation">Graph Creation</a></li>
-  <li><a href="#graph-properties" id="markdown-toc-graph-properties">Graph Properties</a></li>
-  <li><a href="#graph-transformations" id="markdown-toc-graph-transformations">Graph Transformations</a></li>
-  <li><a href="#graph-mutations" id="markdown-toc-graph-mutations">Graph Mutations</a></li>
-  <li><a href="#neighborhood-methods" id="markdown-toc-neighborhood-methods">Neighborhood Methods</a></li>
-  <li><a href="#iterative-graph-processing" id="markdown-toc-iterative-graph-processing">Iterative Graph Processing</a>    <ul>
-      <li><a href="#vertex-centric-iterations" id="markdown-toc-vertex-centric-iterations">Vertex-centric Iterations</a></li>
-      <li><a href="#configuring-a-vertex-centric-iteration" id="markdown-toc-configuring-a-vertex-centric-iteration">Configuring a Vertex-Centric Iteration</a></li>
-      <li><a href="#gather-sum-apply-iterations" id="markdown-toc-gather-sum-apply-iterations">Gather-Sum-Apply Iterations</a></li>
-      <li><a href="#configuring-a-gather-sum-apply-iteration" id="markdown-toc-configuring-a-gather-sum-apply-iteration">Configuring a Gather-Sum-Apply Iteration</a></li>
-      <li><a href="#vertex-centric-and-gsa-comparison" id="markdown-toc-vertex-centric-and-gsa-comparison">Vertex-centric and GSA Comparison</a></li>
-    </ul>
-  </li>
-  <li><a href="#graph-validation" id="markdown-toc-graph-validation">Graph Validation</a></li>
-  <li><a href="#library-methods" id="markdown-toc-library-methods">Library Methods</a></li>
-  <li><a href="#migrating-spargel-code-to-gelly" id="markdown-toc-migrating-spargel-code-to-gelly">Migrating Spargel Code to Gelly</a></li>
-</ul>
-
-<h2 id="using-gelly">Using Gelly</h2>
-
-<p>Gelly is currently part of the <em>staging</em> Maven project. All relevant classes are located in the <em>org.apache.flink.graph</em> package.</p>
-
-<p>Add the following dependency to your <code>pom.xml</code> to use Gelly.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>flink-gelly<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<p>Note that Gelly is currently not part of the binary distribution. See linking with it for cluster execution <a href="../apis/cluster_execution.html#linking-with-modules-not-contained-in-the-binary-distribution">here</a>.</p>
-
-<p>The remaining sections provide a description of available methods and present several examples of how to use Gelly and how to mix it with the Flink Java API. After reading this guide, you might also want to check the <a href="https://github.com/apache/flink/blob/master//flink-staging/flink-gelly/src/main/java/org/apache/flink/graph/example/">Gelly examples</a>.</p>
-
-<h2 id="graph-representation">Graph Representation</h2>
-
-<p>In Gelly, a <code>Graph</code> is represented by a <code>DataSet</code> of vertices and a <code>DataSet</code> of edges.</p>
-
-<p>The <code>Graph</code> nodes are represented by the <code>Vertex</code> type. A <code>Vertex</code> is defined by a unique ID and a value. <code>Vertex</code> IDs should implement the <code>Comparable</code> interface. Vertices without value can be represented by setting the value type to <code>NullValue</code>.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// create a new vertex with a Long ID and a String value</span>
-<span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">v</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;(</span><span class="mi">1L</span><span class="o">,</span> <span class="s">&quot;foo&quot;</span><span class="o">);</span>
-
-<span class="c1">// create a new vertex with a Long ID and no value</span>
-<span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">NullValue</span><span class="o">&gt;</span> <span class="n">v</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">NullValue</span><span class="o">&gt;(</span><span class="mi">1L</span><span class="o">,</span> <span class="n">NullValue</span><span class="o">.</span><span class="na">getInstance</span><span class="o">());</span></code></pre></div>
-
-<p>The graph edges are represented by the <code>Edge</code> type. An <code>Edge</code> is defined by a source ID (the ID of the source <code>Vertex</code>), a target ID (the ID of the target <code>Vertex</code>) and an optional value. The source and target IDs should be of the same type as the <code>Vertex</code> IDs. Edges with no value have a <code>NullValue</code> value type.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">e</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;(</span><span class="mi">1L</span><span class="o">,</span> <span class="mi">2L</span><span class="o">,</span> <span class="mf">0.5</span><span class="o">);</span>
-
-<span class="c1">// reverse the source and target of this edge</span>
-<span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">reversed</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="na">reverse</span><span class="o">();</span>
-
-<span class="n">Double</span> <span class="n">weight</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="na">getValue</span><span class="o">();</span> <span class="c1">// weight = 0.5</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="graph-creation">Graph Creation</h2>
-
-<p>You can create a <code>Graph</code> in the following ways:</p>
-
-<ul>
-  <li>from a <code>DataSet</code> of edges and an optional <code>DataSet</code> of vertices:</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertices</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">edges</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="na">fromDataSet</span><span class="o">(</span><span class="n">vertices</span><span class="o">,</span> <span class="n">edges</span><span class="o">,</span> <span class="n">env</span><span class="o">);</span></code></pre></div>
-
-<ul>
-  <li>from a <code>DataSet</code> of <code>Tuple3</code> and an optional <code>DataSet</code> of <code>Tuple2</code>. In this case, Gelly will convert each <code>Tuple3</code> to an <code>Edge</code>, where the first field will be the source ID, the second field will be the target ID and the third field will be the edge value. Equivalently, each <code>Tuple2</code> will be converted to a <code>Vertex</code>, where the first field will be the vertex ID and the second field will be the vertex value:</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertexTuples</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readCsvFile</span><span class="o">(</span><span class="s">&quot;path/to/vertex/input&quot;</span><span class="o">);</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">edgeTuples</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readCsvFile</span><span class="o">(</span><span class="s">&quot;path/to/edge/input&quot;</span><span class="o">);</span>
-
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="na">fromTupleDataSet</span><span class="o">(</span><span class="n">vertexTuples</span><span class="o">,</span> <span class="n">edgeTuples</span><span class="o">,</span> <span class="n">env</span><span class="o">);</span></code></pre></div>
-
-<ul>
-  <li>from a <code>Collection</code> of edges and an optional <code>Collection</code> of vertices:</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">List</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertexList</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ArrayList</span><span class="o">...</span>
-
-<span class="n">List</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">edgeList</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ArrayList</span><span class="o">...</span>
-
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="na">fromCollection</span><span class="o">(</span><span class="n">vertexList</span><span class="o">,</span> <span class="n">edgeList</span><span class="o">,</span> <span class="n">env</span><span class="o">);</span></code></pre></div>
-
-<p>If no vertex input is provided during Graph creation, Gelly will automatically produce the <code>Vertex</code> <code>DataSet</code> from the edge input. In this case, the created vertices will have no values. Alternatively, you can provide a <code>MapFunction</code> as an argument to the creation method, in order to initialize the <code>Vertex</code> values:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="c1">// initialize the vertex value to be equal to the vertex ID</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="na">fromCollection</span><span class="o">(</span><span class="n">edges</span><span class="o">,</span> 
-				<span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;()</span> <span class="o">{</span>
-					<span class="kd">public</span> <span class="n">Long</span> <span class="nf">map</span><span class="o">(</span><span class="n">Long</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span> 
-						<span class="k">return</span> <span class="n">value</span><span class="o">;</span> 
-					<span class="o">}</span> 
-				<span class="o">},</span> <span class="n">env</span><span class="o">);</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="graph-properties">Graph Properties</h2>
-
-<p>Gelly includes the following methods for retrieving various Graph properties and metrics:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// get the Vertex DataSet</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;&gt;</span> <span class="nf">getVertices</span><span class="o">()</span>
-
-<span class="c1">// get the Edge DataSet</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;&gt;</span> <span class="nf">getEdges</span><span class="o">()</span>
-
-<span class="c1">// get the IDs of the vertices as a DataSet</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">K</span><span class="o">&gt;</span> <span class="nf">getVertexIds</span><span class="o">()</span>
-
-<span class="c1">// get the source-target pairs of the edge IDs as a DataSet</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">K</span><span class="o">&gt;&gt;</span> <span class="nf">getEdgeIds</span><span class="o">()</span> 
-
-<span class="c1">// get a DataSet of &lt;vertex ID, in-degree&gt; pairs for all vertices</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="nf">inDegrees</span><span class="o">()</span> 
-
-<span class="c1">// get a DataSet of &lt;vertex ID, out-degree&gt; pairs for all vertices</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="nf">outDegrees</span><span class="o">()</span>
-
-<span class="c1">// get a DataSet of &lt;vertex ID, degree&gt; pairs for all vertices, where degree is the sum of in- and out- degrees</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="nf">getDegrees</span><span class="o">()</span>
-
-<span class="c1">// get the number of vertices</span>
-<span class="kt">long</span> <span class="nf">numberOfVertices</span><span class="o">()</span>
-
-<span class="c1">// get the number of edges</span>
-<span class="kt">long</span> <span class="nf">numberOfEdges</span><span class="o">()</span>
-
-<span class="c1">// get a DataSet of Triplets&lt;srcVertex, trgVertex, edge&gt;</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Triplet</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;&gt;</span> <span class="nf">getTriplets</span><span class="o">()</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="graph-transformations">Graph Transformations</h2>
-
-<ul>
-  <li><strong>Map</strong>: Gelly provides specialized methods for applying a map transformation on the vertex values or edge values. <code>mapVertices</code> and <code>mapEdges</code> return a new <code>Graph</code>, where the IDs of the vertices (or edges) remain unchanged, while the values are transformed according to the provided user-defined map function. The map functions also allow changing the type of the vertex or edge values.</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="na">fromDataSet</span><span class="o">(</span><span class="n">vertices</span><span class="o">,</span> <span class="n">edges</span><span class="o">,</span> <span class="n">env</span><span class="o">);</span>
-
-<span class="c1">// increment each vertex value by one</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">updatedGraph</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">mapVertices</span><span class="o">(</span>
-				<span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Long</span><span class="o">&gt;()</span> <span class="o">{</span>
-					<span class="kd">public</span> <span class="n">Long</span> <span class="nf">map</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-						<span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="o">+</span> <span class="mi">1</span><span class="o">;</span>
-					<span class="o">}</span>
-				<span class="o">});</span></code></pre></div>
-
-<ul>
-  <li><strong>Filter</strong>: A filter transformation applies a user-defined filter function on the vertices or edges of the <code>Graph</code>. <code>filterOnEdges</code> will create a sub-graph of the original graph, keeping only the edges that satisfy the provided predicate. Note that the vertex dataset will not be modified. Respectively, <code>filterOnVertices</code> applies a filter on the vertices of the graph. Edges whose source and/or target do not satisfy the vertex predicate are removed from the resulting edge dataset. The <code>subgraph</code> method can be used to apply a filter function to the vertices and the edges at the same time.</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">graph</span><span class="o">.</span><span class="na">subgraph</span><span class="o">(</span>
-		<span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;()</span> <span class="o">{</span>
-			   	<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">)</span> <span class="o">{</span>
-					<span class="c1">// keep only vertices with positive values</span>
-					<span class="k">return</span> <span class="o">(</span><span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="o">);</span>
-			   <span class="o">}</span>
-		   <span class="o">},</span>
-		<span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;()</span> <span class="o">{</span>
-				<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">edge</span><span class="o">)</span> <span class="o">{</span>
-					<span class="c1">// keep only edges with negative values</span>
-					<span class="k">return</span> <span class="o">(</span><span class="n">edge</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="o">);</span>
-				<span class="o">}</span>
-		<span class="o">})</span></code></pre></div>
-
-<p class="text-center">
-    <img alt="Filter Transformations" width="80%" src="fig/gelly-filter.png" />
-</p>
-
-<ul>
-  <li><strong>Join</strong>: Gelly provides specialized methods for joining the vertex and edge datasets with other input datasets. <code>joinWithVertices</code> joins the vertices with a <code>Tuple2</code> input data set. The join is performed using the vertex ID and the first field of the <code>Tuple2</code> input as the join keys. The method returns a new <code>Graph</code> where the vertex values have been updated according to a provided user-defined map function.
-Similarly, an input dataset can be joined with the edges, using one of three methods. <code>joinWithEdges</code> expects an input <code>DataSet</code> of <code>Tuple3</code> and joins on the composite key of both source and target vertex IDs. <code>joinWithEdgesOnSource</code> expects a <code>DataSet</code> of <code>Tuple2</code> and joins on the source key of the edges and the first attribute of the input dataset and <code>joinWithEdgesOnTarget</code> expects a <code>DataSet</code> of <code>Tuple2</code> and joins on the target key of the edges and the first attribute of the input dataset. All three methods apply a map function on the edge and the input data set values.
-Note that if the input dataset contains a key multiple times, all Gelly join methods will only consider the first value encountered.</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">network</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertexOutDegrees</span> <span class="o">=</span> <span class="n">network</span><span class="o">.</span><span class="na">outDegrees</span><span class="o">();</span>
-
-<span class="c1">// assign the transition probabilities as the edge weights</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">networkWithWeights</span> <span class="o">=</span> <span class="n">network</span><span class="o">.</span><span class="na">joinWithEdgesOnSource</span><span class="o">(</span><span class="n">vertexOutDegrees</span><span class="o">,</span>
-				<span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Double</span><span class="o">&gt;()</span> <span class="o">{</span>
-					<span class="kd">public</span> <span class="n">Double</span> <span class="nf">map</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-						<span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="na">f0</span> <span class="o">/</span> <span class="n">value</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-					<span class="o">}</span>
-				<span class="o">});</span></code></pre></div>
-
-<ul>
-  <li>
-    <p><strong>Reverse</strong>: the <code>reverse()</code> method returns a new <code>Graph</code> where the direction of all edges has been reversed.</p>
-  </li>
-  <li>
-    <p><strong>Undirected</strong>: In Gelly, a <code>Graph</code> is always directed. Undirected graphs can be represented by adding all opposite-direction edges to a graph. For this purpose, Gelly provides the <code>getUndirected()</code> method.</p>
-  </li>
-  <li>
-    <p><strong>Union</strong>: Gelly’s <code>union()</code> method performs a union operation on the vertex and edge sets of the specified graph and current graph. Duplicate vertices are removed from the resulting <code>Graph</code>, while if duplicate edges exists, these will be maintained.</p>
-  </li>
-</ul>
-
-<p class="text-center">
-    <img alt="Union Transformation" width="50%" src="fig/gelly-union.png" />
-</p>
-
-<ul>
-  <li><strong>Difference</strong>: Gelly’s <code>difference()</code> method performs a difference on the vertex and edge sets of the current graph and specified graph.</li>
-</ul>
-
-<p>-<a href="#top">Back to top</a></p>
-
-<h2 id="graph-mutations">Graph Mutations</h2>
-
-<p>Gelly includes the following methods for adding and removing vertices and edges from an input <code>Graph</code>:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// adds a Vertex to the Graph. If the Vertex already exists, it will not be added again.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">addVertex</span><span class="o">(</span><span class="kd">final</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">)</span>
-
-<span class="c1">// adds a list of vertices to the Graph. If the vertices already exist in the graph, they will not be added once more.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">addVertices</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;&gt;</span> <span class="n">verticesToAdd</span><span class="o">)</span>
-
-<span class="c1">// adds an Edge to the Graph. If the source and target vertices do not exist in the graph, they will also be added.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">addEdge</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;</span> <span class="n">source</span><span class="o">,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;</span> <span class="n">target</span><span class="o">,</span> <span class="n">EV</span> <span class="n">edgeValue</span><span class="o">)</span>
-
-<span class="c1">// adds a list of edges to the Graph. When adding an edge for a non-existing set of vertices, the edge is considered invalid and ignored.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">addEdges</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;&gt;</span> <span class="n">newEdges</span><span class="o">)</span>
-
-<span class="c1">// removes the given Vertex and its edges from the Graph.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">removeVertex</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">)</span>
-
-<span class="c1">// removes the given list of vertices and their edges from the Graph</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">removeVertices</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">&gt;&gt;</span> <span class="n">verticesToBeRemoved</span><span class="o">)</span>
-
-<span class="c1">// removes *all* edges that match the given Edge from the Graph.</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">removeEdge</span><span class="o">(</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="n">edge</span><span class="o">)</span>
-
-<span class="c1">// removes *all* edges that match the edges in the given list</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">VV</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;</span> <span class="nf">removeEdges</span><span class="o">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">EV</span><span class="o">&gt;&gt;</span> <span class="n">edgesToBeRemoved</span><span class="o">)</span></code></pre></div>
-
-<h2 id="neighborhood-methods">Neighborhood Methods</h2>
-
-<p>Neighborhood methods allow vertices to perform an aggregation on their first-hop neighborhood.
-<code>reduceOnEdges()</code> can be used to compute an aggregation on the values of the neighboring edges of a vertex and <code>reduceOnNeighbors()</code> can be used to compute an aggregation on the values of the neighboring vertices. These methods assume associative and commutative aggregations and exploit combiners internally, significantly improving performance.
-The neighborhood scope is defined by the <code>EdgeDirection</code> parameter, which takes the values <code>IN</code>, <code>OUT</code> or <code>ALL</code>. <code>IN</code> will gather all in-coming edges (neighbors) of a vertex, <code>OUT</code> will gather all out-going edges (neighbors), while <code>ALL</code> will gather all edges (neighbors).</p>
-
-<p>For example, assume that you want to select the minimum weight of all out-edges for each vertex in the following graph:</p>
-
-<p class="text-center">
-    <img alt="reduceOnEdges Example" width="50%" src="fig/gelly-example-graph.png" />
-</p>
-
-<p>The following code will collect the out-edges for each vertex and apply the <code>SelectMinWeight()</code> user-defined function on each of the resulting neighborhoods:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">minWeights</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">reduceOnEdges</span><span class="o">(</span><span class="k">new</span> <span class="nf">SelectMinWeight</span><span class="o">(),</span> <span class="n">EdgeDirection</span><span class="o">.</span><span class="na">OUT</span><span class="o">);</span>
-
-<span class="c1">// user-defined function to select the minimum weight</span>
-<span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">SelectMinWeight</span> <span class="kd">implements</span> <span class="n">ReduceEdgesFunction</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
-
-		<span class="nd">@Override</span>
-		<span class="kd">public</span> <span class="n">Double</span> <span class="nf">reduceEdges</span><span class="o">(</span><span class="n">Double</span> <span class="n">firstEdgeValue</span><span class="o">,</span> <span class="n">Double</span> <span class="n">secondEdgeValue</span><span class="o">)</span> <span class="o">{</span>
-			<span class="k">return</span> <span class="n">Math</span><span class="o">.</span><span class="na">min</span><span class="o">(</span><span class="n">firstEdgeValue</span><span class="o">,</span> <span class="n">secondEdgeValue</span><span class="o">);</span>
-		<span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p class="text-center">
-    <img alt="reduceOnEdges Example" width="50%" src="fig/gelly-reduceOnEdges.png" />
-</p>
-
-<p>Similarly, assume that you would like to compute the sum of the values of all in-coming neighbors, for every vertex. The following code will collect the in-coming neighbors for each vertex and apply the <code>SumValues()</code> user-defined function on each neighborhood:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">verticesWithSum</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">reduceOnNeighbors</span><span class="o">(</span><span class="k">new</span> <span class="nf">SumValues</span><span class="o">(),</span> <span class="n">EdgeDirection</span><span class="o">.</span><span class="na">IN</span><span class="o">);</span>
-
-<span class="c1">// user-defined function to sum the neighbor values</span>
-<span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">SumValues</span> <span class="kd">implements</span> <span class="n">ReduceNeighborsFunction</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="o">{</span>
-
-	    	<span class="nd">@Override</span>
-	    	<span class="kd">public</span> <span class="n">Long</span> <span class="nf">reduceNeighbors</span><span class="o">(</span><span class="n">Long</span> <span class="n">firstNeighbor</span><span class="o">,</span> <span class="n">Long</span> <span class="n">secondNeighbor</span><span class="o">)</span> <span class="o">{</span>
-		    	<span class="k">return</span> <span class="n">firstNeighbor</span> <span class="o">+</span> <span class="n">secondNeighbor</span><span class="o">;</span>
-	  	<span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p class="text-center">
-    <img alt="reduceOnNeighbors Example" width="70%" src="fig/gelly-reduceOnNeighbors.png" />
-</p>
-
-<p>When the aggregation function is not associative and commutative or when it is desirable to return more than one values per vertex, one can use the more general
-<code>groupReduceOnEdges()</code> and <code>groupReduceOnNeighbors()</code> methods.
-These methods return zero, one or more values per vertex and provide access to the whole neighborhood.</p>
-
-<p>For example, the following code will output all the vertex pairs which are connected with an edge having a weight of 0.5 or more:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;&gt;</span> <span class="n">vertexPairs</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">groupReduceOnNeighbors</span><span class="o">(</span><span class="k">new</span> <span class="nf">SelectLargeWeightNeighbors</span><span class="o">(),</span> <span class="n">EdgeDirection</span><span class="o">.</span><span class="na">OUT</span><span class="o">);</span>
-
-<span class="c1">// user-defined function to select the neighbors which have edges with weight &gt; 0.5</span>
-<span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">SelectLargeWeightNeighbors</span> <span class="kd">implements</span> <span class="n">NeighborsFunctionWithVertexValue</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> 
-		<span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;&gt;</span> <span class="o">{</span>
-
-		<span class="nd">@Override</span>
-		<span class="kd">public</span> <span class="kt">void</span> <span class="nf">iterateNeighbors</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">,</span>
-				<span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;&gt;</span> <span class="n">neighbors</span><span class="o">,</span>
-				<span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-
-			<span class="k">for</span> <span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">neighbor</span> <span class="o">:</span> <span class="n">neighbors</span><span class="o">)</span> <span class="o">{</span>
-				<span class="k">if</span> <span class="o">(</span><span class="n">neighbor</span><span class="o">.</span><span class="na">f0</span><span class="o">.</span><span class="na">f2</span> <span class="o">&gt;</span> <span class="mf">0.5</span><span class="o">)</span> <span class="o">{</span>
-					<span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;(</span><span class="n">vertex</span><span class="o">,</span> <span class="n">neighbor</span><span class="o">.</span><span class="na">f1</span><span class="o">));</span>
-				<span class="o">}</span>
-			<span class="o">}</span>
-		<span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>When the aggregation computation does not require access to the vertex value (for which the aggregation is performed), it is advised to use the more efficient <code>EdgesFunction</code> and <code>NeighborsFunction</code> for the user-defined functions. When access to the vertex value is required, one should use <code>EdgesFunctionWithVertexValue</code> and <code>NeighborsFunctionWithVertexValue</code> instead.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="iterative-graph-processing">Iterative Graph Processing</h2>
-<p>Gelly exploits Flink’s efficient iteration operators to support large-scale iterative graph processing. Currently, we provide implementations of the popular vertex-centric iterative model and a variation of Gather-Sum-Apply. In the following sections, we describe these models and show how you can use them in Gelly.</p>
-
-<h3 id="vertex-centric-iterations">Vertex-centric Iterations</h3>
-<p>The vertex-centric model, also known as “think like a vertex” model, expresses computation from the perspective of a vertex in the graph. The computation proceeds in synchronized iteration steps, called supersteps. In each superstep, a vertex produces messages for other vertices and updates its value based on the messages it receives. To use vertex-centric iterations in Gelly, the user only needs to define how a vertex behaves in each superstep:</p>
-
-<ul>
-  <li><strong>Messaging</strong>:  produce the messages that a vertex will send to other vertices.</li>
-  <li><strong>Value Update</strong>: update the vertex value using the received messages.</li>
-</ul>
-
-<p>Gelly wraps Flink’s <a href="spargel_guide.html">Spargel API</a> to provide methods for vertex-centric iterations. The user only needs to implement two functions, corresponding to the phases above: a <code>VertexUpdateFunction</code>, which defines how a vertex will update its value based on the received messages and a <code>MessagingFunction</code>, which allows a vertex to send out messages for the next superstep.
-These functions and the maximum number of iterations to run are given as parameters to Gelly’s <code>runVertexCentricIteration</code>. This method will execute the vertex-centric iteration on the input Graph and return a new Graph, with updated vertex values.</p>
-
-<p>A vertex-centric iteration can be extended with information such as the total number of vertices, the in degree and out degree.
-Additionally, the  neighborhood type (in/out/all) over which to run the vertex-centric iteration can be specified. By default, the updates from the in-neighbors are used to modify the current vertex’s state and messages are sent to out-neighbors.</p>
-
-<p>Let us consider computing Single-Source-Shortest-Paths with vertex-centric iterations on the following graph and let vertex 1 be the source. In each superstep, each vertex sends a candidate distance message to all its neighbors. The message value is the sum of the current value of the vertex and the edge weight connecting this vertex with its neighbor. Upon receiving candidate distance messages, each vertex calculates the minimum distance and, if a shorter path has been discovered, it updates its value. If a vertex does not change its value during a superstep, then it does not produce messages for its neighbors for the next superstep. The algorithm converges when there are no value updates.</p>
-
-<p class="text-center">
-    <img alt="Vertex-centric SSSP superstep 1" width="70%" src="fig/gelly-vc-sssp1.png" />
-</p>
-
-<p class="text-center">
-    <img alt="Vertex-centric SSSP superstep 2" width="70%" src="fig/gelly-vc-sssp2.png" />
-</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// read the input graph</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="c1">// define the maximum number of iterations</span>
-<span class="kt">int</span> <span class="n">maxIterations</span> <span class="o">=</span> <span class="mi">10</span><span class="o">;</span>
-
-<span class="c1">// Execute the vertex-centric iteration</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">runVertexCentricIteration</span><span class="o">(</span>
-			<span class="k">new</span> <span class="nf">VertexDistanceUpdater</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">MinDistanceMessenger</span><span class="o">(),</span> <span class="n">maxIterations</span><span class="o">);</span>
-
-<span class="c1">// Extract the vertices as the result</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">singleSourceShortestPaths</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="na">getVertices</span><span class="o">();</span>
-
-
-<span class="c1">// - - -  UDFs - - - //</span>
-
-<span class="c1">// messaging</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">MinDistanceMessenger</span><span class="o">&lt;</span><span class="n">K</span><span class="o">&gt;</span> <span class="kd">extends</span> <span class="n">MessagingFunction</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
-
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">sendMessages</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">)</span> <span class="o">{</span>
-		<span class="k">for</span> <span class="o">(</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">edge</span> <span class="o">:</span> <span class="n">getEdges</span><span class="o">())</span> <span class="o">{</span>
-			<span class="n">sendMessageTo</span><span class="o">(</span><span class="n">edge</span><span class="o">.</span><span class="na">getTarget</span><span class="o">(),</span> <span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="o">+</span> <span class="n">edge</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
-		<span class="o">}</span>
-	<span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// vertex update</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">VertexDistanceUpdater</span><span class="o">&lt;</span><span class="n">K</span><span class="o">&gt;</span> <span class="kd">extends</span> <span class="n">VertexUpdateFunction</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
-
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">updateVertex</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">K</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">vertex</span><span class="o">,</span> <span class="n">MessageIterator</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">&gt;</span> <span class="n">inMessages</span><span class="o">)</span> <span class="o">{</span>
-		<span class="n">Double</span> <span class="n">minDistance</span> <span class="o">=</span> <span class="n">Double</span><span class="o">.</span><span class="na">MAX_VALUE</span><span class="o">;</span>
-
-		<span class="k">for</span> <span class="o">(</span><span class="kt">double</span> <span class="n">msg</span> <span class="o">:</span> <span class="n">inMessages</span><span class="o">)</span> <span class="o">{</span>
-			<span class="k">if</span> <span class="o">(</span><span class="n">msg</span> <span class="o">&lt;</span> <span class="n">minDistance</span><span class="o">)</span> <span class="o">{</span>
-				<span class="n">minDistance</span> <span class="o">=</span> <span class="n">msg</span><span class="o">;</span>
-			<span class="o">}</span>
-		<span class="o">}</span>
-
-		<span class="k">if</span> <span class="o">(</span><span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">()</span> <span class="o">&gt;</span> <span class="n">minDistance</span><span class="o">)</span> <span class="o">{</span>
-			<span class="n">setNewVertexValue</span><span class="o">(</span><span class="n">minDistance</span><span class="o">);</span>
-		<span class="o">}</span>
-	<span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h3 id="configuring-a-vertex-centric-iteration">Configuring a Vertex-Centric Iteration</h3>
-<p>A vertex-centric iteration can be configured using a <code>VertexCentricConfiguration</code> object.
-Currently, the following parameters can be specified:</p>
-
-<ul>
-  <li>
-    <p><strong>Name</strong>: The name for the vertex-centric iteration. The name is displayed in logs and messages 
-and can be specified using the <code>setName()</code> method.</p>
-  </li>
-  <li>
-    <p><strong>Parallelism</strong>: The parallelism for the iteration. It can be set using the <code>setParallelism()</code> method.</p>
-  </li>
-  <li>
-    <p><strong>Solution set in unmanaged memory</strong>: Defines whether the solution set is kept in managed memory (Flink’s internal way of keeping objects in serialized form) or as a simple object map. By default, the solution set runs in managed memory. This property can be set using the <code>setSolutionSetUnmanagedMemory()</code> method.</p>
-  </li>
-  <li>
-    <p><strong>Aggregators</strong>: Iteration aggregators can be registered using the <code>registerAggregator()</code> method. An iteration aggregator combines
-all aggregates globally once per superstep and makes them available in the next superstep. Registered aggregators can be accessed inside the user-defined <code>VertexUpdateFunction</code> and <code>MessagingFunction</code>.</p>
-  </li>
-  <li>
-    <p><strong>Broadcast Variables</strong>: DataSets can be added as <a href="http://flink.apache.org/docs/master/apis/programming_guide.html#broadcast-variables">Broadcast Variables</a> to the <code>VertexUpdateFunction</code> and <code>MessagingFunction</code>, using the <code>addBroadcastSetForUpdateFunction()</code> and <code>addBroadcastSetForMessagingFunction()</code> methods, respectively.</p>
-  </li>
-  <li>
-    <p><strong>Number of Vertices</strong>: Accessing the total number of vertices within the iteration. This property can be set using the <code>setOptNumVertices()</code> method.
-The number of vertices can then be accessed in the vertex update function and in the messaging function using the <code>getNumberOfVertices()</code> method. If the option is not set in the configuration, this method will return -1.</p>
-  </li>
-  <li>
-    <p><strong>Degrees</strong>: Accessing the in/out degree for a vertex within an iteration. This property can be set using the <code>setOptDegrees()</code> method.
-The in/out degrees can then be accessed in the vertex update function and in the messaging function, per vertex using the <code>getInDegree()</code> and <code>getOutDegree()</code> methods.
-If the degrees option is not set in the configuration, these methods will return -1.</p>
-  </li>
-  <li>
-    <p><strong>Messaging Direction</strong>: By default, a vertex sends messages to its out-neighbors and updates its value based on messages received from its in-neighbors. This configuration option allows users to change the messaging direction to either <code>EdgeDirection.IN</code>, <code>EdgeDirection.OUT</code>, <code>EdgeDirection.ALL</code>. The messaging direction also dictates the update direction which would be <code>EdgeDirection.OUT</code>, <code>EdgeDirection.IN</code> and <code>EdgeDirection.ALL</code>, respectively. This property can be set using the <code>setDirection()</code> method.</p>
-  </li>
-</ul>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="c1">// configure the iteration</span>
-<span class="n">VertexCentricConfiguration</span> <span class="n">parameters</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">VertexCentricConfiguration</span><span class="o">();</span>
-
-<span class="c1">// set the iteration name</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">setName</span><span class="o">(</span><span class="s">&quot;Gelly Iteration&quot;</span><span class="o">);</span>
-
-<span class="c1">// set the parallelism</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">setParallelism</span><span class="o">(</span><span class="mi">16</span><span class="o">);</span>
-
-<span class="c1">// register an aggregator</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">registerAggregator</span><span class="o">(</span><span class="s">&quot;sumAggregator&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="nf">LongSumAggregator</span><span class="o">());</span>
-
-<span class="c1">// run the vertex-centric iteration, also passing the configuration parameters</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> 
-			<span class="n">graph</span><span class="o">.</span><span class="na">runVertexCentricIteration</span><span class="o">(</span>
-			<span class="k">new</span> <span class="nf">VertexUpdater</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">Messenger</span><span class="o">(),</span> <span class="n">maxIterations</span><span class="o">,</span> <span class="n">parameters</span><span class="o">);</span>
-
-<span class="c1">// user-defined functions</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">VertexUpdater</span> <span class="kd">extends</span> <span class="n">VertexUpdateFunction</span> <span class="o">{</span>
-
-	<span class="n">LongSumAggregator</span> <span class="n">aggregator</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">LongSumAggregator</span><span class="o">();</span>
-
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">preSuperstep</span><span class="o">()</span> <span class="o">{</span>
-	
-		<span class="c1">// retrieve the Aggregator</span>
-		<span class="n">aggregator</span> <span class="o">=</span> <span class="n">getIterationAggregator</span><span class="o">(</span><span class="s">&quot;sumAggregator&quot;</span><span class="o">);</span>
-	<span class="o">}</span>
-
-
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">updateVertex</span><span class="o">(</span><span class="n">Long</span> <span class="n">vertexKey</span><span class="o">,</span> <span class="n">Long</span> <span class="n">vertexValue</span><span class="o">,</span> <span class="n">MessageIterator</span> <span class="n">inMessages</span><span class="o">)</span> <span class="o">{</span>
-		
-		<span class="c1">//do some computation</span>
-		<span class="n">Long</span> <span class="n">partialValue</span> <span class="o">=</span> <span class="o">...</span>
-
-		<span class="c1">// aggregate the partial value</span>
-		<span class="n">aggregator</span><span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">partialValue</span><span class="o">);</span>
-
-		<span class="c1">// update the vertex value</span>
-		<span class="n">setNewVertexValue</span><span class="o">(...);</span>
-	<span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Messenger</span> <span class="kd">extends</span> <span class="n">MessagingFunction</span> <span class="o">{...}</span></code></pre></div>
-
-<p>The following example illustrates the usage of the degree as well as the number of vertices options.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="c1">// configure the iteration</span>
-<span class="n">VertexCentricConfiguration</span> <span class="n">parameters</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">VertexCentricConfiguration</span><span class="o">();</span>
-
-<span class="c1">// set the number of vertices option to true</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">setOptNumVertices</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
-
-<span class="c1">// set the degree option to true</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">setOptDegrees</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
-
-<span class="c1">// run the vertex-centric iteration, also passing the configuration parameters</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span>
-			<span class="n">graph</span><span class="o">.</span><span class="na">runVertexCentricIteration</span><span class="o">(</span>
-			<span class="k">new</span> <span class="nf">VertexUpdater</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">Messenger</span><span class="o">(),</span> <span class="n">maxIterations</span><span class="o">,</span> <span class="n">parameters</span><span class="o">);</span>
-
-<span class="c1">// user-defined functions</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">VertexUpdater</span> <span class="o">{</span>
-	<span class="o">...</span>
-	<span class="c1">// get the number of vertices</span>
-	<span class="kt">long</span> <span class="n">numVertices</span> <span class="o">=</span> <span class="n">getNumberOfVertices</span><span class="o">();</span>
-	<span class="o">...</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Messenger</span> <span class="o">{</span>
-	<span class="o">...</span>
-	<span class="c1">// retrieve the vertex out-degree</span>
-	<span class="n">outDegree</span> <span class="o">=</span> <span class="n">getOutDegree</span><span class="o">();</span>
-	<span class="o">...</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The following example illustrates the usage of the edge direction option. Vertices update their values to contain a list of all their in-neighbors.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">HashSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="c1">// configure the iteration</span>
-<span class="n">VertexCentricConfiguration</span> <span class="n">parameters</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">VertexCentricConfiguration</span><span class="o">();</span>
-
-<span class="c1">// set the messaging direction</span>
-<span class="n">parameters</span><span class="o">.</span><span class="na">setDirection</span><span class="o">(</span><span class="n">EdgeDirection</span><span class="o">.</span><span class="na">IN</span><span class="o">);</span>
-
-<span class="c1">// run the vertex-centric iteration, also passing the configuration parameters</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">HashSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span>
-			<span class="n">graph</span><span class="o">.</span><span class="na">runVertexCentricIteration</span><span class="o">(</span>
-			<span class="k">new</span> <span class="nf">VertexUpdater</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">Messenger</span><span class="o">(),</span> <span class="n">maxIterations</span><span class="o">,</span> <span class="n">parameters</span><span class="o">)</span>
-			<span class="o">.</span><span class="na">getVertices</span><span class="o">();</span>
-
-<span class="c1">// user-defined functions</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">VertexUpdater</span> <span class="o">{</span>
-	<span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">updateVertex</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">HashSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertex</span><span class="o">,</span> <span class="n">MessageIterator</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">messages</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    	<span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">().</span><span class="na">clear</span><span class="o">();</span>
-
-    	<span class="k">for</span><span class="o">(</span><span class="kt">long</span> <span class="n">msg</span> <span class="o">:</span> <span class="n">messages</span><span class="o">)</span> <span class="o">{</span>
-    		<span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">().</span><span class="na">add</span><span class="o">(</span><span class="n">msg</span><span class="o">);</span>
-    	<span class="o">}</span>
-
-    	<span class="n">setNewVertexValue</span><span class="o">(</span><span class="n">vertex</span><span class="o">.</span><span class="na">getValue</span><span class="o">());</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Messenger</span> <span class="o">{</span>
-	<span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">sendMessages</span><span class="o">(</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">HashSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">vertex</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    	<span class="k">for</span> <span class="o">(</span><span class="n">Edge</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">edge</span> <span class="o">:</span> <span class="n">getEdges</span><span class="o">())</span> <span class="o">{</span>
-    		<span class="n">sendMessageTo</span><span class="o">(</span><span class="n">edge</span><span class="o">.</span><span class="na">getSource</span><span class="o">(),</span> <span class="n">vertex</span><span class="o">.</span><span class="na">getId</span><span class="o">());</span>
-    	<span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h3 id="gather-sum-apply-iterations">Gather-Sum-Apply Iterations</h3>
-<p>Like in the vertex-centric model, Gather-Sum-Apply also proceeds in synchronized iterative steps, called supersteps. Each superstep consists of the following three phases:</p>
-
-<ul>
-  <li><strong>Gather</strong>: a user-defined function is invoked in parallel on the edges and neighbors of each vertex, producing a partial value.</li>
-  <li><strong>Sum</strong>: the partial values produced in the Gather phase are aggregated to a single value, using a user-defined reducer.</li>
-  <li><strong>Apply</strong>:  each vertex value is updated by applying a function on the current value and the aggregated value produced by the Sum phase.</li>
-</ul>
-
-<p>Let us consider computing Single-Source-Shortest-Paths with GSA on the following graph and let vertex 1 be the source. During the <code>Gather</code> phase, we calculate the new candidate distances, by adding each vertex value with the edge weight. In <code>Sum</code>, the candidate distances are grouped by vertex ID and the minimum distance is chosen. In <code>Apply</code>, the newly calculated distance is compared to the current vertex value and the minimum of the two is assigned as the new value of the vertex.</p>
-
-<p class="text-center">
-    <img alt="GSA SSSP superstep 1" width="70%" src="fig/gelly-gsa-sssp1.png" />
-</p>
-
-<p class="text-center">
-    <img alt="GSA SSSP superstep 2" width="70%" src="fig/gelly-gsa-sssp2.png" />
-</p>
-
-<p>Notice that, if a vertex does not change its value during a superstep, it will not calculate candidate distance during the next superstep. The algorithm converges when no vertex changes value.
-The resulting graph after the algorithm converges is shown below.</p>
-
-<p class="text-center">
-    <img alt="GSA SSSP result" width="70%" src="fig/gelly-gsa-sssp-result.png" />
-</p>
-
-<p>To implement this example in Gelly GSA, the user only needs to call the <code>runGatherSumApplyIteration</code> method on the input graph and provide the <code>GatherFunction</code>, <code>SumFunction</code> and <code>ApplyFunction</code> UDFs. Iteration synchronization, grouping, value updates and convergence are handled by the system:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// read the input graph</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">graph</span> <span class="o">=</span> <span class="o">...</span>
-
-<span class="c1">// define the maximum number of iterations</span>
-<span class="kt">int</span> <span class="n">maxIterations</span> <span class="o">=</span> <span class="mi">10</span><span class="o">;</span>
-
-<span class="c1">// Execute the GSA iteration</span>
-<span class="n">Graph</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">graph</span><span class="o">.</span><span class="na">runGatherSumApplyIteration</span><span class="o">(</span>
-				<span class="k">new</span> <span class="nf">CalculateDistances</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">ChooseMinDistance</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">UpdateDistance</span><span class="o">(),</span> <span class="n">maxIterations</span><span class="o">);</span>
-
-<span class="c1">// Extract the vertices as the result</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Vertex</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">singleSourceShortestPaths</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="na">getVertices</span><span class="o">();</span>
-
-
-<span class="c1">// - - -  UDFs - - - //</span>
-
-<span class="c1">// Gather</span>
-<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">CalculateDistances</span> <span class="kd">extends</span> <span class="n">GatherFunction</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="o">{</span>
-
-	<span class="kd">public</span> <span class="n">Double</span> <span class="nf">gather</span><span class="o">(</span><span class="n">Neighbor</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">neighbor</span><span class="o">)</span> <span class="o">{</span>
-		<span class="k">return</span> <span class="n">neighbor</span><span class="o">.</span><span class="na">getNeighborValue</span><span class="o">()</span> <span class="o">+</span> <span class="n">neighbor</span><span class="o">.</span><span class="na">getEdgeValue</span><span class="o">();</span>
-	<span class="o">}</span>
-<span class="o">}</span>
-
-<span class="c1">// Sum</span>
-<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">ChooseMinDistance</span> <span class="kd">extends</span> <span class="n">SumFunction</span><span class="o">&lt;</span><span class="n">Double</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">Do

<TRUNCATED>

[24/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/config.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/config.html b/content/docs/0.9/setup/config.html
deleted file mode 100644
index 0427683..0000000
--- a/content/docs/0.9/setup/config.html
+++ /dev/null
@@ -1,639 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Configuration</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Configuration</h1>
-
-
-
-<h2 id="overview">Overview</h2>
-
-<p>The default configuration parameters allow Flink to run out-of-the-box
-in single node setups.</p>
-
-<p>This page lists the most common options that are typically needed to set
-up a well performing (distributed) installation. In addition a full
-list of all available configuration parameters is listed here.</p>
-
-<p>All configuration is done in <code>conf/flink-conf.yaml</code>, which is expected to be
-a flat collection of <a href="http://www.yaml.org/spec/1.2/spec.html">YAML key value pairs</a>
-with format <code>key: value</code>.</p>
-
-<p>The system and run scripts parse the config at startup time. Changes to the configuration
-file require restarting the Flink JobManager and TaskManagers.</p>
-
-<p>The configuration files for the TaskManagers can be different, Flink does not assume 
-uniform machines in the cluster.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#overview" id="markdown-toc-overview">Overview</a></li>
-  <li><a href="#common-options" id="markdown-toc-common-options">Common Options</a></li>
-  <li><a href="#advanced-options" id="markdown-toc-advanced-options">Advanced Options</a></li>
-  <li><a href="#full-reference" id="markdown-toc-full-reference">Full Reference</a>    <ul>
-      <li><a href="#hdfs" id="markdown-toc-hdfs">HDFS</a></li>
-      <li><a href="#jobmanager-amp-taskmanager" id="markdown-toc-jobmanager-amp-taskmanager">JobManager &amp; TaskManager</a></li>
-      <li><a href="#distributed-coordination-via-akka" id="markdown-toc-distributed-coordination-via-akka">Distributed Coordination (via Akka)</a></li>
-      <li><a href="#jobmanager-web-frontend" id="markdown-toc-jobmanager-web-frontend">JobManager Web Frontend</a></li>
-      <li><a href="#webclient" id="markdown-toc-webclient">Webclient</a></li>
-      <li><a href="#file-systems" id="markdown-toc-file-systems">File Systems</a></li>
-      <li><a href="#compileroptimizer" id="markdown-toc-compileroptimizer">Compiler/Optimizer</a></li>
-    </ul>
-  </li>
-  <li><a href="#yarn" id="markdown-toc-yarn">YARN</a></li>
-  <li><a href="#background" id="markdown-toc-background">Background</a>    <ul>
-      <li><a href="#configuring-the-network-buffers" id="markdown-toc-configuring-the-network-buffers">Configuring the Network Buffers</a></li>
-      <li><a href="#configuring-temporary-io-directories" id="markdown-toc-configuring-temporary-io-directories">Configuring Temporary I/O Directories</a></li>
-      <li><a href="#configuring-taskmanager-processing-slots" id="markdown-toc-configuring-taskmanager-processing-slots">Configuring TaskManager processing slots</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="common-options">Common Options</h2>
-
-<ul>
-  <li>
-    <p><code>env.java.home</code>: The path to the Java installation to use (DEFAULT: system’s
-default Java installation, if found). Needs to be specified if the startup
-scipts fail to automatically resolve the java home directory. Can be specified
-to point to a specific java installation or version. If this option is not
-specified, the startup scripts also evaluate the <code>$JAVA_HOME</code> environment variable.</p>
-  </li>
-  <li>
-    <p><code>jobmanager.rpc.address</code>: The IP address of the JobManager, which is the
-master/coordinator of the distributed system (DEFAULT: localhost).</p>
-  </li>
-  <li>
-    <p><code>jobmanager.rpc.port</code>: The port number of the JobManager (DEFAULT: 6123).</p>
-  </li>
-  <li>
-    <p><code>jobmanager.heap.mb</code>: JVM heap size (in megabytes) for the JobManager. You may have to increase the heap size for the JobManager if you are running
-very large applications (with many operators), or if you are keeping a long history of them.</p>
-  </li>
-  <li>
-    <p><code>taskmanager.heap.mb</code>: JVM heap size (in megabytes) for the TaskManagers,
-which are the parallel workers of the system. In
-contrast to Hadoop, Flink runs operators (e.g., join, aggregate) and
-user-defined functions (e.g., Map, Reduce, CoGroup) inside the TaskManager
-(including sorting/hashing/caching), so this value should be as
-large as possible. If the cluster is exclusively running Flink,
-the total amount of available memory per machine minus some memory for the 
-operating system (maybe 1-2 GB) is a good value.
-On YARN setups, this value is automatically configured to the size of 
-the TaskManager’s YARN container, minus a certain tolerance value.</p>
-  </li>
-  <li>
-    <p><code>taskmanager.numberOfTaskSlots</code>: The number of parallel operator or
-user function instances that a single TaskManager can run (DEFAULT: 1).
-If this value is larger than 1, a single TaskManager takes multiple instances of
-a function or operator. That way, the TaskManager can utilize multiple CPU cores,
-but at the same time, the available memory is divided between the different
-operator or function instances.
-This value is typically proportional to the number of physical CPU cores that
-the TaskManager’s machine has (e.g., equal to the number of cores, or half the
-number of cores). <a href="config.html#configuring-taskmanager-processing-slots">More about task slots</a>.</p>
-  </li>
-  <li>
-    <p><code>parallelism.default</code>: The default parallelism to use for programs that have
-no parallelism specified. (DEFAULT: 1). For setups that have no concurrent jobs
-running, setting this value to NumTaskManagers * NumSlotsPerTaskManager will
-cause the system to use all available execution resources for the program’s
-execution. <strong>Note</strong>: The default parallelism can be overwriten for an entire
-job by calling <code>setParallelism(int parallelism)</code> on the <code>ExecutionEnvironment</code>
-or by passing <code>-p &lt;parallelism&gt;</code> to the Flink Command-line frontend. It can be
-overwritten for single transformations by calling <code>setParallelism(int
-parallelism)</code> on an operator. See the <a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html#parallel-execution">programming
-guide</a> for more information about the
-parallelism.</p>
-  </li>
-  <li>
-    <p><code>fs.hdfs.hadoopconf</code>: The absolute path to the Hadoop File System’s (HDFS)
-configuration directory (OPTIONAL VALUE).
-Specifying this value allows programs to reference HDFS files using short URIs
-(<code>hdfs:///path/to/files</code>, without including the address and port of the NameNode
-in the file URI). Without this option, HDFS files can be accessed, but require
-fully qualified URIs like <code>hdfs://address:port/path/to/files</code>.
-This option also causes file writers to pick up the HDFS’s default values for block sizes
-and replication factors. Flink will look for the “core-site.xml” and
-“hdfs-site.xml” files in teh specified directory.</p>
-  </li>
-</ul>
-
-<h2 id="advanced-options">Advanced Options</h2>
-
-<ul>
-  <li>
-    <p><code>taskmanager.tmp.dirs</code>: The directory for temporary files, or a list of
-directories separated by the systems directory delimiter (for example ‘:’
-(colon) on Linux/Unix). If multiple directories are specified, then the temporary
-files will be distributed across the directories in a round-robin fashion. The
-I/O manager component will spawn one reading and one writing thread per
-directory. A directory may be listed multiple times to have the I/O manager use
-multiple threads for it (for example if it is physically stored on a very fast
-disc or RAID) (DEFAULT: The system’s tmp dir).</p>
-  </li>
-  <li>
-    <p><code>jobmanager.web.port</code>: Port of the JobManager’s web interface (DEFAULT: 8081).</p>
-  </li>
-  <li>
-    <p><code>fs.overwrite-files</code>: Specifies whether file output writers should overwrite
-existing files by default. Set to <em>true</em> to overwrite by default, <em>false</em> otherwise.
-(DEFAULT: false)</p>
-  </li>
-  <li>
-    <p><code>fs.output.always-create-directory</code>: File writers running with a parallelism
-larger than one create a directory for the output file path and put the different
-result files (one per parallel writer task) into that directory. If this option
-is set to <em>true</em>, writers with a parallelism of 1 will also create a directory
-and place a single result file into it. If the option is set to <em>false</em>, the
-writer will directly create the file directly at the output path, without
-creating a containing directory. (DEFAULT: false)</p>
-  </li>
-  <li>
-    <p><code>taskmanager.network.numberOfBuffers</code>: The number of buffers available to the
-network stack. This number determines how many streaming data exchange channels
-a TaskManager can have at the same time and how well buffered the channels are.
-If a job is rejected or you get a warning that the system has not enough buffers
-available, increase this value (DEFAULT: 2048).</p>
-  </li>
-  <li>
-    <p><code>taskmanager.memory.size</code>: The amount of memory (in megabytes) that the task
-manager reserves on the JVM’s heap space for sorting, hash tables, and caching
-of intermediate results. If unspecified (-1), the memory manager will take a fixed
-ratio of the heap memory available to the JVM, as specified by
-<code>taskmanager.memory.fraction</code>. (DEFAULT: -1)</p>
-  </li>
-  <li>
-    <p><code>taskmanager.memory.fraction</code>: The relative amount of memory that the task
-manager reserves for sorting, hash tables, and caching of intermediate results.
-For example, a value of 0.8 means that TaskManagers reserve 80% of the
-JVM’s heap space for internal data buffers, leaving 20% of the JVM’s heap space
-free for objects created by user-defined functions. (DEFAULT: 0.7)
-This parameter is only evaluated, if <code>taskmanager.memory.size</code> is not set.</p>
-  </li>
-</ul>
-
-<h2 id="full-reference">Full Reference</h2>
-
-<h3 id="hdfs">HDFS</h3>
-
-<p>These parameters configure the default HDFS used by Flink. Setups that do not
-specify a HDFS configuration have to specify the full path to 
-HDFS files (<code>hdfs://address:port/path/to/files</code>) Files will also be written
-with default HDFS parameters (block size, replication factor).</p>
-
-<ul>
-  <li><code>fs.hdfs.hadoopconf</code>: The absolute path to the Hadoop configuration directory.
-The system will look for the “core-site.xml” and “hdfs-site.xml” files in that
-directory (DEFAULT: null).</li>
-  <li><code>fs.hdfs.hdfsdefault</code>: The absolute path of Hadoop’s own configuration file
-“hdfs-default.xml” (DEFAULT: null).</li>
-  <li><code>fs.hdfs.hdfssite</code>: The absolute path of Hadoop’s own configuration file
-“hdfs-site.xml” (DEFAULT: null).</li>
-</ul>
-
-<h3 id="jobmanager-amp-taskmanager">JobManager &amp; TaskManager</h3>
-
-<p>The following parameters configure Flink’s JobManager and TaskManagers.</p>
-
-<ul>
-  <li><code>jobmanager.rpc.address</code>: The IP address of the JobManager, which is the
-master/coordinator of the distributed system (DEFAULT: localhost).</li>
-  <li><code>jobmanager.rpc.port</code>: The port number of the JobManager (DEFAULT: 6123).</li>
-  <li><code>taskmanager.rpc.port</code>: The task manager’s IPC port (DEFAULT: 6122).</li>
-  <li><code>taskmanager.data.port</code>: The task manager’s port used for data exchange
-operations (DEFAULT: 6121).</li>
-  <li><code>jobmanager.heap.mb</code>: JVM heap size (in megabytes) for the JobManager
-(DEFAULT: 256).</li>
-  <li><code>taskmanager.heap.mb</code>: JVM heap size (in megabytes) for the TaskManagers,
-which are the parallel workers of the system. In
-contrast to Hadoop, Flink runs operators (e.g., join, aggregate) and
-user-defined functions (e.g., Map, Reduce, CoGroup) inside the TaskManager
-(including sorting/hashing/caching), so this value should be as
-large as possible (DEFAULT: 512). On YARN setups, this value is automatically
-configured to the size of the TaskManager’s YARN container, minus a
-certain tolerance value.</li>
-  <li><code>taskmanager.numberOfTaskSlots</code>: The number of parallel operator or
-user function instances that a single TaskManager can run (DEFAULT: 1).
-If this value is larger than 1, a single TaskManager takes multiple instances of
-a function or operator. That way, the TaskManager can utilize multiple CPU cores,
-but at the same time, the available memory is divided between the different
-operator or function instances.
-This value is typically proportional to the number of physical CPU cores that
-the TaskManager’s machine has (e.g., equal to the number of cores, or half the
-number of cores).</li>
-  <li><code>taskmanager.tmp.dirs</code>: The directory for temporary files, or a list of
-directories separated by the systems directory delimiter (for example ‘:’
-(colon) on Linux/Unix). If multiple directories are specified, then the temporary
-files will be distributed across the directories in a round robin fashion. The
-I/O manager component will spawn one reading and one writing thread per
-directory. A directory may be listed multiple times to have the I/O manager use
-multiple threads for it (for example if it is physically stored on a very fast
-disc or RAID) (DEFAULT: The system’s tmp dir).</li>
-  <li><code>taskmanager.network.numberOfBuffers</code>: The number of buffers available to the
-network stack. This number determines how many streaming data exchange channels
-a TaskManager can have at the same time and how well buffered the channels are.
-If a job is rejected or you get a warning that the system has not enough buffers
-available, increase this value (DEFAULT: 2048).</li>
-  <li><code>taskmanager.network.bufferSizeInBytes</code>: The size of the network buffers, in
-bytes (DEFAULT: 32768 (= 32 KiBytes)).</li>
-  <li><code>taskmanager.memory.size</code>: The amount of memory (in megabytes) that the task
-manager reserves on the JVM’s heap space for sorting, hash tables, and caching
-of intermediate results. If unspecified (-1), the memory manager will take a fixed
-ratio of the heap memory available to the JVM, as specified by
-<code>taskmanager.memory.fraction</code>. (DEFAULT: -1)</li>
-  <li><code>taskmanager.memory.fraction</code>: The relative amount of memory that the task
-manager reserves for sorting, hash tables, and caching of intermediate results.
-For example, a value of 0.8 means that TaskManagers reserve 80% of the
-JVM’s heap space for internal data buffers, leaving 20% of the JVM’s heap space
-free for objects created by user-defined functions. (DEFAULT: 0.7)
-This parameter is only evaluated, if <code>taskmanager.memory.size</code> is not set.</li>
-  <li><code>jobclient.polling.interval</code>: The interval (in seconds) in which the client
-polls the JobManager for the status of its job (DEFAULT: 2).</li>
-  <li><code>taskmanager.runtime.max-fan</code>: The maximal fan-in for external merge joins and
-fan-out for spilling hash tables. Limits the number of file handles per operator,
-but may cause intermediate merging/partitioning, if set too small (DEFAULT: 128).</li>
-  <li><code>taskmanager.runtime.sort-spilling-threshold</code>: A sort operation starts spilling
-when this fraction of its memory budget is full (DEFAULT: 0.8).</li>
-  <li><code>taskmanager.heartbeat-interval</code>: The interval in which the TaskManager sends
-heartbeats to the JobManager.</li>
-  <li><code>jobmanager.max-heartbeat-delay-before-failure.msecs</code>: The maximum time that a
-TaskManager hearbeat may be missing before the TaskManager is considered failed.</li>
-</ul>
-
-<h3 id="distributed-coordination-via-akka">Distributed Coordination (via Akka)</h3>
-
-<ul>
-  <li><code>akka.ask.timeout</code>: Timeout used for all futures and blocking Akka calls. If Flink fails due to timeouts then you should try to increase this value. Timeouts can be caused by slow machines or a congested network. The timeout value requires a time-unit specifier (ms/s/min/h/d) (DEFAULT: <strong>100 s</strong>).</li>
-  <li><code>akka.lookup.timeout</code>: Timeout used for the lookup of the JobManager. The timeout value has to contain a time-unit specifier (ms/s/min/h/d) (DEFAULT: <strong>10 s</strong>).</li>
-  <li><code>akka.framesize</code>: Maximum size of messages which are sent between the JobManager and the TaskManagers. If Flink fails because messages exceed this limit, then you should increase it. The message size requires a size-unit specifier (DEFAULT: <strong>10485760b</strong>).</li>
-  <li><code>akka.watch.heartbeat.interval</code>: Heartbeat interval for Akka’s DeathWatch mechanism to detect dead TaskManagers. If TaskManagers are wrongly marked dead because of lost or delayed heartbeat messages, then you should increase this value. A thorough description of Akka’s DeathWatch can be found <a href="http://doc.akka.io/docs/akka/snapshot/scala/remoting.html#failure-detector">here</a> (DEFAULT: <strong>akka.ask.timeout/10</strong>).</li>
-  <li><code>akka.watch.heartbeat.pause</code>: Acceptable heartbeat pause for Akka’s DeathWatch mechanism. A low value does not allow a irregular heartbeat. A thorough description of Akka’s DeathWatch can be found <a href="http://doc.akka.io/docs/akka/snapshot/scala/remoting.html#failure-detector">here</a> (DEFAULT: <strong>akka.ask.timeout</strong>).</li>
-  <li><code>akka.watch.threshold</code>: Threshold for the DeathWatch failure detector. A low value is prone to false positives whereas a high value increases the time to detect a dead TaskManager. A thorough description of Akka’s DeathWatch can be found <a href="http://doc.akka.io/docs/akka/snapshot/scala/remoting.html#failure-detector">here</a> (DEFAULT: <strong>12</strong>).</li>
-  <li><code>akka.transport.heartbeat.interval</code>: Heartbeat interval for Akka’s transport failure detector. Since Flink uses TCP, the detector is not necessary. Therefore, the detector is disabled by setting the interval to a very high value. In case you should need the transport failure detector, set the interval to some reasonable value. The interval value requires a time-unit specifier (ms/s/min/h/d) (DEFAULT: <strong>1000 s</strong>).</li>
-  <li><code>akka.transport.heartbeat.pause</code>: Acceptable heartbeat pause for Akka’s transport failure detector. Since Flink uses TCP, the detector is not necessary. Therefore, the detector is disabled by setting the pause to a very high value. In case you should need the transport failure detector, set the pause to some reasonable value. The pause value requires a time-unit specifier (ms/s/min/h/d) (DEFAULT: <strong>6000 s</strong>).</li>
-  <li><code>akka.transport.threshold</code>: Threshold for the transport failure detector. Since Flink uses TCP, the detector is not necessary and, thus, the threshold is set to a high value (DEFAULT: <strong>300</strong>).</li>
-  <li><code>akka.tcp.timeout</code>: Timeout for all outbound connections. If you should experience problems with connecting to a TaskManager due to a slow network, you should increase this value (DEFAULT: <strong>akka.ask.timeout</strong>).</li>
-  <li><code>akka.throughput</code>: Number of messages that are processed in a batch before returning the thread to the pool. Low values denote a fair scheduling whereas high values can increase the performance at the cost of unfairness (DEFAULT: <strong>15</strong>).</li>
-  <li><code>akka.log.lifecycle.events</code>: Turns on the Akka’s remote logging of events. Set this value to ‘on’ in case of debugging (DEFAULT: <strong>off</strong>).</li>
-  <li><code>akka.startup-timeout</code>: Timeout after which the startup of a remote component is considered being failed (DEFAULT: <strong>akka.ask.timeout</strong>).</li>
-</ul>
-
-<h3 id="jobmanager-web-frontend">JobManager Web Frontend</h3>
-
-<ul>
-  <li><code>jobmanager.web.port</code>: Port of the JobManager’s web interface that displays
-status of running jobs and execution time breakdowns of finished jobs
-(DEFAULT: 8081). Setting this value to <code>-1</code> disables the web frontend.</li>
-  <li><code>jobmanager.web.history</code>: The number of latest jobs that the JobManager’s web
-front-end in its history (DEFAULT: 5).</li>
-</ul>
-
-<h3 id="webclient">Webclient</h3>
-
-<p>These parameters configure the web interface that can be used to submit jobs and
-review the compiler’s execution plans.</p>
-
-<ul>
-  <li><code>webclient.port</code>: The port of the webclient server (DEFAULT: 8080).</li>
-  <li><code>webclient.tempdir</code>: The temp directory for the web server. Used for example
-for caching file fragments during file-uploads (DEFAULT: The system’s temp
-directory).</li>
-  <li><code>webclient.uploaddir</code>: The directory into which the web server will store
-uploaded programs (DEFAULT: ${webclient.tempdir}/webclient-jobs/).</li>
-  <li><code>webclient.plandump</code>: The directory into which the web server will dump
-temporary JSON files describing the execution plans
-(DEFAULT: ${webclient.tempdir}/webclient-plans/).</li>
-</ul>
-
-<h3 id="file-systems">File Systems</h3>
-
-<p>The parameters define the behavior of tasks that create result files.</p>
-
-<ul>
-  <li><code>fs.overwrite-files</code>: Specifies whether file output writers should overwrite
-existing files by default. Set to <em>true</em> to overwrite by default, <em>false</em> otherwise.
-(DEFAULT: false)</li>
-  <li><code>fs.output.always-create-directory</code>: File writers running with a parallelism
-larger than one create a directory for the output file path and put the different
-result files (one per parallel writer task) into that directory. If this option
-is set to <em>true</em>, writers with a parallelism of 1 will also create a directory
-and place a single result file into it. If the option is set to <em>false</em>, the
-writer will directly create the file directly at the output path, without
-creating a containing directory. (DEFAULT: false)</li>
-</ul>
-
-<h3 id="compileroptimizer">Compiler/Optimizer</h3>
-
-<ul>
-  <li><code>compiler.delimited-informat.max-line-samples</code>: The maximum number of line
-samples taken by the compiler for delimited inputs. The samples are used to
-estimate the number of records. This value can be overridden for a specific
-input with the input format’s parameters (DEFAULT: 10).</li>
-  <li><code>compiler.delimited-informat.min-line-samples</code>: The minimum number of line
-samples taken by the compiler for delimited inputs. The samples are used to
-estimate the number of records. This value can be overridden for a specific
-input with the input format’s parameters (DEFAULT: 2).</li>
-  <li><code>compiler.delimited-informat.max-sample-len</code>: The maximal length of a line
-sample that the compiler takes for delimited inputs. If the length of a single
-sample exceeds this value (possible because of misconfiguration of the parser),
-the sampling aborts. This value can be overridden for a specific input with the
-input format’s parameters (DEFAULT: 2097152 (= 2 MiBytes)).</li>
-</ul>
-
-<h2 id="yarn">YARN</h2>
-
-<ul>
-  <li><code>yarn.heap-cutoff-ratio</code>: (Default 0.15) Percentage of heap space to remove from containers started by YARN.
-When a user requests a certain amount of memory for each TaskManager container (for example 4 GB),
-we can not pass this amount as the maximum heap space for the JVM (<code>-Xmx</code> argument) because the JVM
-is also allocating memory outside the heap. YARN is very strict with killing containers which are using
-more memory than requested.
-Therefore, we remove a 15% of the memory from the requested heap as a safety margin.</li>
-  <li>
-    <p><code>yarn.heap-cutoff-min</code>: (Default 384 MB) Minimum amount of memory to cut off the requested heap size.</p>
-  </li>
-  <li>
-    <p><code>yarn.reallocate-failed</code> (Default ‘true’) Controls whether YARN should reallocate failed containers</p>
-  </li>
-  <li>
-    <p><code>yarn.maximum-failed-containers</code> (Default: number of requested containers). Maximum number of containers the system
-is going to reallocate in case of a failure.</p>
-  </li>
-  <li>
-    <p><code>yarn.application-attempts</code> (Default: 1). Number of ApplicationMaster restarts. Note that that the entire Flink cluster
-will restart and the YARN Client will loose the connection. Also, the JobManager address will change and you’ll need
-to set the JM host:port manually. It is recommended to leave this option at 1.</p>
-  </li>
-  <li><code>yarn.heartbeat-delay</code> (Default: 5 seconds). Time between heartbeats with the ResourceManager.</li>
-</ul>
-
-<h2 id="background">Background</h2>
-
-<h3 id="configuring-the-network-buffers">Configuring the Network Buffers</h3>
-
-<p>Network buffers are a critical resource for the communication layers. They are
-used to buffer records before transmission over a network, and to buffer
-incoming data before dissecting it into records and handing them to the
-application. A sufficient number of network buffers is critical to achieve a
-good throughput.</p>
-
-<p>In general, configure the task manager to have enough buffers that each logical
-network connection on you expect to be open at the same time has a dedicated
-buffer. A logical network connection exists for each point-to-point exchange of
-data over the network, which typically happens at repartitioning- or
-broadcasting steps. In those, each parallel task inside the TaskManager has to
-be able to talk to all other parallel tasks. Hence, the required number of
-buffers on a task manager is <em>total-degree-of-parallelism</em> (number of targets)
-* <em>intra-node-parallelism</em> (number of sources in one task manager) * <em>n</em>.
-Here, <em>n</em> is a constant that defines how many repartitioning-/broadcasting steps
-you expect to be active at the same time.</p>
-
-<p>Since the <em>intra-node-parallelism</em> is typically the number of cores, and more
-than 4 repartitioning or broadcasting channels are rarely active in parallel, it
-frequently boils down to <em>#cores\^2\^</em> * <em>#machines</em> * 4. To support for
-example a cluster of 20 8-core machines, you should use roughly 5000 network
-buffers for optimal throughput.</p>
-
-<p>Each network buffer has by default a size of 32 KiBytes. In the above example, the
-system would allocate roughly 300 MiBytes for network buffers.</p>
-
-<p>The number and size of network buffers can be configured with the following
-parameters:</p>
-
-<ul>
-  <li><code>taskmanager.network.numberOfBuffers</code>, and</li>
-  <li><code>taskmanager.network.bufferSizeInBytes</code>.</li>
-</ul>
-
-<h3 id="configuring-temporary-io-directories">Configuring Temporary I/O Directories</h3>
-
-<p>Although Flink aims to process as much data in main memory as possible,
-it is not uncommon that more data needs to be processed than memory is
-available. Flink’s runtime is designed to write temporary data to disk
-to handle these situations.</p>
-
-<p>The <code>taskmanager.tmp.dirs</code> parameter specifies a list of directories into which
-Flink writes temporary files. The paths of the directories need to be
-separated by ‘:’ (colon character). Flink will concurrently write (or
-read) one temporary file to (from) each configured directory. This way,
-temporary I/O can be evenly distributed over multiple independent I/O devices
-such as hard disks to improve performance. To leverage fast I/O devices (e.g.,
-SSD, RAID, NAS), it is possible to specify a directory multiple times.</p>
-
-<p>If the <code>taskmanager.tmp.dirs</code> parameter is not explicitly specified,
-Flink writes temporary data to the temporary directory of the operating
-system, such as <em>/tmp</em> in Linux systems.</p>
-
-<h3 id="configuring-taskmanager-processing-slots">Configuring TaskManager processing slots</h3>
-
-<p>Flink executes a program in parallel by splitting it into subtasks and scheduling these subtasks to processing slots.</p>
-
-<p>Each Flink TaskManager provides processing slots in the cluster. The number of slots
-is typically proportional to the number of available CPU cores <strong>of each</strong> TaskManager.
-As a general recommendation, the number of available CPU cores is a good default for 
-<code>taskmanager.numberOfTaskSlots</code>.</p>
-
-<p>When starting a Flink application, users can supply the default number of slots to use for that job.
-The command line value therefore is called <code>-p</code> (for parallelism). In addition, it is possible
-to <a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html#parallel-execution">set the number of slots in the programming APIs</a> for 
-the whole application and individual operators.</p>
-
-<p><img src="fig/slots_parallelism.svg" class="img-responsive" /></p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/fig/FlinkOnYarn.svg
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/fig/FlinkOnYarn.svg b/content/docs/0.9/setup/fig/FlinkOnYarn.svg
deleted file mode 100644
index 3eddf50..0000000
--- a/content/docs/0.9/setup/fig/FlinkOnYarn.svg
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill-opacity="1" color-rendering="auto" color-interpolation="auto" stroke="black" text-rendering="auto" stroke-linecap="square" width="877" stroke-miterlimit="10" stroke-opacity="1" shape-rendering="auto" fill="black" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="397" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12" stroke-dashoffset="0" image-rendering="auto">
-  <!--Generated by ySVG 2.5-->
-  <defs id="genericDefs"/>
-  <g>
-    <defs id="defs1">
-      <linearGradient x1="336.5" gradientUnits="userSpaceOnUse" x2="506.5" y1="386.5" y2="426.5" id="linearGradient1" spreadMethod="reflect">
-        <stop stop-opacity="1" stop-color="rgb(232,238,247)" offset="0%"/>
-        <stop stop-opacity="1" stop-color="rgb(183,201,227)" offset="100%"/>
-      </linearGradient>
-      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
-        <path d="M0 0 L877 0 L877 397 L0 397 L0 0 Z"/>
-      </clipPath>
-      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
-        <path d="M77 45 L954 45 L954 442 L77 442 L77 45 Z"/>
-      </clipPath>
-    </defs>
-    <g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="translate(-77,-45)" stroke="white">
-      <rect x="77" width="877" height="397" y="45" clip-path="url(#clipPath2)" stroke="none"/>
-    </g>
-    <g fill="rgb(0,153,153)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="rgb(0,153,153)">
-      <rect x="92" y="209" clip-path="url(#clipPath2)" width="119" rx="4" ry="4" height="117" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <text x="107.9238" xml:space="preserve" y="226.1387" clip-path="url(#clipPath2)" stroke="none">"Master" Node</text>
-      <rect x="92" y="209" clip-path="url(#clipPath2)" fill="none" width="119" rx="4" ry="4" height="117"/>
-    </g>
-    <g fill="rgb(0,153,153)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="rgb(0,153,153)">
-      <rect x="369" y="60" clip-path="url(#clipPath2)" width="105" rx="4" ry="4" height="117" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <text x="375.498" xml:space="preserve" y="115.6699" clip-path="url(#clipPath2)" stroke="none">YARN Resource</text>
-      <text x="395.4492" xml:space="preserve" y="129.6387" clip-path="url(#clipPath2)" stroke="none">Manager</text>
-      <rect x="369" y="60" clip-path="url(#clipPath2)" fill="none" width="105" rx="4" ry="4" height="117"/>
-    </g>
-    <g fill="rgb(0,153,153)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="rgb(0,153,153)">
-      <rect x="369" y="212" clip-path="url(#clipPath2)" width="105" rx="4" ry="4" height="117" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <text x="373.8457" xml:space="preserve" y="229.1387" clip-path="url(#clipPath2)" stroke="none">YARN Container</text>
-      <rect x="369" y="212" clip-path="url(#clipPath2)" fill="none" width="105" rx="4" ry="4" height="117"/>
-    </g>
-    <g fill="rgb(0,153,153)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="rgb(0,153,153)">
-      <rect x="614" y="212" clip-path="url(#clipPath2)" width="105" rx="4" ry="4" height="117" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <text x="618.8457" xml:space="preserve" y="229.1387" clip-path="url(#clipPath2)" stroke="none">YARN Container</text>
-      <rect x="614" y="212" clip-path="url(#clipPath2)" fill="none" width="105" rx="4" ry="4" height="117"/>
-    </g>
-    <g fill="url(#linearGradient1)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="url(#linearGradient1)">
-      <path d="M336.5 394.5 C341.6 386.5 501.4 386.5 506.5 394.5 L506.5 418.5 C501.4 426.5 341.6 426.5 336.5 418.5 Z" clip-path="url(#clipPath2)" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <path fill="none" d="M336.5 394.5 C341.6 386.5 501.4 386.5 506.5 394.5 L506.5 418.5 C501.4 426.5 341.6 426.5 336.5 418.5 Z" clip-path="url(#clipPath2)"/>
-      <path fill="none" d="M506.5 394.5 C501.4 402.5 341.6 402.5 336.5 394.5" clip-path="url(#clipPath2)"/>
-      <text x="405.1084" xml:space="preserve" y="410.6543" font-family="sans-serif" clip-path="url(#clipPath2)" stroke="none">HDFS</text>
-    </g>
-    <g fill="rgb(0,153,153)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="rgb(0,153,153)">
-      <rect x="791" y="212" clip-path="url(#clipPath2)" width="105" rx="4" ry="4" height="117" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <text x="795.8457" xml:space="preserve" y="229.1387" clip-path="url(#clipPath2)" stroke="none">YARN Container</text>
-      <rect x="791" y="212" clip-path="url(#clipPath2)" fill="none" width="105" rx="4" ry="4" height="117"/>
-    </g>
-    <g fill="rgb(51,153,102)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="rgb(51,153,102)">
-      <rect x="99" width="105" height="30" y="242.5" clip-path="url(#clipPath2)" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <text x="137.4375" xml:space="preserve" y="254.6699" clip-path="url(#clipPath2)" stroke="none">Flink</text>
-      <text x="115.7959" xml:space="preserve" y="268.6387" clip-path="url(#clipPath2)" stroke="none">YARN Client</text>
-      <rect fill="none" x="99" width="105" height="30" y="242.5" clip-path="url(#clipPath2)"/>
-    </g>
-    <g fill="rgb(51,153,102)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="rgb(51,153,102)">
-      <rect x="375" width="93" height="30" y="252.5" clip-path="url(#clipPath2)" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <text x="407.4375" xml:space="preserve" y="264.6699" clip-path="url(#clipPath2)" stroke="none">Flink</text>
-      <text x="385.9512" xml:space="preserve" y="278.6387" clip-path="url(#clipPath2)" stroke="none">JobManager</text>
-      <rect fill="none" x="375" width="93" height="30" y="252.5" clip-path="url(#clipPath2)"/>
-    </g>
-    <g fill="rgb(51,153,102)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="rgb(51,153,102)">
-      <rect x="375" width="93" height="30" y="282.5" clip-path="url(#clipPath2)" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <text x="389.5371" xml:space="preserve" y="294.6699" clip-path="url(#clipPath2)" stroke="none">YARN App.</text>
-      <text x="401.0098" xml:space="preserve" y="308.6387" clip-path="url(#clipPath2)" stroke="none">Master</text>
-      <rect fill="none" x="375" width="93" height="30" y="282.5" clip-path="url(#clipPath2)"/>
-    </g>
-    <g fill="rgb(51,153,102)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="rgb(51,153,102)">
-      <rect x="620" width="93" height="30" y="255.5" clip-path="url(#clipPath2)" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <text x="652.4375" xml:space="preserve" y="267.6699" clip-path="url(#clipPath2)" stroke="none">Flink</text>
-      <text x="626.2578" xml:space="preserve" y="281.6387" clip-path="url(#clipPath2)" stroke="none">TaskManager</text>
-      <rect fill="none" x="620" width="93" height="30" y="255.5" clip-path="url(#clipPath2)"/>
-    </g>
-    <g fill="rgb(51,153,102)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" stroke="rgb(51,153,102)">
-      <rect x="797" width="93" height="30" y="255.5" clip-path="url(#clipPath2)" stroke="none"/>
-    </g>
-    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
-      <text x="829.4375" xml:space="preserve" y="267.6699" clip-path="url(#clipPath2)" stroke="none">Flink</text>
-      <text x="803.2578" xml:space="preserve" y="281.6387" clip-path="url(#clipPath2)" stroke="none">TaskManager</text>
-      <rect fill="none" x="797" width="93" height="30" y="255.5" clip-path="url(#clipPath2)"/>
-      <text x="917.1621" xml:space="preserve" y="274.6543" font-weight="bold" clip-path="url(#clipPath2)" stroke="none">...</text>
-      <path fill="none" d="M210.991 234.6698 L361.997 151.3369" clip-path="url(#clipPath2)"/>
-      <path d="M369.0012 147.4715 L356.079 148.8919 L361.1215 151.82 L360.9107 157.6472 Z" clip-path="url(#clipPath2)" stroke="none"/>
-      <text x="157.7557" xml:space="preserve" y="141.7122" font-weight="bold" clip-path="url(#clipPath2)" stroke="none">2. Register resources </text>
-      <text x="150.4286" xml:space="preserve" y="155.681" font-weight="bold" clip-path="url(#clipPath2)" stroke="none">and request AppMaster </text>
-      <text x="199.911" xml:space="preserve" y="169.6497" font-weight="bold" clip-path="url(#clipPath2)" stroke="none">container</text>
-      <path fill="none" d="M421.5 177.0215 L421.5 204.0303" clip-path="url(#clipPath2)"/>
-      <path d="M421.5 212.0303 L426.5 200.0303 L421.5 203.0303 L416.5 200.0303 Z" clip-path="url(#clipPath2)" stroke="none"/>
-      <text x="452.5664" xml:space="preserve" y="198.6543" font-weight="bold" clip-path="url(#clipPath2)" stroke="none">3. Allocate AppMaster Container</text>
-      <path fill="none" d="M473.9872 270.5 L606.0008 270.5" clip-path="url(#clipPath2)"/>
-      <path d="M614.0008 270.5 L602.0008 265.5 L605.0008 270.5 L602.0008 275.5 Z" clip-path="url(#clipPath2)" stroke="none"/>
-      <text x="481.2285" xml:space="preserve" y="304.6543" font-weight="bold" clip-path="url(#clipPath2)" stroke="none">4. Allocate Worker</text>
-      <path fill="none" d="M210.991 298.1268 L380.3388 385.3096" clip-path="url(#clipPath2)"/>
-      <path d="M387.4516 388.9714 L379.071 379.0333 L379.4497 384.8519 L374.4938 387.9242 Z" clip-path="url(#clipPath2)" stroke="none"/>
-      <text x="207.4763" xml:space="preserve" y="355.1486" font-weight="bold" clip-path="url(#clipPath2)" stroke="none">1. Store Uberjar</text>
-      <text x="201.4939" xml:space="preserve" y="369.1174" font-weight="bold" clip-path="url(#clipPath2)" stroke="none">and configuration</text>
-      <path fill="none" d="M421.5 388.4707 L421.5 336.9957" clip-path="url(#clipPath2)" stroke="gray"/>
-      <path fill="gray" d="M421.5 328.9957 L416.5 340.9957 L421.5 337.9957 L426.5 340.9957 Z" clip-path="url(#clipPath2)" stroke="none"/>
-      <path fill="none" d="M453.1718 388.9189 L606.9806 303.5393" clip-path="url(#clipPath2)" stroke="gray"/>
-      <path fill="gray" d="M613.9752 299.6566 L601.0566 301.109 L606.1063 304.0247 L605.91 309.8523 Z" clip-path="url(#clipPath2)" stroke="none"/>
-      <path fill="none" d="M719.0037 270.5 L783.0085 270.5" clip-path="url(#clipPath2)"/>
-      <path d="M791.0085 270.5 L779.0085 265.5 L782.0085 270.5 L779.0085 275.5 Z" clip-path="url(#clipPath2)" stroke="none"/>
-      <path fill="none" d="M473.6061 389.7075 L783.3726 289.8775" clip-path="url(#clipPath2)" stroke="gray"/>
-      <path fill="gray" d="M790.987 287.4236 L778.0318 286.3455 L782.4208 290.1843 L781.0992 295.8634 Z" clip-path="url(#clipPath2)" stroke="none"/>
-      <text x="542.0724" xml:space="preserve" y="392.1359" font-weight="bold" clip-path="url(#clipPath2)" stroke="none">Always Bootstrap containers with</text>
-      <text x="593.1105" xml:space="preserve" y="406.1046" font-weight="bold" clip-path="url(#clipPath2)" stroke="none">Uberjar and config</text>
-    </g>
-  </g>
-</svg>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/fig/LICENSE.txt
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/fig/LICENSE.txt b/content/docs/0.9/setup/fig/LICENSE.txt
deleted file mode 100644
index 35b8673..0000000
--- a/content/docs/0.9/setup/fig/LICENSE.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-All image files in the folder and its subfolders are
-licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/fig/flink_on_tez_translation.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/fig/flink_on_tez_translation.png b/content/docs/0.9/setup/fig/flink_on_tez_translation.png
deleted file mode 100644
index 88fa4d5..0000000
Binary files a/content/docs/0.9/setup/fig/flink_on_tez_translation.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/fig/flink_tez_vertex.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/fig/flink_tez_vertex.png b/content/docs/0.9/setup/fig/flink_tez_vertex.png
deleted file mode 100644
index b469862..0000000
Binary files a/content/docs/0.9/setup/fig/flink_tez_vertex.png and /dev/null differ


[56/68] [abbrv] flink-web git commit: Add download links for additional hadoop binaries

Posted by an...@apache.org.
Add download links for additional hadoop binaries


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/e4900a65
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/e4900a65
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/e4900a65

Branch: refs/heads/master
Commit: e4900a65e4edcadd0d4629cd87411f54e29ab6f8
Parents: f111b1f
Author: Robert Metzger <rm...@apache.org>
Authored: Wed Jul 1 12:25:53 2015 +0200
Committer: Robert Metzger <rm...@apache.org>
Committed: Wed Jul 1 12:25:53 2015 +0200

----------------------------------------------------------------------
 _config.yml            |  5 +++++
 content/downloads.html | 24 +++++++++++++++++++++---
 downloads.md           | 24 +++++++++++++++++++++---
 3 files changed, 47 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/e4900a65/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
index f2606fa..b3bff40 100644
--- a/_config.yml
+++ b/_config.yml
@@ -27,6 +27,11 @@ FLINK_GITHUB_REPO_NAME: flink
 FLINK_DOWNLOAD_URL_SOURCE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-src.tgz
 FLINK_DOWNLOAD_URL_HADOOP_1_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop1.tgz
 FLINK_DOWNLOAD_URL_HADOOP_2_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop2.tgz
+
+FLINK_DOWNLOAD_URL_HADOOP_24_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop24.tgz
+FLINK_DOWNLOAD_URL_HADOOP_26_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop26.tgz
+FLINK_DOWNLOAD_URL_HADOOP_27_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop27.tgz
+
 FLINK_DOWNLOAD_URL_YARN_STABLE: http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop2-yarn.tgz
 
 FLINK_DOWNLOAD_URL_HADOOP_1_LATEST: http://stratosphere-bin.s3-website-us-east-1.amazonaws.com/flink-0.10-SNAPSHOT-bin-hadoop1.tgz

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e4900a65/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index d890ddf..26167a6 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -178,10 +178,28 @@ $( document ).ready(function() {
     <p>Also pick this version if you don't plan to use Flink with Hadoop at all.</p>
   </a>
 
-  <!-- Hadoop 2 -->
+  <!-- Hadoop 2.2 -->
   <a href="http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop2.tgz" id="download-hadoop2" class="list-group-item ga-track">
-    <h4><span class="glyphicon glyphicon-download" aria-hidden="true"></span> <strong>Flink 0.9.0</strong> for Hadoop 2</h4>
-    <p>Pick this package if you plan to install Flink use Flink with data stored in Hadoop 2.x.</p>
+    <h4><span class="glyphicon glyphicon-download" aria-hidden="true"></span> <strong>Flink 0.9.0</strong> for Hadoop 2.2.0</h4>
+    <p>Pick this package if you plan to install Flink use Flink with data stored in Hadoop 2.2.0 This version also supports YARN</p>
+  </a>
+
+  <!-- Hadoop 2.4 -->
+  <a href="http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop24.tgz" id="download-hadoop24" class="list-group-item ga-track">
+    <h4><span class="glyphicon glyphicon-download" aria-hidden="true"></span> <strong>Flink 0.9.0</strong> for Hadoop 2.4.1</h4>
+    <p>Pick this package if you plan to install Flink use Flink with data stored in Hadoop 2.4.1 This version also supports YARN</p>
+  </a>
+
+  <!-- Hadoop 2.6 -->
+  <a href="http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop26.tgz" id="download-hadoop26" class="list-group-item ga-track">
+    <h4><span class="glyphicon glyphicon-download" aria-hidden="true"></span> <strong>Flink 0.9.0</strong> for Hadoop 2.6.0</h4>
+    <p>Pick this package if you plan to install Flink use Flink with data stored in Hadoop 2.6.0 This version also supports YARN</p>
+  </a>
+
+  <!-- Hadoop 2.7 -->
+  <a href="http://www.apache.org/dyn/closer.cgi/flink/flink-0.9.0/flink-0.9.0-bin-hadoop27.tgz" id="download-hadoop27" class="list-group-item ga-track">
+    <h4><span class="glyphicon glyphicon-download" aria-hidden="true"></span> <strong>Flink 0.9.0</strong> for Hadoop 2.7.0</h4>
+    <p>Pick this package if you plan to install Flink use Flink with data stored in Hadoop 2.7.0 This version also supports YARN</p>
   </a>
 
   <!-- Source -->

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e4900a65/downloads.md
----------------------------------------------------------------------
diff --git a/downloads.md b/downloads.md
index b696d7e..7416c77 100644
--- a/downloads.md
+++ b/downloads.md
@@ -30,10 +30,28 @@ You [don't have to install Hadoop](faq.html#do-i-have-to-install-apache-hadoop-t
     <p>Also pick this version if you don't plan to use Flink with Hadoop at all.</p>
   </a>
 
-  <!-- Hadoop 2 -->
+  <!-- Hadoop 2.2 -->
   <a href="{{ site.FLINK_DOWNLOAD_URL_HADOOP_2_STABLE }}" id="download-hadoop2" class="list-group-item ga-track">
-    <h4><span class="glyphicon glyphicon-download" aria-hidden="true"></span> <strong>Flink {{ site.stable }}</strong> for Hadoop 2</h4>
-    <p>Pick this package if you plan to install Flink use Flink with data stored in Hadoop 2.x.</p>
+    <h4><span class="glyphicon glyphicon-download" aria-hidden="true"></span> <strong>Flink {{ site.stable }}</strong> for Hadoop 2.2.0</h4>
+    <p>Pick this package if you plan to install Flink use Flink with data stored in Hadoop 2.2.0 This version also supports YARN</p>
+  </a>
+
+  <!-- Hadoop 2.4 -->
+  <a href="{{ site.FLINK_DOWNLOAD_URL_HADOOP_24_STABLE }}" id="download-hadoop24" class="list-group-item ga-track">
+    <h4><span class="glyphicon glyphicon-download" aria-hidden="true"></span> <strong>Flink {{ site.stable }}</strong> for Hadoop 2.4.1</h4>
+    <p>Pick this package if you plan to install Flink use Flink with data stored in Hadoop 2.4.1 This version also supports YARN</p>
+  </a>
+
+  <!-- Hadoop 2.6 -->
+  <a href="{{ site.FLINK_DOWNLOAD_URL_HADOOP_26_STABLE }}" id="download-hadoop26" class="list-group-item ga-track">
+    <h4><span class="glyphicon glyphicon-download" aria-hidden="true"></span> <strong>Flink {{ site.stable }}</strong> for Hadoop 2.6.0</h4>
+    <p>Pick this package if you plan to install Flink use Flink with data stored in Hadoop 2.6.0 This version also supports YARN</p>
+  </a>
+
+  <!-- Hadoop 2.7 -->
+  <a href="{{ site.FLINK_DOWNLOAD_URL_HADOOP_27_STABLE }}" id="download-hadoop27" class="list-group-item ga-track">
+    <h4><span class="glyphicon glyphicon-download" aria-hidden="true"></span> <strong>Flink {{ site.stable }}</strong> for Hadoop 2.7.0</h4>
+    <p>Pick this package if you plan to install Flink use Flink with data stored in Hadoop 2.7.0 This version also supports YARN</p>
   </a>
 
   <!-- Source -->


[68/68] [abbrv] flink-web git commit: [FLINK-2299] FAQ Update

Posted by an...@apache.org.
[FLINK-2299] FAQ Update


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/a4e6e208
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/a4e6e208
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/a4e6e208

Branch: refs/heads/master
Commit: a4e6e2084d36093bee56c142007ea9b28dd497a4
Parents: e5efd40
Author: andra <an...@apache.org>
Authored: Mon Jul 20 12:39:12 2015 +0200
Committer: andra <an...@apache.org>
Committed: Mon Jul 20 12:39:12 2015 +0200

----------------------------------------------------------------------
 faq.md | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/a4e6e208/faq.md
----------------------------------------------------------------------
diff --git a/faq.md b/faq.md
index 5e44742..054bcd8 100644
--- a/faq.md
+++ b/faq.md
@@ -281,6 +281,14 @@ Check the logging behavior of your jobs. Emitting logging per or tuple may be
 helpful to debug jobs in small setups with tiny data sets, it becomes very
 inefficient and disk space consuming if used for large input data.
 
+### The slot allocated for my task manager has been released. What should I do?
+
+A `java.lang.Exception: The slot in which the task was executed has been released. Probably loss of TaskManager` usually occurs when there are big garbage collection stalls.
+In this case, a quick fix would be to use the G1 garbage collector. It works incrementally and it often leads to lower pauses. Furthermore, you can dedicate more memory to the user code (e.g. 0.4 per system and 0.6 per user).
+
+If both of these approaches fail and the error persists, simply increase the TaskManager's heartbeat pause by setting AKKA_WATCH_HEARTBEAT_PAUSE (akka.watch.heartbeat.pause) to a greater value (e.g. 600s).
+This will cause the JobManager to wait for a heartbeat for a longer time interval before considering the TaskManager lost.
+
 ## YARN Deployment
 
 ### The YARN session runs only for a few seconds


[44/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/programming_guide.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/programming_guide.html b/content/docs/0.9/apis/programming_guide.html
deleted file mode 100644
index 91c5205..0000000
--- a/content/docs/0.9/apis/programming_guide.html
+++ /dev/null
@@ -1,3433 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Flink Programming Guide</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Flink Programming Guide</h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>Analysis programs in Flink are regular programs that implement transformations on data sets
-(e.g., filtering, mapping, joining, grouping). The data sets are initially created from certain
-sources (e.g., by reading files, or from local collections). Results are returned via sinks, which may for
-example write the data to (distributed) files, or to standard output (for example the command line
-terminal). Flink programs run in a variety of contexts, standalone, or embedded in other programs.
-The execution can happen in a local JVM, or on clusters of many machines.</p>
-
-<p>In order to create your own Flink program, we encourage you to start with the
-<a href="#program-skeleton">program skeleton</a> and gradually add your own
-<a href="#transformations">transformations</a>. The remaining sections act as references for additional
-operations and advanced features.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#example-program" id="markdown-toc-example-program">Example Program</a></li>
-  <li><a href="#linking-with-flink" id="markdown-toc-linking-with-flink">Linking with Flink</a></li>
-  <li><a href="#program-skeleton" id="markdown-toc-program-skeleton">Program Skeleton</a></li>
-  <li><a href="#dataset-abstraction" id="markdown-toc-dataset-abstraction">DataSet abstraction</a></li>
-  <li><a href="#lazy-evaluation" id="markdown-toc-lazy-evaluation">Lazy Evaluation</a></li>
-  <li><a href="#transformations" id="markdown-toc-transformations">Transformations</a></li>
-  <li><a href="#specifying-keys" id="markdown-toc-specifying-keys">Specifying Keys</a></li>
-  <li><a href="#passing-functions-to-flink" id="markdown-toc-passing-functions-to-flink">Passing Functions to Flink</a></li>
-  <li><a href="#data-types" id="markdown-toc-data-types">Data Types</a></li>
-  <li><a href="#data-sources" id="markdown-toc-data-sources">Data Sources</a>    <ul>
-      <li><a href="#read-compressed-files" id="markdown-toc-read-compressed-files">Read Compressed Files</a></li>
-    </ul>
-  </li>
-  <li><a href="#execution-configuration" id="markdown-toc-execution-configuration">Execution Configuration</a></li>
-  <li><a href="#data-sinks" id="markdown-toc-data-sinks">Data Sinks</a></li>
-  <li><a href="#debugging" id="markdown-toc-debugging">Debugging</a>    <ul>
-      <li><a href="#local-execution-environment" id="markdown-toc-local-execution-environment">Local Execution Environment</a></li>
-      <li><a href="#collection-data-sources-and-sinks" id="markdown-toc-collection-data-sources-and-sinks">Collection Data Sources and Sinks</a></li>
-    </ul>
-  </li>
-  <li><a href="#iteration-operators" id="markdown-toc-iteration-operators">Iteration Operators</a></li>
-  <li><a href="#semantic-annotations" id="markdown-toc-semantic-annotations">Semantic Annotations</a></li>
-  <li><a href="#broadcast-variables" id="markdown-toc-broadcast-variables">Broadcast Variables</a></li>
-  <li><a href="#passing-parameters-to-functions" id="markdown-toc-passing-parameters-to-functions">Passing Parameters to Functions</a></li>
-  <li><a href="#program-packaging--distributed-execution" id="markdown-toc-program-packaging--distributed-execution">Program Packaging &amp; Distributed Execution</a></li>
-  <li><a href="#accumulators--counters" id="markdown-toc-accumulators--counters">Accumulators &amp; Counters</a></li>
-  <li><a href="#parallel-execution" id="markdown-toc-parallel-execution">Parallel Execution</a>    <ul>
-      <li><a href="#operator-level" id="markdown-toc-operator-level">Operator Level</a></li>
-      <li><a href="#execution-environment-level" id="markdown-toc-execution-environment-level">Execution Environment Level</a></li>
-      <li><a href="#client-level" id="markdown-toc-client-level">Client Level</a></li>
-      <li><a href="#system-level" id="markdown-toc-system-level">System Level</a></li>
-    </ul>
-  </li>
-  <li><a href="#execution-plans" id="markdown-toc-execution-plans">Execution Plans</a></li>
-</ul>
-
-<h2 id="example-program">Example Program</h2>
-
-<p>The following program is a complete, working example of WordCount. You can copy &amp; paste the code
-to run it locally. You only have to include the correct Flink’s library into your project
-(see Section <a href="#linking-with-flink">Linking with Flink</a>) and specify the imports. Then you are ready
-to go!</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">WordCountExample</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-        <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span>
-            <span class="s">&quot;Who&#39;s there?&quot;</span><span class="o">,</span>
-            <span class="s">&quot;I think I hear them. Stand, ho! Who&#39;s there?&quot;</span><span class="o">);</span>
-
-        <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">wordCounts</span> <span class="o">=</span> <span class="n">text</span>
-            <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">LineSplitter</span><span class="o">())</span>
-            <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-            <span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
-
-        <span class="n">wordCounts</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-    <span class="o">}</span>
-
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">LineSplitter</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-        <span class="nd">@Override</span>
-        <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">line</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">word</span> <span class="o">:</span> <span class="n">line</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">))</span> <span class="o">{</span>
-                <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;(</span><span class="n">word</span><span class="o">,</span> <span class="mi">1</span><span class="o">));</span>
-            <span class="o">}</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala._</span>
-
-<span class="k">object</span> <span class="nc">WordCount</span> <span class="o">{</span>
-  <span class="k">def</span> <span class="n">main</span><span class="o">(</span><span class="n">args</span><span class="k">:</span> <span class="kt">Array</span><span class="o">[</span><span class="kt">String</span><span class="o">])</span> <span class="o">{</span>
-
-    <span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-    <span class="k">val</span> <span class="n">text</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">fromElements</span><span class="o">(</span>
-      <span class="s">&quot;Who&#39;s there?&quot;</span><span class="o">,</span>
-      <span class="s">&quot;I think I hear them. Stand, ho! Who&#39;s there?&quot;</span><span class="o">)</span>
-
-    <span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">text</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">toLowerCase</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">)</span> <span class="n">filter</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">nonEmpty</span> <span class="o">}</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span>
-      <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-      <span class="o">.</span><span class="n">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-
-    <span class="n">counts</span><span class="o">.</span><span class="n">print</span><span class="o">()</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-  </div>
-
-</div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="linking-with-flink">Linking with Flink</h2>
-
-<p>To write programs with Flink, you need to include the Flink library corresponding to
-your programming language in your project.</p>
-
-<p>The simplest way to do this is to use one of the quickstart scripts: either for
-<a href="http://flink.apache.org/docs/0.9/quickstart/java_api_quickstart.html">Java</a> or for <a href="http://flink.apache.org/docs/0.9/quickstart/scala_api_quickstart.html">Scala</a>. They
-create a blank project from a template (a Maven Archetype), which sets up everything for you. To
-manually create the project, you can use the archetype and create a project by calling:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-bash" data-lang="bash">mvn archetype:generate /
-    -DarchetypeGroupId<span class="o">=</span>org.apache.flink/
-    -DarchetypeArtifactId<span class="o">=</span>flink-quickstart-java /
-    -DarchetypeVersion<span class="o">=</span>0.9.0</code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-bash" data-lang="bash">mvn archetype:generate /
-    -DarchetypeGroupId<span class="o">=</span>org.apache.flink/
-    -DarchetypeArtifactId<span class="o">=</span>flink-quickstart-scala /
-    -DarchetypeVersion<span class="o">=</span>0.9.0</code></pre></div>
-
-  </div>
-</div>
-
-<p>The archetypes are working for stable releases and preview versions (<code>-SNAPSHOT</code>)</p>
-
-<p>If you want to add Flink to an existing Maven project, add the following entry to your
-<em>dependencies</em> section in the <em>pom.xml</em> file of your project:</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-java<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-scala<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-clients<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-    <p><strong>Important:</strong> When working with the Scala API you must have one of these two imports:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala._</span></code></pre></div>
-
-    <p>or</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala.createTypeInformation</span></code></pre></div>
-
-    <p>The reason is that Flink analyzes the types that are used in a program and generates serializers
-and comparaters for them. By having either of those imports you enable an implicit conversion
-that creates the type information for Flink operations.</p>
-  </div>
-</div>
-
-<h4 id="hadoop-dependency-versions">Hadoop Dependency Versions</h4>
-
-<p>If you are using Flink together with Hadoop, the version of the dependency may vary depending on the
-version of Hadoop (or more specifically, HDFS) that you want to use Flink with. Please refer to the
-<a href="http://flink.apache.org/downloads.html">downloads page</a> for a list of available versions, and instructions
-on how to link with custom versions of Hadoop.</p>
-
-<p>In order to link against the latest SNAPSHOT versions of the code, please follow
-<a href="http://flink.apache.org/how-to-contribute.html#snapshots-nightly-builds">this guide</a>.</p>
-
-<p>The <em>flink-clients</em> dependency is only necessary to invoke the Flink program locally (for example to
-run it standalone for testing and debugging).  If you intend to only export the program as a JAR
-file and <a href="cluster_execution.html">run it on a cluster</a>, you can skip that dependency.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="program-skeleton">Program Skeleton</h2>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <p>As we already saw in the example, Flink programs look like regular Java
-programs with a <code>main()</code> method. Each program consists of the same basic parts:</p>
-
-    <ol>
-      <li>Obtain an <code>ExecutionEnvironment</code>,</li>
-      <li>Load/create the initial data,</li>
-      <li>Specify transformations on this data,</li>
-      <li>Specify where to put the results of your computations, and</li>
-      <li>Trigger the program execution</li>
-    </ol>
-
-    <p>We will now give an overview of each of those steps, please refer to the respective sections for
-more details. Note that all
-<a href="https://github.com/apache/flink/blob/master//flink-java/src/main/java/org/apache/flink/api/java">core classes of the Java API</a>
-are found in the package <code>org.apache.flink.api.java</code>.</p>
-
-    <p>The <code>ExecutionEnvironment</code> is the basis for all Flink programs. You can
-obtain one using these static methods on class <code>ExecutionEnvironment</code>:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">getExecutionEnvironment</span><span class="o">()</span>
-
-<span class="n">createLocalEnvironment</span><span class="o">()</span>
-<span class="n">createLocalEnvironment</span><span class="o">(</span><span class="kt">int</span> <span class="n">parallelism</span><span class="o">)</span>
-<span class="n">createLocalEnvironment</span><span class="o">(</span><span class="n">Configuration</span> <span class="n">customConfiguration</span><span class="o">)</span>
-
-<span class="n">createRemoteEnvironment</span><span class="o">(</span><span class="n">String</span> <span class="n">host</span><span class="o">,</span> <span class="kt">int</span> <span class="n">port</span><span class="o">,</span> <span class="n">String</span><span class="o">...</span> <span class="n">jarFiles</span><span class="o">)</span>
-<span class="n">createRemoteEnvironment</span><span class="o">(</span><span class="n">String</span> <span class="n">host</span><span class="o">,</span> <span class="kt">int</span> <span class="n">port</span><span class="o">,</span> <span class="kt">int</span> <span class="n">parallelism</span><span class="o">,</span> <span class="n">String</span><span class="o">...</span> <span class="n">jarFiles</span><span class="o">)</span></code></pre></div>
-
-    <p>Typically, you only need to use <code>getExecutionEnvironment()</code>, since this
-will do the right thing depending on the context: if you are executing
-your program inside an IDE or as a regular Java program it will create
-a local environment that will execute your program on your local machine. If
-you created a JAR file from you program, and invoke it through the <a href="cli.html">command line</a>
-or the <a href="web_client.html">web interface</a>,
-the Flink cluster manager will execute your main method and <code>getExecutionEnvironment()</code> will return
-an execution environment for executing your program on a cluster.</p>
-
-    <p>For specifying data sources the execution environment has several methods
-to read from files using various methods: you can just read them line by line,
-as CSV files, or using completely custom data input formats. To just read
-a text file as a sequence of lines, you can use:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readTextFile</span><span class="o">(</span><span class="s">&quot;file:///path/to/file&quot;</span><span class="o">);</span></code></pre></div>
-
-    <p>This will give you a DataSet on which you can then apply transformations. For
-more information on data sources and input formats, please refer to
-<a href="#data-sources">Data Sources</a>.</p>
-
-    <p>Once you have a DataSet you can apply transformations to create a new
-DataSet which you can then write to a file, transform again, or
-combine with other DataSets. You apply transformations by calling
-methods on DataSet with your own custom transformation function. For example,
-a map transformation looks like this:</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="o">...;</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">tokenized</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">map</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="n">Integer</span><span class="o">.</span><span class="na">parseInt</span><span class="o">(</span><span class="n">value</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-    <p>This will create a new DataSet by converting every String in the original
-set to an Integer. For more information and a list of all the transformations,
-please refer to <a href="#transformations">Transformations</a>.</p>
-
-    <p>Once you have a DataSet containing your final results, you can either write the result
-to a file system (HDFS or local) or print it.</p>
-
-    <div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">writeAsText</span><span class="o">(</span><span class="n">String</span> <span class="n">path</span><span class="o">)</span>
-<span class="n">writeAsCsv</span><span class="o">(</span><span class="n">String</span> <span class="n">path</span><span class="o">)</span>
-<span class="n">write</span><span class="o">(</span><span class="n">FileOutputFormat</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="n">outputFormat</span><span class="o">,</span> <span class="n">String</span> <span class="n">filePath</span><span class="o">)</span>
-
-<span class="n">print</span><span class="o">()</span>
-<span class="n">printOnTaskManager</span><span class="o">()</span>
-
-<span class="n">collect</span><span class="o">()</span></code></pre></div>
-
-  </div>
-  <div data-lang="scala">
-
-    <p>As we already saw in the example, Flink programs look like regular Scala
-programs with a <code>main()</code> method. Each program consists of the same basic parts:</p>
-
-    <ol>
-      <li>Obtain an <code>ExecutionEnvironment</code>,</li>
-      <li>Load/create the initial data,</li>
-      <li>Specify transformations on this data,</li>
-      <li>Specify where to put the results of your computations, and</li>
-      <li>Trigger the program execution</li>
-    </ol>
-
-    <p>We will now give an overview of each of those steps but please refer to the respective sections for
-more details. Note that all core classes of the Scala API are found in the package 
-<a href="https://github.com/apache/flink/blob/master//flink-scala/src/main/scala/org/apache/flink/api/scala">org.apache.flink.api.scala</a>.</p>
-
-    <p>The <code>ExecutionEnvironment</code> is the basis for all Flink programs. You can
-obtain one using these static methods on class <code>ExecutionEnvironment</code>:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">def</span> <span class="n">getExecutionEnvironment</span>
-
-<span class="k">def</span> <span class="n">createLocalEnvironment</span><span class="o">(</span><span class="n">parallelism</span><span class="k">:</span> <span class="kt">Int</span> <span class="o">=</span> <span class="nc">Runtime</span><span class="o">.</span><span class="n">getRuntime</span><span class="o">.</span><span class="n">availableProcessors</span><span class="o">()))</span>
-<span class="k">def</span> <span class="n">createLocalEnvironment</span><span class="o">(</span><span class="n">customConfiguration</span><span class="k">:</span> <span class="kt">Configuration</span><span class="o">)</span>
-
-<span class="k">def</span> <span class="n">createRemoteEnvironment</span><span class="o">(</span><span class="n">host</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">port</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">jarFiles</span><span class="k">:</span> <span class="kt">String*</span><span class="o">)</span>
-<span class="k">def</span> <span class="n">createRemoteEnvironment</span><span class="o">(</span><span class="n">host</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">port</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">parallelism</span><span class="k">:</span> <span class="kt">Int</span><span class="o">,</span> <span class="n">jarFiles</span><span class="k">:</span> <span class="kt">String*</span><span class="o">)</span></code></pre></div>
-
-    <p>Typically, you only need to use <code>getExecutionEnvironment()</code>, since this
-will do the right thing depending on the context: if you are executing
-your program inside an IDE or as a regular Scala program it will create
-a local environment that will execute your program on your local machine. If
-you created a JAR file from you program, and invoke it through the <a href="cli.html">command line</a>
-or the <a href="web_client.html">web interface</a>,
-the Flink cluster manager will execute your main method and <code>getExecutionEnvironment()</code> will return
-an execution environment for executing your program on a cluster.</p>
-
-    <p>For specifying data sources the execution environment has several methods
-to read from files using various methods: you can just read them line by line,
-as CSV files, or using completely custom data input formats. To just read
-a text file as a sequence of lines, you can use:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span><span class="o">()</span>
-
-<span class="k">val</span> <span class="n">text</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readTextFile</span><span class="o">(</span><span class="s">&quot;file:///path/to/file&quot;</span><span class="o">)</span></code></pre></div>
-
-    <p>This will give you a DataSet on which you can then apply transformations. For
-more information on data sources and input formats, please refer to
-<a href="#data-sources">Data Sources</a>.</p>
-
-    <p>Once you have a DataSet you can apply transformations to create a new
-DataSet which you can then write to a file, transform again, or
-combine with other DataSets. You apply transformations by calling
-methods on DataSet with your own custom transformation function. For example,
-a map transformation looks like this:</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
-
-<span class="k">val</span> <span class="n">mapped</span> <span class="k">=</span> <span class="n">text</span><span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">x</span> <span class="k">=&gt;</span> <span class="n">x</span><span class="o">.</span><span class="n">toInt</span> <span class="o">}</span></code></pre></div>
-
-    <p>This will create a new DataSet by converting every String in the original
-set to an Integer. For more information and a list of all the transformations,
-please refer to <a href="#transformations">Transformations</a>.</p>
-
-    <p>Once you have a DataSet containing your final results, you can either write the result
-to a file system (HDFS or local) or print it.</p>
-
-    <div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">def</span> <span class="n">writeAsText</span><span class="o">(</span><span class="n">path</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">writeMode</span><span class="k">:</span> <span class="kt">WriteMode</span> <span class="o">=</span> <span class="nc">WriteMode</span><span class="o">.</span><span class="nc">NO_OVERWRITE</span><span class="o">)</span>
-<span class="k">def</span> <span class="n">writeAsCsv</span><span class="o">(</span>
-    <span class="n">filePath</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span>
-    <span class="n">rowDelimiter</span><span class="k">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span>
-    <span class="n">fieldDelimiter</span><span class="k">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="sc">&#39;,&#39;</span><span class="o">,</span>
-    <span class="n">writeMode</span><span class="k">:</span> <span class="kt">WriteMode</span> <span class="o">=</span> <span class="nc">WriteMode</span><span class="o">.</span><span class="nc">NO_OVERWRITE</span><span class="o">)</span>
-<span class="k">def</span> <span class="n">write</span><span class="o">(</span><span class="n">outputFormat</span><span class="k">:</span> <span class="kt">FileOutputFormat</span><span class="o">[</span><span class="kt">T</span><span class="o">],</span>
-    <span class="n">path</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span>
-    <span class="n">writeMode</span><span class="k">:</span> <span class="kt">WriteMode</span> <span class="o">=</span> <span class="nc">WriteMode</span><span class="o">.</span><span class="nc">NO_OVERWRITE</span><span class="o">)</span>
-
-<span class="k">def</span> <span class="n">printOnTaskManager</span><span class="o">()</span>
-
-<span class="k">def</span> <span class="n">print</span><span class="o">()</span>
-
-<span class="k">def</span> <span class="n">collect</span><span class="o">()</span></code></pre></div>
-
-  </div>
-</div>
-
-<p>The first two methods (<code>writeAsText()</code> and <code>writeAsCsv()</code>) do as the name suggests, the third one 
-can be used to specify a custom data output format. Please refer to <a href="#data-sinks">Data Sinks</a> for 
-more information on writing to files and also about custom data output formats.</p>
-
-<p>The <code>print()</code> method is useful for developing/debugging. It will output the contents of the DataSet 
-to standard output (on the JVM starting the Flink execution). <strong>NOTE</strong> The behavior of the <code>print()</code>
-method changed with Flink 0.9.x. Before it was printing to the log file of the workers, now its 
-sending the DataSet results to the client and printing the results there.</p>
-
-<p><code>collect()</code> retrieve the DataSet from the cluster to the local JVM. The <code>collect()</code> method 
-will return a <code>List</code> containing the elements.</p>
-
-<p>Both <code>print()</code> and <code>collect()</code> will trigger the execution of the program. You don’t need to further call <code>execute()</code>.</p>
-
-<p><strong>NOTE</strong> <code>print()</code> and <code>collect()</code> retrieve the data from the cluster to the client. Currently,
-the data sizes you can retrieve with <code>collect()</code> are limited due to our RPC system. It is not advised
-to collect DataSets larger than 10MBs.</p>
-
-<p>There is also a <code>printOnTaskManager()</code> method which will print the DataSet contents on the TaskManager 
-(so you have to get them from the log file). The <code>printOnTaskManager()</code> method will not trigger a
-program execution.</p>
-
-<p>Once you specified the complete program you need to <strong>trigger the program execution</strong>. You can call
-<code>execute()</code> directly on the <code>ExecutionEnviroment</code> or you implicitly trigger the execution with
-<code>collect()</code> or <code>print()</code>.
-Depending on the type of the <code>ExecutionEnvironment</code> the execution will be triggered on your local 
-machine or submit your program for execution on a cluster.</p>
-
-<p>Note that you can not call both <code>print()</code> (or <code>collect()</code>) and <code>execute()</code> at the end of program.</p>
-
-<p>The <code>execute()</code> method is returning the <code>JobExecutionResult</code>, including execution times and
-accumulator results. <code>print()</code> and <code>collect()</code> are not returning the result, but it can be
-accessed from the <code>getLastJobExecutionResult()</code> method.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="dataset-abstraction">DataSet abstraction</h2>
-
-<p>The batch processing APIs of Flink are centered around the <code>DataSet</code> abstraction. A <code>DataSet</code> is only
-an abstract representation of a set of data that can contain duplicates.</p>
-
-<p>Also note that Flink is not always physically creating (materializing) each DataSet at runtime. This 
-depends on the used runtime, the configuration and optimizer decisions.</p>
-
-<p>The Flink runtime does not need to always materialize the DataSets because it is using a streaming runtime model.</p>
-
-<p>DataSets are only materialized to avoid distributed deadlocks (at points where the data flow graph branches out and joins again later) or if the execution mode has explicitly been set to a batched execution.</p>
-
-<p>When using Flink on Tez, all DataSets are materialized.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="lazy-evaluation">Lazy Evaluation</h2>
-
-<p>All Flink programs are executed lazily: When the program’s main method is executed, the data loading
-and transformations do not happen directly. Rather, each operation is created and added to the
-program’s plan. The operations are actually executed when the execution is explicitly triggered by 
-an <code>execute()</code> call on the ExecutionEnvironment object. Also, <code>collect()</code> and <code>print()</code> will trigger
-the job execution. Whether the program is executed locally or on a cluster depends
-on the environment of the program.</p>
-
-<p>The lazy evaluation lets you construct sophisticated programs that Flink executes as one
-holistically planned unit.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="transformations">Transformations</h2>
-
-<p>Data transformations transform one or more DataSets into a new DataSet. Programs can combine
-multiple transformations into sophisticated assemblies.</p>
-
-<p>This section gives a brief overview of the available transformations. The <a href="dataset_transformations.html">transformations
-documentation</a> has a full description of all transformations with
-examples.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <p><br /></p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-    <tr>
-      <td><strong>Map</strong></td>
-      <td>
-        <p>Takes one element and produces one element.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">map</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span> <span class="k">return</span> <span class="n">Integer</span><span class="o">.</span><span class="na">parseInt</span><span class="o">(</span><span class="n">value</span><span class="o">);</span> <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>FlatMap</strong></td>
-      <td>
-        <p>Takes one element and produces zero, one, or more elements. </p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">s</span> <span class="o">:</span> <span class="n">value</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">))</span> <span class="o">{</span>
-      <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">s</span><span class="o">);</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>MapPartition</strong></td>
-      <td>
-        <p>Transforms a parallel partition in a single function call. The function get the partition
-        as an `Iterable` stream and can produce an arbitrary number of result values. The number of
-        elements in each partition depends on the degree-of-parallelism and previous operations.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">mapPartition</span><span class="o">(</span><span class="k">new</span> <span class="n">MapPartitionFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;()</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">mapPartition</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">values</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="kt">long</span> <span class="n">c</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">s</span> <span class="o">:</span> <span class="n">values</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">c</span><span class="o">++;</span>
-    <span class="o">}</span>
-    <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">c</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Filter</strong></td>
-      <td>
-        <p>Evaluates a boolean function for each element and retains those for which the function
-        returns true.<br />
-        
-        <strong>IMPORTANT:</strong> The system assumes that the function does not modify the elements on which the predicate is applied. Violating this assumption
-        can lead to incorrect results.
-        </p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;()</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Integer</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span> <span class="k">return</span> <span class="n">value</span> <span class="o">&gt;</span> <span class="mi">1000</span><span class="o">;</span> <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Reduce</strong></td>
-      <td>
-        <p>Combines a group of elements into a single element by repeatedly combining two elements
-        into one. Reduce may be applied on a full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">reduce</span><span class="o">(</span><span class="k">new</span> <span class="n">ReduceFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Integer</span> <span class="n">a</span><span class="o">,</span> <span class="n">Integer</span> <span class="n">b</span><span class="o">)</span> <span class="o">{</span> <span class="k">return</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="o">;</span> <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>ReduceGroup</strong></td>
-      <td>
-        <p>Combines a group of elements into one or more elements. ReduceGroup may be applied on a
-        full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data</span><span class="o">.</span><span class="na">reduceGroup</span><span class="o">(</span><span class="k">new</span> <span class="n">GroupReduceFunction</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="o">{</span>
-  <span class="kd">public</span> <span class="kt">void</span> <span class="nf">reduce</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">values</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-    <span class="kt">int</span> <span class="n">prefixSum</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span>
-    <span class="k">for</span> <span class="o">(</span><span class="n">Integer</span> <span class="n">i</span> <span class="o">:</span> <span class="n">values</span><span class="o">)</span> <span class="o">{</span>
-      <span class="n">prefixSum</span> <span class="o">+=</span> <span class="n">i</span><span class="o">;</span>
-      <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">prefixSum</span><span class="o">);</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-<span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Aggregate</strong></td>
-      <td>
-        <p>Aggregates a group of values into a single value. Aggregation functions can be thought of
-        as built-in reduce functions. Aggregate may be applied on a full data set, or on a grouped
-        data set.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Dataset</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">aggregate</span><span class="o">(</span><span class="n">SUM</span><span class="o">,</span> <span class="mi">0</span><span class="o">).</span><span class="na">and</span><span class="o">(</span><span class="n">MIN</span><span class="o">,</span> <span class="mi">2</span><span class="o">);</span></code></pre></div>
-
-	<p>You can also use short-hand syntax for minimum, maximum, and sum aggregations.</p>
-	
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">Dataset</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">output</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">andMin</span><span class="o">(</span><span class="mi">2</span><span class="o">);</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    
-      <td><strong>Join</strong></td>
-      <td>
-        Joins two data sets by creating all pairs of elements that are equal on their keys.
-        Optionally uses a JoinFunction to turn the pair of elements into a single element, or a
-        FlatJoinFunction to turn the pair of elements into arbitararily many (including none)
-        elements. See <a href="#specifying-keys">keys</a> on how to define join keys.
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">result</span> <span class="o">=</span> <span class="n">input1</span><span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">input2</span><span class="o">)</span>
-               <span class="o">.</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>       <span class="c1">// key of the first input (tuple field 0)</span>
-               <span class="o">.</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>    <span class="c1">// key of the second input (tuple field 1)</span></code></pre></div>
-
-        You can specify the way that the runtime executes the join via <i>Join Hints</i>. The hints
-        describe whether the join happens through partitioning or broadcasting, and whether it uses
-        a sort-based or a hash-based algorithm. Please refer to the 
-        <a href="dataset_transformations.html#join-algorithm-hints">Transformations Guide</a> for
-        a list of possible hints and an example.
-        If no hint is specified, the system will try to make an estimate of the input sizes and
-        pick a the best strategy according to those estimates. 
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// This executes a join by broadcasting the first data set</span>
-<span class="c1">// using a hash table for the broadcasted data</span>
-<span class="n">result</span> <span class="o">=</span> <span class="n">input1</span><span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">input2</span><span class="o">,</span> <span class="n">JoinHint</span><span class="o">.</span><span class="na">BROADCAST_HASH_FIRST</span><span class="o">)</span>
-               <span class="o">.</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span></code></pre></div>
-
-        Note that the join transformation works only for equi-joins. Other join types, for example outer-joins need to be expressed using CoGroup.
-      </td>
-    
-
-    <tr>
-      <td><strong>CoGroup</strong></td>
-      <td>
-        <p>The two-dimensional variant of the reduce operation. Groups each input on one or more
-        fields and then joins the groups. The transformation function is called per pair of groups.
-        See <a href="#specifying-keys">keys</a> on how to define coGroup keys.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">data1</span><span class="o">.</span><span class="na">coGroup</span><span class="o">(</span><span class="n">data2</span><span class="o">)</span>
-     <span class="o">.</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-     <span class="o">.</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-     <span class="o">.</span><span class="na">with</span><span class="o">(</span><span class="k">new</span> <span class="n">CoGroupFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-         <span class="kd">public</span> <span class="kt">void</span> <span class="nf">coGroup</span><span class="o">(</span><span class="n">Iterable</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">in1</span><span class="o">,</span> <span class="n">Iterable</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">in2</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-           <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(...);</span>
-         <span class="o">}</span>
-      <span class="o">});</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Cross</strong></td>
-      <td>
-        <p>Builds the Cartesian product (cross product) of two inputs, creating all pairs of
-        elements. Optionally uses a CrossFunction to turn the pair of elements into a single
-        element</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">data1</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">data2</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">data1</span><span class="o">.</span><span class="na">cross</span><span class="o">(</span><span class="n">data2</span><span class="o">);</span></code></pre></div>
-
-      <p>Note: Cross is potentially a <b>very</b> compute-intensive operation which can challenge even large compute clusters! It is adviced to hint the system with the DataSet sizes by using <i>crossWithTiny()</i> and <i>crossWithHuge()</i>.</p>
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Union</strong></td>
-      <td>
-        <p>Produces the union of two data sets. This operation happens implicitly if more than one
-        data set is used for a specific function input.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">data1</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">data2</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">data1</span><span class="o">.</span><span class="na">union</span><span class="o">(</span><span class="n">data2</span><span class="o">);</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Rebalance</strong></td>
-      <td>
-        <p>Evenly rebalances the parallel partitions of a data set to eliminate data skew. Only Map-like transformations may follow a rebalance transformation.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">rebalance</span><span class="o">()</span>
-                           <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="nf">Mapper</span><span class="o">());</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Hash-Partition</strong></td>
-      <td>
-        <p>Hash-partitions a data set on a given key. Keys can be specified as key-selector functions or field position keys.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">partitionByHash</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-                            <span class="o">.</span><span class="na">mapPartition</span><span class="o">(</span><span class="k">new</span> <span class="nf">PartitionMapper</span><span class="o">());</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Custom Partitioning</strong></td>
-      <td>
-        <p>Manually specify a partitioning over the data.
-          <br />
-          <i>Note</i>: This method works only on single field keys.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">partitionCustom</span><span class="o">(</span><span class="n">Partitioner</span><span class="o">&lt;</span><span class="n">K</span><span class="o">&gt;</span> <span class="n">partitioner</span><span class="o">,</span> <span class="n">key</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Sort Partition</strong></td>
-      <td>
-        <p>Locally sorts all partitions of a data set on a specified field in a specified order. 
-          Fields can be specified as tuple positions or field expressions. 
-          Sorting on multiple fields is done by chaining sortPartition() calls.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">sortPartition</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">Order</span><span class="o">.</span><span class="na">ASCENDING</span><span class="o">)</span>
-                            <span class="o">.</span><span class="na">mapPartition</span><span class="o">(</span><span class="k">new</span> <span class="nf">PartitionMapper</span><span class="o">());</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>First-n</strong></td>
-      <td>
-        <p>Returns the first n (arbitrary) elements of a data set. First-n can be applied on a regular data set, a grouped data set, or a grouped-sorted data set. Grouping keys can be specified as key-selector functions or field position keys.</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="c1">// regular data set</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">result1</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">first</span><span class="o">(</span><span class="mi">3</span><span class="o">);</span>
-<span class="c1">// grouped data set</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">result2</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-                                            <span class="o">.</span><span class="na">first</span><span class="o">(</span><span class="mi">3</span><span class="o">);</span>
-<span class="c1">// grouped-sorted data set</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span><span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">result3</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-                                            <span class="o">.</span><span class="na">sortGroup</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="n">Order</span><span class="o">.</span><span class="na">ASCENDING</span><span class="o">)</span>
-                                            <span class="o">.</span><span class="na">first</span><span class="o">(</span><span class="mi">3</span><span class="o">);</span></code></pre></div>
-
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-    <hr />
-
-    <p>The following transformations are available on data sets of Tuples:</p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-  <tbody>
-   <tr>
-      <td><strong>Project</strong></td>
-      <td>
-        <p>Selects a subset of fields from the tuples</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">,</span> <span class="n">String</span><span class="o">&gt;&gt;</span> <span class="n">in</span> <span class="o">=</span> <span class="c1">// [...]</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span> <span class="o">=</span> <span class="n">in</span><span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span><span class="mi">0</span><span class="o">);</span></code></pre></div>
-
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-  </div>
-  <div data-lang="scala">
-    <p><br /></p>
-
-    <table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-    <tr>
-      <td><strong>Map</strong></td>
-      <td>
-        <p>Takes one element and produces one element.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">x</span> <span class="k">=&gt;</span> <span class="n">x</span><span class="o">.</span><span class="n">toInt</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>FlatMap</strong></td>
-      <td>
-        <p>Takes one element and produces zero, one, or more elements. </p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="n">str</span> <span class="k">=&gt;</span> <span class="n">str</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">)</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>MapPartition</strong></td>
-      <td>
-        <p>Transforms a parallel partition in a single function call. The function get the partition
-        as an `Iterator` and can produce an arbitrary number of result values. The number of
-        elements in each partition depends on the degree-of-parallelism and previous operations.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">mapPartition</span> <span class="o">{</span> <span class="n">in</span> <span class="k">=&gt;</span> <span class="n">in</span> <span class="n">map</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Filter</strong></td>
-      <td>
-        <p>Evaluates a boolean function for each element and retains those for which the function
-        returns true.<br />
-        <strong>IMPORTANT:</strong> The system assumes that the function does not modify the element on which the predicate is applied.
-        Violating this assumption can lead to incorrect results.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">filter</span> <span class="o">{</span> <span class="k">_</span> <span class="o">&gt;</span> <span class="mi">1000</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Reduce</strong></td>
-      <td>
-        <p>Combines a group of elements into a single element by repeatedly combining two elements
-        into one. Reduce may be applied on a full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">reduce</span> <span class="o">{</span> <span class="k">_</span> <span class="o">+</span> <span class="k">_</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>ReduceGroup</strong></td>
-      <td>
-        <p>Combines a group of elements into one or more elements. ReduceGroup may be applied on a
-        full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">reduceGroup</span> <span class="o">{</span> <span class="n">elements</span> <span class="k">=&gt;</span> <span class="n">elements</span><span class="o">.</span><span class="n">sum</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Aggregate</strong></td>
-      <td>
-        <p>Aggregates a group of values into a single value. Aggregation functions can be thought of
-        as built-in reduce functions. Aggregate may be applied on a full data set, or on a grouped
-        data set.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">output</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span>, <span class="kt">Doublr</span><span class="o">)]</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">aggregate</span><span class="o">(</span><span class="nc">SUM</span><span class="o">,</span> <span class="mi">0</span><span class="o">).</span><span class="n">aggregate</span><span class="o">(</span><span class="nc">MIN</span><span class="o">,</span> <span class="mi">2</span><span class="o">);</span></code></pre></div>
-
-  <p>You can also use short-hand syntax for minimum, maximum, and sum aggregations.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span>, <span class="kt">Double</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">output</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span>, <span class="kt">Doublr</span><span class="o">)]</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">sum</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">min</span><span class="o">(</span><span class="mi">2</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    
-      <td><strong>Join</strong></td>
-      <td>
-        Joins two data sets by creating all pairs of elements that are equal on their keys.
-        Optionally uses a JoinFunction to turn the pair of elements into a single element, or a
-        FlatJoinFunction to turn the pair of elements into arbitararily many (including none)
-        elements. See <a href="#specifying-keys">keys</a> on how to define join keys.
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// In this case tuple fields are used as keys. &quot;0&quot; is the join field on the first tuple</span>
-<span class="c1">// &quot;1&quot; is the join field on the second tuple.</span>
-<span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">input1</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">input2</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span></code></pre></div>
-
-        You can specify the way that the runtime executes the join via <i>Join Hints</i>. The hints
-        describe whether the join happens through partitioning or broadcasting, and whether it uses
-        a sort-based or a hash-based algorithm. Please refer to the 
-        <a href="dataset_transformations.html#join-algorithm-hints">Transformations Guide</a> for
-        a list of possible hints and an example.
-        If no hint is specified, the system will try to make an estimate of the input sizes and
-        pick a the best strategy according to those estimates.
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="c1">// This executes a join by broadcasting the first data set</span>
-<span class="c1">// using a hash table for the broadcasted data</span>
-<span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">input1</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">input2</span><span class="o">,</span> <span class="nc">JoinHint</span><span class="o">.</span><span class="nc">BROADCAST_HASH_FIRST</span><span class="o">)</span>
-                   <span class="o">.</span><span class="n">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span></code></pre></div>
-
-          Note that the join transformation works only for equi-joins. Other join types, for example outer-joins need to be expressed using CoGroup.
-      </td>
-    
-
-    <tr>
-      <td><strong>CoGroup</strong></td>
-      <td>
-        <p>The two-dimensional variant of the reduce operation. Groups each input on one or more
-        fields and then joins the groups. The transformation function is called per pair of groups.
-        See <a href="#specifying-keys">keys</a> on how to define coGroup keys.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data1</span><span class="o">.</span><span class="n">coGroup</span><span class="o">(</span><span class="n">data2</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Cross</strong></td>
-      <td>
-        <p>Builds the Cartesian product (cross product) of two inputs, creating all pairs of
-        elements. Optionally uses a CrossFunction to turn the pair of elements into a single
-        element</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">data1</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Int</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">data2</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">result</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="n">data1</span><span class="o">.</span><span class="n">cross</span><span class="o">(</span><span class="n">data2</span><span class="o">)</span></code></pre></div>
-
-        <p>Note: Cross is potentially a <b>very</b> compute-intensive operation which can challenge even large compute clusters! It is adviced to hint the system with the DataSet sizes by using <i>crossWithTiny()</i> and <i>crossWithHuge()</i>.</p>
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Union</strong></td>
-      <td>
-        <p>Produces the union of two data sets.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">data</span><span class="o">.</span><span class="n">union</span><span class="o">(</span><span class="n">data2</span><span class="o">)</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Rebalance</strong></td>
-      <td>
-        <p>Evenly rebalances the parallel partitions of a data set to eliminate data skew. Only Map-like transformations may follow a rebalance transformation.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">data1</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Int</span><span class="o">]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">result</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="n">data1</span><span class="o">.</span><span class="n">rebalance</span><span class="o">().</span><span class="n">map</span><span class="o">(...)</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Hash-Partition</strong></td>
-      <td>
-        <p>Hash-partitions a data set on a given key. Keys can be specified as key-selector functions, tuple positions
-        or case class fields.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">val</span> <span class="n">in</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">Int</span>, <span class="kt">String</span><span class="o">)]</span> <span class="k">=</span> <span class="c1">// [...]</span>
-<span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">in</span><span class="o">.</span><span class="n">partitionByHash</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">mapPartition</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span></code></pre></div>
-
-      </td>
-    </tr>
-    
-    <tr>
-      <td><strong>Sort Partition</strong></td>
-      <td>
-        <p>Locall

<TRUNCATED>

[64/68] [abbrv] flink-web git commit: Replaced old features page with new

Posted by an...@apache.org.
Replaced old features page with new


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/c067b305
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/c067b305
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/c067b305

Branch: refs/heads/master
Commit: c067b305b003ddf46fe90cba849ead364b952c33
Parents: 1299328
Author: Kostas Tzoumas <ko...@gmail.com>
Authored: Mon Jul 13 20:04:07 2015 +0200
Committer: Kostas Tzoumas <ko...@gmail.com>
Committed: Mon Jul 13 20:04:07 2015 +0200

----------------------------------------------------------------------
 content/features.html                          | 314 +++++++++++++---
 content/img/features/continuous_streams.png    | Bin 0 -> 45433 bytes
 content/img/features/distributed_snapshots.png | Bin 0 -> 51039 bytes
 content/img/features/ecosystem_logos.png       | Bin 0 -> 234956 bytes
 content/img/features/exactly_once_state.png    | Bin 0 -> 11460 bytes
 content/img/features/iterations.png            | Bin 0 -> 135824 bytes
 content/img/features/memory_heap_division.png  | Bin 0 -> 42006 bytes
 content/img/features/one_runtime.png           | Bin 0 -> 32450 bytes
 content/img/features/optimizer_choice.png      | Bin 0 -> 32423 bytes
 content/img/features/stack.png                 | Bin 0 -> 87387 bytes
 content/img/features/streaming_performance.png | Bin 0 -> 55480 bytes
 features.md                                    | 395 +++++++++++---------
 features_new.md                                | 299 ---------------
 img/features/streaming_performance.png         | Bin 16405 -> 55480 bytes
 14 files changed, 479 insertions(+), 529 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/features.html
----------------------------------------------------------------------
diff --git a/content/features.html b/content/features.html
index d2ec1a9..6e03303 100644
--- a/content/features.html
+++ b/content/features.html
@@ -138,101 +138,299 @@
       
 
 <div class="row">
-  <div class="col-sm-8 col-sm-offset-2">
-    <div class="row">
-      <div class="col-sm-12"><h1>Features</h1></div>
-    </div>
+  <div class="col-sm-10 col-sm-offset-1">
 
-<!-- System Overview -->
-<div class="row" style="padding: 2em 0 0 0">
+<!-- --------------------------------------------- -->
+<!--                Streaming
+<!-- --------------------------------------------- -->
+
+<hr />
+
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>Streaming</b></h1>
+  </div>
+</div>
+
+<hr />
+
+<!-- High Performance -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="performance"><i>High Performance</i></h1>
+  </div>
+</div>
+<div class="row">
   <div class="col-sm-12">
-    <h1>System Overview</h1>
-    <p class="lead">Flink contains APIs in Java and Scala for analyzing data from batch and streaming data sources, as well as its own optimizer and distributed runtime with custom memory management.</p>
+    <p class="lead">Flink's data streaming runtime achieves high throughput rates and low latencies with little configuration.</p>
   </div>
 </div>
 <div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12 text-center">
-    <img src="/img/assets/WhatIsFlink.png" alt="Apache Flink is Fast" style="width:100%" />
+  <div class="col-sm-12 img-column">
+    <img src="/img/features/streaming_performance.png" alt="Performance of data streaming applications" style="width:75%" />
   </div>
 </div>
 
-<!-- Fast -->
-<div class="row" style="padding: 2em 0 2em 0">
+<hr />
+
+<!-- Exactly-once Semantics -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="exactly_once"><i>Exactly-once Semantics for Stateful Computations</i></h1>
+  </div>
+</div>
+<div class="row">
   <div class="col-sm-6">
-    <h1 id="fast">Fast</h1>
-    <p class="lead">Flink exploits in-memory data streaming and integrates iterative processing deeply into the system runtime.</p>
-    <p class="lead">This makes the system extremely fast for data-intensive and iterative jobs.</p>
+    <p class="lead">Streaming applications can maintain custom state during their computation.</p>
+    <p class="lead">Flink's checkpointing mechanism ensures <i>exactly once</i> semantics for the state in the presence of failures.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="/img/features/exactly_once_state.png" alt="Exactly-once Semantics for Stateful Computations" style="width:50%" />
+  </div>
+</div>
+
+<hr />
+
+<!-- Continuous streaming -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="streaming_model"><i>Continuous Streaming Model with Flow Control</i></h1>
   </div>
+</div>
+
+<div class="row">
   <div class="col-sm-6">
-    <img src="/img/assets/pagerank.png" alt="Apache Flink is Fast" style="width:100%" />
+    <p class="lead">Data streaming applications are executed with continuous (long lived) operators.</p>
+    <p class="lead">Flink's streaming runtime has natural flow control: Slow downstream operators backpressure faster upstream operators.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="/img/features/continuous_streams.png" alt="Continuous Streaming Model" style="width:60%" />
   </div>
 </div>
 
-<!-- Reliable and Scalable -->
-<div class="row" style="padding: 2em 0 2em 0">
-  <div class="col-sm-6 text-center">
-    <img src="/img/assets/grep.png" alt="Apache Flink is Fast" style="width:100%" />
+<hr />
+
+<!-- Lightweight distributed snapshots -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="snapshots"><i>Fault-tolerance via Lightweight Distributed Snapshots</i></h1>
   </div>
+</div>
+<div class="row">
   <div class="col-sm-6">
-    <h1 id="reliable-and-scalable">Reliable and Scalable</h1>
-    <p class="lead">Flink is designed to perform well when memory runs out.</p>
-    <p class="lead">Flink contains its own memory management component, serialization framework, and type inference engine.</p>
-    <p class="lead">Tested in clusters of 100s of nodes, Amazon EC2, and Google Compute Engine.</p>
+    <p class="lead">Flink's fault tolerance mechanism is based on Chandy-Lamport distributed snapshots.</p>
+    <p class="lead">The mechanism is lightweight, allowing the system to maintain high throughput rates and provide strong consistency guarantees at the same time.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="/img/features/distributed_snapshots.png" alt="Lightweight Distributed Snapshots" style="width:40%" />
+  </div>
+</div>
+
+<hr />
+
+<!-- --------------------------------------------- -->
+<!--                Batch
+<!-- --------------------------------------------- -->
+
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>Batch and Streaming in One System</b></h1>
   </div>
 </div>
 
-<!-- Expressive -->
+<hr />
+
+<!-- One Runtime for Streaming and Batch Processing -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="one_runtime"><i>One Runtime for Streaming and Batch Processing</i></h1>
+  </div>
+</div>
 <div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink uses one common runtime for data streaming applications and batch processing applications.</p>
+    <p class="lead">Batch processing applications run efficiently as special cases of stream processing applications.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="/img/features/one_runtime.png" alt="Unified Runtime for Batch and Stream Data Analysis" style="width:50%" />
+  </div>
+</div>
+
+<hr />
+
+<!-- Memory Management -->
+<div class="row" style="padding: 0 0 2em 0">
   <div class="col-sm-12">
-    <h1 id="expressive">Expressive</h1>
-    <p class="lead">Write beautiful, type-safe, and maintainable code in Java or Scala. Execute it on a cluster. You can use native Java and Scala data types without packing them into key-value pairs, logical field addressing, and a wealth of operators.</p>
-    <h2>WordCount in Flink's Scala API</h2>
-    
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">case</span> <span class="k">class</span> <span class="nc">Word</span> <span class="o">(</span><span class="n">word</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">frequency</span><span class="k">:</span> <span class="kt">Int</span><span class="o">)</span>
+    <h1 id="memory_management"><i>Memory Management</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink implements its own memory management inside the JVM.</p>
+    <p class="lead">Applications scale to data sizes beyond main memory and experience less garbage collection overhead.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="/img/features/memory_heap_division.png" alt="Managed JVM Heap" style="width:50%" />
+  </div>
+</div>
 
-<span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">text</span>
-  <span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span><span class="n">line</span> <span class="k">=&gt;</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">).</span><span class="n">map</span><span class="o">(</span>
-    <span class="n">word</span> <span class="k">=&gt;</span> <span class="nc">Word</span><span class="o">(</span><span class="n">word</span><span class="o">,</span><span class="mi">1</span><span class="o">))}</span>
-  <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="s">&quot;word&quot;</span><span class="o">).</span><span class="n">sum</span><span class="o">(</span><span class="s">&quot;frequency&quot;</span><span class="o">)</span></code></pre></div>
+<hr />
 
-    <h2>Transitive Closure</h2>
-    
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">case</span> <span class="k">class</span> <span class="nc">Path</span> <span class="o">(</span><span class="n">from</span><span class="k">:</span> <span class="kt">Long</span><span class="o">,</span> <span class="n">to</span><span class="k">:</span> <span class="kt">Long</span><span class="o">)</span>
+<!-- Iterations -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="iterations"><i>Iterations and Delta Iterations</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink has dedicated support for iterative computations (as in machine learning and graph analysis).</p>
+    <p class="lead">Delta iterations can exploit computational dependencies for faster convergence.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="/img/features/iterations.png" alt="Performance of iterations and delta iterations" style="width:75%" />
+  </div>
+</div>
+
+<hr />
+
+<!-- Optimizer -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="optimizer"><i>Program Optimizer</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Batch programs are automatically optimized to exploit situations where expensive operations (like shuffles and sorts) can be avoided, and when intermediate data should be cached.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="/img/features/optimizer_choice.png" alt="Optimizer choosing between different execution strategies" style="width:100%" />
+  </div>
+</div>
+
+<hr />
+
+<!-- --------------------------------------------- -->
+<!--             APIs and Libraries
+<!-- --------------------------------------------- -->
+
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>APIs and Libraries</b></h1>
+  </div>
+</div>
+
+<hr />
+
+<!-- Batch Processing API -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="batch_api"><i>Batch Processing Applications</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-5">
+    <p class="lead">Flink's <i>DataSet</i> API lets you write beautiful type-safe and maintainable code in Java or Scala. It supports a wide range of data types beyond key/value pairs, and a wealth of operators.</p>
+    <p class="lead">The example shows the core loop of the PageRank algorithm for graphs.</p>
+  </div>
+  <div class="col-sm-7">
+
+<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">case</span> <span class="k">class</span> <span class="nc">Page</span><span class="o">(</span><span class="n">pageId</span><span class="k">:</span> <span class="kt">Long</span><span class="o">,</span> <span class="n">rank</span><span class="k">:</span> <span class="kt">Double</span><span class="o">)</span>
+<span class="k">case</span> <span class="k">class</span> <span class="nc">Adjacency</span><span class="o">(</span><span class="n">id</span><span class="k">:</span> <span class="kt">Long</span><span class="o">,</span> <span class="n">neighbors</span><span class="k">:</span> <span class="kt">Array</span><span class="o">[</span><span class="kt">Long</span><span class="o">])</span>
+
+<span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">initialRanks</span><span class="o">.</span><span class="n">iterate</span><span class="o">(</span><span class="mi">30</span><span class="o">)</span> <span class="o">{</span> <span class="n">pages</span> <span class="k">=&gt;</span>
+  <span class="n">pages</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">adjacency</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">)</span> <span class="o">{</span>
 
-<span class="k">val</span> <span class="n">tc</span> <span class="k">=</span> <span class="n">edges</span><span class="o">.</span><span class="n">iterate</span><span class="o">(</span><span class="mi">10</span><span class="o">)</span> <span class="o">{</span> <span class="n">paths</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">Path</span><span class="o">]</span> <span class="k">=&gt;</span>
-  <span class="k">val</span> <span class="n">next</span> <span class="k">=</span> <span class="n">paths</span>
-    <span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">edges</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="s">&quot;to&quot;</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="s">&quot;from&quot;</span><span class="o">)</span> <span class="o">{</span>
-      <span class="o">(</span><span class="n">path</span><span class="o">,</span> <span class="n">edge</span><span class="o">)</span> <span class="k">=&gt;</span> <span class="nc">Path</span><span class="o">(</span><span class="n">path</span><span class="o">.</span><span class="n">from</span><span class="o">,</span> <span class="n">edge</span><span class="o">.</span><span class="n">to</span><span class="o">)</span>
+    <span class="o">(</span><span class="n">page</span><span class="o">,</span> <span class="n">adj</span><span class="o">,</span> <span class="n">out</span> <span class="k">:</span> <span class="kt">Collector</span><span class="o">[</span><span class="kt">Page</span><span class="o">])</span> <span class="k">=&gt;</span> <span class="o">{</span>
+      <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="nc">Page</span><span class="o">(</span><span class="n">page</span><span class="o">.</span><span class="n">id</span><span class="o">,</span> <span class="mf">0.15</span> <span class="o">/</span> <span class="n">numPages</span><span class="o">))</span>
+        
+      <span class="k">for</span> <span class="o">(</span><span class="n">n</span> <span class="k">&lt;-</span> <span class="n">adj</span><span class="o">.</span><span class="n">neighbors</span><span class="o">)</span> <span class="o">{</span>
+        <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="nc">Page</span><span class="o">(</span><span class="n">n</span><span class="o">,</span> <span class="mf">0.85</span><span class="o">*</span><span class="n">page</span><span class="o">.</span><span class="n">rank</span><span class="o">/</span><span class="n">adj</span><span class="o">.</span><span class="n">neighbors</span><span class="o">.</span><span class="n">length</span><span class="o">))</span>
+      <span class="o">}</span>
     <span class="o">}</span>
-    <span class="o">.</span><span class="n">union</span><span class="o">(</span><span class="n">paths</span><span class="o">).</span><span class="n">distinct</span><span class="o">()</span>
-  <span class="n">next</span>
+  <span class="o">}</span>
+  <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">).</span><span class="n">sum</span><span class="o">(</span><span class="s">&quot;rank&quot;</span><span class="o">)</span>
 <span class="o">}</span></code></pre></div>
 
   </div>
 </div>
 
-<!-- Easy to Use -->
-<div class="row" style="padding: 2em 0 2em 0">
+<hr />
+
+<!-- Data Streaming API -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="streaming_api"><i>Streaming Data Applications</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-5">
+    <p class="lead">The <i>DataStream</i> API supports functional transformations on data streams, with user-defined state, and flexible windows.</p>
+    <p class="lead">The example shows how to compute a sliding historam of word occurrences of a data stream of texts.</p>
+  </div>
+  <div class="col-sm-7">
+    <p class="lead">WindowWordCount in Flink's DataStream API</p>
+
+<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">case</span> <span class="k">class</span> <span class="nc">Word</span><span class="o">(</span><span class="n">word</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">freq</span><span class="k">:</span> <span class="kt">Long</span><span class="o">)</span>
+
+<span class="k">val</span> <span class="n">texts</span><span class="k">:</span> <span class="kt">DataStream</span><span class="o">[</span><span class="kt">String</span><span class="o">]</span> <span class="k">=</span> <span class="o">...</span>
+
+<span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">text</span>
+  <span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="n">line</span> <span class="k">=&gt;</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">)</span> <span class="o">}</span> 
+  <span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">token</span> <span class="k">=&gt;</span> <span class="nc">Word</span><span class="o">(</span><span class="n">token</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span>
+  <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="s">&quot;word&quot;</span><span class="o">)</span>
+  <span class="o">.</span><span class="n">window</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">5</span><span class="o">,</span> <span class="nc">SECONDS</span><span class="o">)).</span><span class="n">every</span><span class="o">(</span><span class="nc">Time</span><span class="o">.</span><span class="n">of</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span> <span class="nc">SECONDS</span><span class="o">))</span>
+  <span class="o">.</span><span class="n">sum</span><span class="o">(</span><span class="s">&quot;freq&quot;</span><span class="o">)</span></code></pre></div>
+
+  </div>
+</div>
+
+<hr />
+
+<!-- Library Ecosystem -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="libraries"><i>Library Ecosystem</i></h1>
+  </div>
+</div>
+<div class="row">
   <div class="col-sm-6">
-    <h1 id="easy-to-use">Easy to Use</h1>
-    <p class="lead">Flink requires few configuration parameters. And the system's bult-in optimizer takes care of finding the best way to execute the program in any enviroment.</p>
-    <p class="lead">Run on YARN with 3 commands, in a stand-alone cluster, or locally in a debugger.</p>
+    <p class="lead">Flink's stack offers libraries with high-level APIs for different use cases: Machine Learning, Graph Analytics, and Relational Data Processing.</p>
+    <p class="lead">The libraries are currently in <i>beta</i> status and are heavily developed.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="/img/features/stack.png" alt="Flink Stack with Libraries" style="width:60%" />
   </div>
-  <div class="col-sm-6 text-center">
-    <img src="/img/assets/optimizer-visual.png" alt="Apache Flink is easy to use" style="width:100%" />
+</div>
+
+<hr />
+
+<!-- --------------------------------------------- -->
+<!--             Ecosystem
+<!-- --------------------------------------------- -->
+
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>Ecosystem</b></h1>
   </div>
 </div>
 
-<!-- Compatible with Hadoop -->
-<div class="row" style="padding: 2em 0 2em 0">
-  <div class="col-sm-6 text-center">
-    <img src="/img/assets/hadoop-img.png" alt="Apache Flink is compatible with Hadoop" style="width:100%" />
+<hr />
+
+<!-- Ecosystem -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="ecosystem"><i>Broad Integration</i></h1>
   </div>
+</div>
+<div class="row">
   <div class="col-sm-6">
-    <h1 id="hadoop">Compatible with Hadoop</h1>
-    <p class="lead">Flink supports all Hadoop input and output formats and data types</p>
-    <p class="lead">You can run your legacy MapReduce operators unmodified and faster on Flink..</p>
-    <p class="lead">Flink can read data from HDFS and HBase, and runs on top of YARN.</p>
+    <p class="lead">Flink is integrated with many other projects in the open-source data processing ecosystem.</p>
+    <p class="lead">Flink runs on YARN, works with HDFS, streams data from Kafka, can execute Hadoop program code, and connects to various other data storage systems.</p>
+  </div>
+  <div class="col-sm-6  img-column">
+    <img src="/img/features/ecosystem_logos.png" alt="Other projects that Flink is integrated with" style="width:75%" />
   </div>
 </div>
 

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/img/features/continuous_streams.png
----------------------------------------------------------------------
diff --git a/content/img/features/continuous_streams.png b/content/img/features/continuous_streams.png
new file mode 100644
index 0000000..885dc51
Binary files /dev/null and b/content/img/features/continuous_streams.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/img/features/distributed_snapshots.png
----------------------------------------------------------------------
diff --git a/content/img/features/distributed_snapshots.png b/content/img/features/distributed_snapshots.png
new file mode 100644
index 0000000..b4575e5
Binary files /dev/null and b/content/img/features/distributed_snapshots.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/img/features/ecosystem_logos.png
----------------------------------------------------------------------
diff --git a/content/img/features/ecosystem_logos.png b/content/img/features/ecosystem_logos.png
new file mode 100644
index 0000000..ad36d8b
Binary files /dev/null and b/content/img/features/ecosystem_logos.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/img/features/exactly_once_state.png
----------------------------------------------------------------------
diff --git a/content/img/features/exactly_once_state.png b/content/img/features/exactly_once_state.png
new file mode 100644
index 0000000..17ed08f
Binary files /dev/null and b/content/img/features/exactly_once_state.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/img/features/iterations.png
----------------------------------------------------------------------
diff --git a/content/img/features/iterations.png b/content/img/features/iterations.png
new file mode 100644
index 0000000..83dd83c
Binary files /dev/null and b/content/img/features/iterations.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/img/features/memory_heap_division.png
----------------------------------------------------------------------
diff --git a/content/img/features/memory_heap_division.png b/content/img/features/memory_heap_division.png
new file mode 100644
index 0000000..2b4c2e2
Binary files /dev/null and b/content/img/features/memory_heap_division.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/img/features/one_runtime.png
----------------------------------------------------------------------
diff --git a/content/img/features/one_runtime.png b/content/img/features/one_runtime.png
new file mode 100644
index 0000000..9cb4363
Binary files /dev/null and b/content/img/features/one_runtime.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/img/features/optimizer_choice.png
----------------------------------------------------------------------
diff --git a/content/img/features/optimizer_choice.png b/content/img/features/optimizer_choice.png
new file mode 100644
index 0000000..1f8004b
Binary files /dev/null and b/content/img/features/optimizer_choice.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/img/features/stack.png
----------------------------------------------------------------------
diff --git a/content/img/features/stack.png b/content/img/features/stack.png
new file mode 100644
index 0000000..2c34722
Binary files /dev/null and b/content/img/features/stack.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/content/img/features/streaming_performance.png
----------------------------------------------------------------------
diff --git a/content/img/features/streaming_performance.png b/content/img/features/streaming_performance.png
new file mode 100644
index 0000000..cf712df
Binary files /dev/null and b/content/img/features/streaming_performance.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/features.md
----------------------------------------------------------------------
diff --git a/features.md b/features.md
index b32d27a..431f8c0 100644
--- a/features.md
+++ b/features.md
@@ -1,250 +1,301 @@
 ---
 title: "Features"
+layout: features
 ---
 
-<!-- System Overview -->
-<div class="row" style="padding: 2em 0 0 0">
-  <div class="col-sm-12">
-    <h1>System Overview</h1>
-    <p class="lead">Flink contains APIs in Java and Scala for analyzing data from batch and streaming data sources, as well as its own optimizer and distributed runtime with custom memory management.</p>
+
+<!-- --------------------------------------------- -->
+<!--                Streaming
+<!-- --------------------------------------------- -->
+
+----
+
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>Streaming</b></h1>
   </div>
 </div>
+
+----
+
+<!-- High Performance -->
 <div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12 text-center">
-    <img src="{{ site.baseurl }}/img/assets/WhatIsFlink.png" alt="Apache Flink is Fast" style="width:100%" />
+  <div class="col-sm-12">
+    <h1 id="performance"><i>High Performance</i></h1>
   </div>
 </div>
-
-<!-- Fast -->
-<div class="row" style="padding: 2em 0 2em 0">
-  <div class="col-sm-6">
-    <h1 id="fast">Fast</h1>
-    <p class="lead">Flink exploits in-memory data streaming and integrates iterative processing deeply into the system runtime.</p>
-    <p class="lead">This makes the system extremely fast for data-intensive and iterative jobs.</p>
+<div class="row">
+  <div class="col-sm-12">
+    <p class="lead">Flink's data streaming runtime achieves high throughput rates and low latencies with little configuration.</p>
   </div>
-  <div class="col-sm-6">
-    <img src="{{ site.baseurl }}/img/assets/pagerank.png" alt="Apache Flink is Fast" style="width:100%" />
+</div>
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12 img-column">
+    <img src="{{ site.baseurl }}/img/features/streaming_performance.png" alt="Performance of data streaming applications" style="width:75%" />
   </div>
 </div>
 
-<!-- Reliable and Scalable -->
-<div class="row" style="padding: 2em 0 2em 0">
-  <div class="col-sm-6 text-center">
-    <img src="{{ site.baseurl }}/img/assets/grep.png" alt="Apache Flink is Fast" style="width:100%" />
+----
+
+<!-- Exactly-once Semantics -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="exactly_once"><i>Exactly-once Semantics for Stateful Computations</i></h1>
   </div>
+</div>
+<div class="row">
   <div class="col-sm-6">
-    <h1 id="reliable-and-scalable">Reliable and Scalable</h1>
-    <p class="lead">Flink is designed to perform well when memory runs out.</p>
-    <p class="lead">Flink contains its own memory management component, serialization framework, and type inference engine.</p>
-    <p class="lead">Tested in clusters of 100s of nodes, Amazon EC2, and Google Compute Engine.</p>
+    <p class="lead">Streaming applications can maintain custom state during their computation.</p>
+    <p class="lead">Flink's checkpointing mechanism ensures <i>exactly once</i> semantics for the state in the presence of failures.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/exactly_once_state.png" alt="Exactly-once Semantics for Stateful Computations" style="width:50%" />
   </div>
 </div>
 
-<!-- Expressive -->
-<div class="row">
-  <div class="col-sm-12">
-    <h1 id="expressive">Expressive</h1>
-    <p class="lead">Write beautiful, type-safe, and maintainable code in Java or Scala. Execute it on a cluster. You can use native Java and Scala data types without packing them into key-value pairs, logical field addressing, and a wealth of operators.</p>
-    <h2>WordCount in Flink's Scala API</h2>
-    {% highlight scala %}
-case class Word (word: String, frequency: Int)
+----
 
-val counts = text
-  .flatMap {line => line.split(" ").map(
-    word => Word(word,1))}
-  .groupBy("word").sum("frequency")
-    {% endhighlight %}
-    <h2>Transitive Closure</h2>
-    {% highlight scala %}
-case class Path (from: Long, to: Long)
-
-val tc = edges.iterate(10) { paths: DataSet[Path] =>
-  val next = paths
-    .join(edges).where("to").equalTo("from") {
-      (path, edge) => Path(path.from, edge.to)
-    }
-    .union(paths).distinct()
-  next
-}
-    {% endhighlight %}
+<!-- Continuous streaming -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="streaming_model"><i>Continuous Streaming Model with Flow Control</i></h1>
   </div>
 </div>
 
-<!-- Easy to Use -->
-<div class="row" style="padding: 2em 0 2em 0">
+<div class="row">
   <div class="col-sm-6">
-    <h1 id="easy-to-use">Easy to Use</h1>
-    <p class="lead">Flink requires few configuration parameters. And the system's bult-in optimizer takes care of finding the best way to execute the program in any enviroment.</p>
-    <p class="lead">Run on YARN with 3 commands, in a stand-alone cluster, or locally in a debugger.</p>
+    <p class="lead">Data streaming applications are executed with continuous (long lived) operators.</p>
+    <p class="lead">Flink's streaming runtime has natural flow control: Slow downstream operators backpressure faster upstream operators.</p>
   </div>
-  <div class="col-sm-6 text-center">
-    <img src="{{ site.baseurl }}/img/assets/optimizer-visual.png" alt="Apache Flink is easy to use" style="width:100%" />
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/continuous_streams.png" alt="Continuous Streaming Model" style="width:60%" />
   </div>
 </div>
 
-<!-- Compatible with Hadoop -->
-<div class="row" style="padding: 2em 0 2em 0">
-  <div class="col-sm-6 text-center">
-    <img src="{{ site.baseurl }}/img/assets/hadoop-img.png" alt="Apache Flink is compatible with Hadoop" style="width:100%" />
+----
+
+<!-- Lightweight distributed snapshots -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="snapshots"><i>Fault-tolerance via Lightweight Distributed Snapshots</i></h1>
   </div>
+</div>
+<div class="row">
   <div class="col-sm-6">
-    <h1 id="hadoop">Compatible with Hadoop</h1>
-    <p class="lead">Flink supports all Hadoop input and output formats and data types</p>
-    <p class="lead">You can run your legacy MapReduce operators unmodified and faster on Flink..</p>
-    <p class="lead">Flink can read data from HDFS and HBase, and runs on top of YARN.</p>
+    <p class="lead">Flink's fault tolerance mechanism is based on Chandy-Lamport distributed snapshots.</p>
+    <p class="lead">The mechanism is lightweight, allowing the system to maintain high throughput rates and provide strong consistency guarantees at the same time.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/distributed_snapshots.png" alt="Lightweight Distributed Snapshots" style="width:40%" />
   </div>
 </div>
 
-{% comment %}
-
-<p class="lead" markdown="span">Get an overview of **how you can use Flink** and its **design**.</p>
+----
 
-{% toc %}
+<!-- --------------------------------------------- -->
+<!--                Batch
+<!-- --------------------------------------------- -->
 
-## Unified Stream &amp; Batch Processing
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>Batch and Streaming in One System</b></h1>
+  </div>
+</div>
 
-<p class="lead" markdown="span">Flink's core is a *distributed streaming dataflow engine*, which efficiently supports both *batch* and *stream processing applications*.</p>
+----
 
+<!-- One Runtime for Streaming and Batch Processing -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="one_runtime"><i>One Runtime for Streaming and Batch Processing</i></h1>
+  </div>
+</div>
 <div class="row">
-  <div class="col-sm-4">
-    <img src="{{ site.baseurl }}/img/runtime.png" alt="Apache Flink Stack" title="Apache Flink Stack" width="100%" />
+  <div class="col-sm-6">
+    <p class="lead">Flink uses one common runtime for data streaming applications and batch processing applications.</p>
+    <p class="lead">Batch processing applications run efficiently as special cases of stream processing applications.</p>
   </div>
-  <div class="col-sm-8" markdown="1">
-
-Programs written with the [fluent programming APIs]() or using the [domain-specific APIs and libraries]() are translated to dataflows for the Flink engine. Flink takes care of data distribution, communication, and fault tolerance.
-
-Batch programs are as a special case of streaming programs as data inside the system is streamed whereever possible, including **pipelined shuffles**.
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/one_runtime.png" alt="Unified Runtime for Batch and Stream Data Analysis" style="width:50%" />
   </div>
 </div>
 
-<hr>
+----
 
-# Programming Flink
 
-## Fluent Programming APIs
+<!-- Memory Management -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="memory_management"><i>Memory Management</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink implements its own memory management inside the JVM.</p>
+    <p class="lead">Applications scale to data sizes beyond main memory and experience less garbage collection overhead.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/memory_heap_division.png" alt="Managed JVM Heap" style="width:50%" />
+  </div>
+</div>
 
-<p class="lead">
-Write beautiful, type-safe, and maintainable code in Java or Scala. You can use native Java and Scala data types without packing them into key-value pairs, logical field addressing, and a wealth of operators.
-</p>
+----
 
+<!-- Iterations -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="iterations"><i>Iterations and Delta Iterations</i></h1>
+  </div>
+</div>
 <div class="row">
-  <!-- DataSet API -->
-  <div class="col-sm-4" markdown="1">
-### DataSet API
+  <div class="col-sm-6">
+    <p class="lead">Flink has dedicated support for iterative computations (as in machine learning and graph analysis).</p>
+    <p class="lead">Delta iterations can exploit computational dependencies for faster convergence.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/iterations.png" alt="Performance of iterations and delta iterations" style="width:75%" />
+  </div>
+</div>
 
-**Batch Processing**. Use the DataSet API to process static inputs. The following example takes an input text and counts all distinct words in it (the infamous [WordCount]() example).
+----
 
-{% highlight java %}
-DataSet<Tuple2<String, Integer>> counts = 
-  text.flatMap(new Tokenizer())
-      .groupBy(0)
-      .sum(1);
-{% endhighlight %}
-
-Check out the [full example code]() and read the [programming guide]() for all features of the DataSet API.
+<!-- Optimizer -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="optimizer"><i>Program Optimizer</i></h1>
   </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Batch programs are automatically optimized to exploit situations where expensive operations (like shuffles and sorts) can be avoided, and when intermediate data should be cached.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/optimizer_choice.png" alt="Optimizer choosing between different execution strategies" style="width:100%" />
+  </div>
+</div>
 
-  <!-- DataStream API -->
-  <div class="col-sm-4" markdown="1">
-### DataStream API
-
-**Stream Processing**. Use the DataStream API to process continuous streams of data. The following example counts all distinct words in a sliding window over the input stream.
+----
 
-{% highlight java %}
-DataStream<Tuple2<String, Integer>> counts =
-  text.flatMap(new Tokenizer())
-      .window(Count.of(windowSize))
-      .every(Count.of(slideSize))
-      .groupBy(0).sum(1);
-{% endhighlight %}
+<!-- --------------------------------------------- -->
+<!--             APIs and Libraries
+<!-- --------------------------------------------- -->
 
-Check out the [full example code]() and read the [streaming guide]() for all features of the DataStream API.
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>APIs and Libraries</b></h1>
   </div>
+</div>
 
-  <!-- Table API -->
-  <div class="col-sm-4" markdown="1">
-### Table API
-
-**Language integrated queries**. Specify operations using SQL-like expressions. These operations work both with static inputs as well as continuous streams.
+----
 
-{% highlight java %}
-Table table = tableEnv.toTable(text);
-Table filtered = table
-  .groupBy("word")
-  .select("word.count as count, word")
-  .filter("count = 2");
+<!-- Batch Processing API -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="batch_api"><i>Batch Processing Applications</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-5">
+    <p class="lead">Flink's <i>DataSet</i> API lets you write beautiful type-safe and maintainable code in Java or Scala. It supports a wide range of data types beyond key/value pairs, and a wealth of operators.</p>
+    <p class="lead">The example shows the core loop of the PageRank algorithm for graphs.</p>
+  </div>
+  <div class="col-sm-7">
+{% highlight scala %}
+case class Page(pageId: Long, rank: Double)
+case class Adjacency(id: Long, neighbors: Array[Long])
+
+val result = initialRanks.iterate(30) { pages =>
+  pages.join(adjacency).where("pageId").equalTo("pageId") {
+
+    (page, adj, out : Collector[Page]) => {
+      out.collect(Page(page.id, 0.15 / numPages))
+        
+      for (n <- adj.neighbors) {
+        out.collect(Page(n, 0.85*page.rank/adj.neighbors.length))
+      }
+    }
+  }
+  .groupBy("pageId").sum("rank")
+}
 {% endhighlight %}
-
-Check out the [full example code]() and read the [Table API guide]() for all features of the Table API.
   </div>
 </div>
 
-<br>
-<hr>
-<br>
-
-## Domain-specific APIs &amp; Libraries
-
-<p class="lead" markdown="1">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod</p>
+----
 
+<!-- Data Streaming API -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="streaming_api"><i>Streaming Data Applications</i></h1>
+  </div>
+</div>
 <div class="row">
-  <div class="col-sm-6" markdown="1">
-### Graph API &amp; Library: Gelly
+  <div class="col-sm-5">
+    <p class="lead">The <i>DataStream</i> API supports functional transformations on data streams, with user-defined state, and flexible windows.</p>
+    <p class="lead">The example shows how to compute a sliding historam of word occurrences of a data stream of texts.</p>
   </div>
+  <div class="col-sm-7">
+    <p class="lead">WindowWordCount in Flink's DataStream API</p>
+{% highlight scala %}
+case class Word(word: String, freq: Long)
 
-  <div class="col-sm-6" markdown="1">
-### Machine Learning Library
+val texts: DataStream[String] = ...
 
+val counts = text
+  .flatMap { line => line.split("\\W+") } 
+  .map { token => Word(token, 1) }
+  .groupBy("word")
+  .window(Time.of(5, SECONDS)).every(Time.of(1, SECONDS))
+  .sum("freq")
+{% endhighlight %}
   </div>
 </div>
 
-<br>
-
-## Deployment and Integration
-
-<p class="lead" markdown="1">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod</p>
-
-<br>
-
-# System Design
-
-## Stateful Operators
-
-Applications that go beyond simple filters or line-by-line transformations of the input need stateful operators. There are three kinds of state that are offered by Flink:
-
-- **User-defined state**: As Flink is a streaming dataflow system, operators are continuously running, and can contain user-defined state in the form of Java/Scala objects. This is the most elementary (but most flexible) operator state, but is not backed up or restored by the system in cases of failures.
+----
 
-- **Managed state**: User-defined operations will be able to use a special interface to put their state into an object that is backed up and restored in case of failures. Flink contains managed state internally, and the community is working on exposing this to the user-facing APIs shortly.
-
-- **Windowed streams**: Flink offers the ability to create a finite stream from an infinite stream using (sliding) windows over the stream. The contents of those windows is special form of state that is managed by the system.
-
-Flink uses a variation of the [Chandy-Lamport algorithm]() for consistent asynchronous distributed snapshots. The state backup works hand-in-hand with checkpoint barriers for stream replay. This allows Flink to give **exactly-once processing guarantees** by replaying parts of a stream, reproducing the results of a user program.
+<!-- Library Ecosystem -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="libraries"><i>Library Ecosystem</i></h1>
+  </div>
+</div>
+<div class="row">
+  <div class="col-sm-6">
+    <p class="lead">Flink's stack offers libraries with high-level APIs for different use cases: Machine Learning, Graph Analytics, and Relational Data Processing.</p>
+    <p class="lead">The libraries are currently in <i>beta</i> status and are heavily developed.</p>
+  </div>
+  <div class="col-sm-6 img-column">
+    <img src="{{ site.baseurl }}/img/features/stack.png" alt="Flink Stack with Libraries" style="width:60%" />
+  </div>
+</div>
 
-## Memory Management
+----
 
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
-tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
-quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
-consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
-cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
-proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+<!-- --------------------------------------------- -->
+<!--             Ecosystem
+<!-- --------------------------------------------- -->
 
+<div class="row" style="padding: 0 0 0 0">
+  <div class="col-sm-12" style="text-align: center;">
+    <h1><b>Ecosystem</b></h1>
+  </div>
+</div>
 
-## Iterative Dataflows
+----
 
+<!-- Ecosystem -->
+<div class="row" style="padding: 0 0 2em 0">
+  <div class="col-sm-12">
+    <h1 id="ecosystem"><i>Broad Integration</i></h1>
+  </div>
+</div>
 <div class="row">
-  <div class="col-sm-4">
-    <img src="{{ site.baseurl }}/img/main/section/pagerank.png" alt="Apache Flink Stack" title="Apache Flink Stack" width="100%" />
+  <div class="col-sm-6">
+    <p class="lead">Flink is integrated with many other projects in the open-source data processing ecosystem.</p>
+    <p class="lead">Flink runs on YARN, works with HDFS, streams data from Kafka, can execute Hadoop program code, and connects to various other data storage systems.</p>
   </div>
-  <div class="col-sm-8" markdown="1">
-
-Flink exploits in-memory data streaming and integrates iterative processing deeply into the system runtime.
-
-This makes the system extremely fast for data-intensive and iterative jobs.
+  <div class="col-sm-6  img-column">
+    <img src="{{ site.baseurl }}/img/features/ecosystem_logos.png" alt="Other projects that Flink is integrated with" style="width:75%" />
   </div>
 </div>
 
-
-## Program Optimizer
-
-{% endcomment %}

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/features_new.md
----------------------------------------------------------------------
diff --git a/features_new.md b/features_new.md
deleted file mode 100644
index c89e16a..0000000
--- a/features_new.md
+++ /dev/null
@@ -1,299 +0,0 @@
----
-title: "Features"
-layout: features
----
-
-
-<!-- --------------------------------------------- -->
-<!--                Streaming
-<!-- --------------------------------------------- -->
-
-----
-
-<div class="row" style="padding: 0 0 0 0">
-  <div class="col-sm-12" style="text-align: center;">
-    <h1><b>Streaming</b></h1>
-  </div>
-</div>
-
-----
-
-<!-- High Performance -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="performance"><i>High Performance</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-6">
-    <p class="lead">Flink's data streaming runtime achieves high throughput rates and low latencies with little configuration.</p>
-  </div>
-  <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/streaming_performance.png" alt="Performance of data streaming applications" style="width:75%" />
-  </div>
-</div>
-
-----
-
-<!-- Exactly-once Semantics -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="exactly_once"><i>Exactly-once Semantics for Stateful Computations</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-6">
-    <p class="lead">Streaming applications can maintain custom state during their computation.</p>
-    <p class="lead">Flink's checkpointing mechanism ensures <i>exactly once</i> semantics for the state in the presence of failures.</p>
-  </div>
-  <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/exactly_once_state.png" alt="Exactly-once Semantics for Stateful Computations" style="width:50%" />
-  </div>
-</div>
-
-----
-
-<!-- Continuous streaming -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="streaming_model"><i>Continuous Streaming Model with Flow Control</i></h1>
-  </div>
-</div>
-
-<div class="row">
-  <div class="col-sm-6">
-    <p class="lead">Data streaming applications are executed with continuous (long lived) operators.</p>
-    <p class="lead">Flink's streaming runtime has natural flow control: Slow downstream operators backpressure faster upstream operators.</p>
-  </div>
-  <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/continuous_streams.png" alt="Continuous Streaming Model" style="width:60%" />
-  </div>
-</div>
-
-----
-
-<!-- Lightweight distributed snapshots -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="snapshots"><i>Fault-tolerance via Lightweight Distributed Snapshots</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-6">
-    <p class="lead">Flink's fault tolerance mechanism is based on Chandy-Lamport distributed snapshots.</p>
-    <p class="lead">The mechanism is lightweight, allowing the system to maintain high throughput rates and provide strong consistency guarantees at the same time.</p>
-  </div>
-  <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/distributed_snapshots.png" alt="Lightweight Distributed Snapshots" style="width:40%" />
-  </div>
-</div>
-
-----
-
-<!-- --------------------------------------------- -->
-<!--                Batch
-<!-- --------------------------------------------- -->
-
-<div class="row" style="padding: 0 0 0 0">
-  <div class="col-sm-12" style="text-align: center;">
-    <h1><b>Batch and Streaming in One System</b></h1>
-  </div>
-</div>
-
-----
-
-<!-- One Runtime for Streaming and Batch Processing -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="one_runtime"><i>One Runtime for Streaming and Batch Processing</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-6">
-    <p class="lead">Flink uses one common runtime for data streaming applications and batch processing applications.</p>
-    <p class="lead">Batch processing applications run efficiently as special cases of stream processing applications.</p>
-  </div>
-  <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/one_runtime.png" alt="Unified Runtime for Batch and Stream Data Analysis" style="width:50%" />
-  </div>
-</div>
-
-----
-
-
-<!-- Memory Management -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="memory_management"><i>Memory Management</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-6">
-    <p class="lead">Flink implements its own memory management inside the JVM.</p>
-    <p class="lead">Applications scale to data sizes beyond main memory and experience less garbage collection overhead.</p>
-  </div>
-  <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/memory_heap_division.png" alt="Managed JVM Heap" style="width:50%" />
-  </div>
-</div>
-
-----
-
-<!-- Iterations -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="iterations"><i>Iterations and Delta Iterations</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-6">
-    <p class="lead">Flink has dedicated support for iterative computations (as in machine learning and graph analysis).</p>
-    <p class="lead">Delta iterations can exploit computational dependencies for faster convergence.</p>
-  </div>
-  <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/iterations.png" alt="Performance of iterations and delta iterations" style="width:75%" />
-  </div>
-</div>
-
-----
-
-<!-- Optimizer -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="optimizer"><i>Program Optimizer</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-6">
-    <p class="lead">Batch programs are automatically optimized to exploit situations where expensive operations (like shuffles and sorts) can be avoided, and when intermediate data should be cached.</p>
-  </div>
-  <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/optimizer_choice.png" alt="Optimizer choosing between different execution strategies" style="width:100%" />
-  </div>
-</div>
-
-----
-
-<!-- --------------------------------------------- -->
-<!--             APIs and Libraries
-<!-- --------------------------------------------- -->
-
-<div class="row" style="padding: 0 0 0 0">
-  <div class="col-sm-12" style="text-align: center;">
-    <h1><b>APIs and Libraries</b></h1>
-  </div>
-</div>
-
-----
-
-<!-- Batch Processing API -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="batch_api"><i>Batch Processing Applications</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-5">
-    <p class="lead">Flink's <i>DataSet</i> API lets you write beautiful type-safe and maintainable code in Java or Scala. It supports a wide range of data types beyond key/value pairs, and a wealth of operators.</p>
-    <p class="lead">The example shows the core loop of the PageRank algorithm for graphs.</p>
-  </div>
-  <div class="col-sm-7">
-{% highlight scala %}
-case class Page(pageId: Long, rank: Double)
-case class Adjacency(id: Long, neighbors: Array[Long])
-
-val result = initialRanks.iterate(30) { pages =>
-  pages.join(adjacency).where("pageId").equalTo("pageId") {
-
-    (page, adj, out : Collector[Page]) => {
-      out.collect(Page(page.id, 0.15 / numPages))
-        
-      for (n <- adj.neighbors) {
-        out.collect(Page(n, 0.85*page.rank/adj.neighbors.length))
-      }
-    }
-  }
-  .groupBy("pageId").sum("rank")
-}
-{% endhighlight %}
-  </div>
-</div>
-
-----
-
-<!-- Data Streaming API -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="streaming_api"><i>Streaming Data Applications</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-5">
-    <p class="lead">The <i>DataStream</i> API supports functional transformations on data streams, with user-defined state, and flexible windows.</p>
-    <p class="lead">The example shows how to compute a sliding historam of word occurrences of a data stream of texts.</p>
-  </div>
-  <div class="col-sm-7">
-    <p class="lead">WindowWordCount in Flink's DataStream API</p>
-{% highlight scala %}
-case class Word(word: String, freq: Long)
-
-val texts: DataStream[String] = ...
-
-val counts = text
-  .flatMap { line => line.split("\\W+") } 
-  .map { token => Word(token, 1) }
-  .groupBy("word")
-  .window(Time.of(5, SECONDS)).every(Time.of(1, SECONDS))
-  .sum("freq")
-{% endhighlight %}
-  </div>
-</div>
-
-----
-
-<!-- Library Ecosystem -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="libraries"><i>Library Ecosystem</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-6">
-    <p class="lead">Flink's stack offers libraries with high-level APIs for different use cases: Machine Learning, Graph Analytics, and Relational Data Processing.</p>
-    <p class="lead">The libraries are currently in <i>beta</i> status and are heavily developed.</p>
-  </div>
-  <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/stack.png" alt="Flink Stack with Libraries" style="width:60%" />
-  </div>
-</div>
-
-----
-
-<!-- --------------------------------------------- -->
-<!--             Ecosystem
-<!-- --------------------------------------------- -->
-
-<div class="row" style="padding: 0 0 0 0">
-  <div class="col-sm-12" style="text-align: center;">
-    <h1><b>Ecosystem</b></h1>
-  </div>
-</div>
-
-----
-
-<!-- Ecosystem -->
-<div class="row" style="padding: 0 0 2em 0">
-  <div class="col-sm-12">
-    <h1 id="ecosystem"><i>Broad Integration</i></h1>
-  </div>
-</div>
-<div class="row">
-  <div class="col-sm-6">
-    <p class="lead">Flink is integrated with many other projects in the open-source data processing ecosystem.</p>
-    <p class="lead">Flink runs on YARN, works with HDFS, streams data from Kafka, can execute Hadoop program code, and connects to various other data storage systems.</p>
-  </div>
-  <div class="col-sm-6  img-column">
-    <img src="{{ site.baseurl }}/img/features/ecosystem_logos.png" alt="Other projects that Flink is integrated with" style="width:75%" />
-  </div>
-</div>
-

http://git-wip-us.apache.org/repos/asf/flink-web/blob/c067b305/img/features/streaming_performance.png
----------------------------------------------------------------------
diff --git a/img/features/streaming_performance.png b/img/features/streaming_performance.png
index c6840f3..cf712df 100644
Binary files a/img/features/streaming_performance.png and b/img/features/streaming_performance.png differ


[03/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/types_serialization.html
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/types_serialization.html b/content/docs/master/internals/types_serialization.html
deleted file mode 100644
index 8472166..0000000
--- a/content/docs/master/internals/types_serialization.html
+++ /dev/null
@@ -1,438 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Type Extraction and Serialization</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Type Extraction and Serialization</h1>
-
-
-
-<p>Flink handles types in a unique way, containing its own type descriptors,
-generic type extraction, and type serialization framework.
-This document describes the concepts and the rationale behind them.</p>
-
-<p>There are fundamental differences in the way that the Scala API and
-the Java API handle type information, so most of the issues described 
-here relate only to one of the to APIs.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#type-handling-in-flink" id="markdown-toc-type-handling-in-flink">Type handling in Flink</a></li>
-  <li><a href="#flinks-typeinformation-class" id="markdown-toc-flinks-typeinformation-class">Flink’s TypeInformation class</a></li>
-  <li><a href="#type-information-in-the-scala-api" id="markdown-toc-type-information-in-the-scala-api">Type Information in the Scala API</a></li>
-  <li><a href="#type-information-in-the-java-api" id="markdown-toc-type-information-in-the-java-api">Type Information in the Java API</a></li>
-</ul>
-
-<h2 id="type-handling-in-flink">Type handling in Flink</h2>
-
-<p>Flink tries to know as much information about what types enter and leave user functions as possible.
-This stands in contrast to the approach to just assuming nothing and letting the
-programming language and serialization framework handle all types dynamically.</p>
-
-<ul>
-  <li>
-    <p>To allow using POJOs and grouping/joining them by referring to field names, Flink needs the type
-information to make checks (for typos and type compatibility) before the job is executed.</p>
-  </li>
-  <li>
-    <p>The more we know, the better serialization and data layout schemes the compiler/optimizer can develop.
-That is quite important for the memory usage paradigm in Flink (work on serialized data
-inside/outside the heap and make serialization very cheap).</p>
-  </li>
-  <li>
-    <p>For the upcoming logical programs (see roadmap draft) we need this to know the “schema” of functions.</p>
-  </li>
-  <li>
-    <p>Finally, it also spares users having to worry about serialization frameworks and having to register
-types at those frameworks.</p>
-  </li>
-</ul>
-
-<h2 id="flinks-typeinformation-class">Flink’s TypeInformation class</h2>
-
-<p>The class <a href="https://github.com/apache/flink/blob/master//flink-core/src/main/java/org/apache/flink/api/common/typeinfo/TypeInformation.java">TypeInformation</a>
-is the base class for all type descriptors. It reveals some basic properties of the type and can generate serializers
-and, in specializations, comparators for the types.
-(<em>Note that comparators in Flink do much more than defining an order - they are basically the utility to handle keys</em>)</p>
-
-<p>Internally, Flink makes the following distinctions between types:</p>
-
-<ul>
-  <li>
-    <p>Basic types: All Java primitives and their boxed form, plus <code>void</code>, <code>String</code>, and <code>Date</code>.</p>
-  </li>
-  <li>
-    <p>Primitive arrays and Object arrays</p>
-  </li>
-  <li>
-    <p>Composite types</p>
-
-    <ul>
-      <li>
-        <p>Flink Java Tuples (part of the Flink Java API)</p>
-      </li>
-      <li>
-        <p>Scala <em>case classes</em> (including Scala tuples)</p>
-      </li>
-      <li>
-        <p>POJOs: classes that follow a certain bean-like pattern</p>
-      </li>
-    </ul>
-  </li>
-  <li>
-    <p>Scala auxiliary types (Option, Either, Lists, Maps, …)</p>
-  </li>
-  <li>
-    <p>Generic types: These will not be serialized by Flink itself, but by Kryo.</p>
-  </li>
-</ul>
-
-<p>POJOs are of particular interest, because they support the creation of complex types and the use of field
-names in the definition of keys: <code>dataSet.join(another).where("name").equalTo("personName")</code>.
-They are also transparent to the runtime and can be handled very efficiently by Flink.</p>
-
-<p><strong>Rules for POJO types</strong></p>
-
-<p>Flink recognizes a data type as a POJO type (and allows “by-name” field referencing) if the following
-conditions are fulfilled:</p>
-
-<ul>
-  <li>The class is public and standalone (no non-static inner class)</li>
-  <li>The class has a public no-argument constructor</li>
-  <li>All fields in the class (and all superclasses) are either public or
-or have a public getter and a setter method that follows the Java beans
-naming conventions for getters and setters.</li>
-</ul>
-
-<h2 id="type-information-in-the-scala-api">Type Information in the Scala API</h2>
-
-<p>Scala has very elaborate concepts for runtime type information though <em>type manifests</em> and <em>class tags</em>. In
-general, types and methods have access to the types of their generic parameters - thus, Scala programs do
-not suffer from type erasure as Java programs do.</p>
-
-<p>In addition, Scala allows to run custom code in the Scala Compiler through Scala Macros - that means that some Flink
-code gets executed whenever you compile a Scala program written against Flink’s Scala API.</p>
-
-<p>We use the Macros to look at the parameter types and return types of all user functions during compilation - that
-is the point in time when certainly all type information is perfectly available. Within the macro, we create
-a <em>TypeInformation</em> for the function’s return types (or parameter types) and make it part of the operation.</p>
-
-<h4 id="no-implicit-value-for-evidence-parameter-error">No Implicit Value for Evidence Parameter Error</h4>
-
-<p>In the case where TypeInformation could not be created, programs fail to compile with an error
-stating <em>“could not find implicit value for evidence parameter of type TypeInformation”</em>.</p>
-
-<p>A frequent reason if that the code that generates the TypeInformation has not been imported.
-Make sure to import the entire flink.api.scala package.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala._</span></code></pre></div>
-
-<p>Another common cause are generic methods, which can be fixed as described in the following section.</p>
-
-<h4 id="generic-methods">Generic Methods</h4>
-
-<p>Consider the following case below:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">def</span><span class="o">[</span><span class="kt">T</span><span class="o">]</span> <span class="n">selectFirst</span><span class="o">(</span><span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">T</span>, <span class="k">_</span><span class="o">)])</span> <span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">T</span><span class="o">]</span> <span class="k">=</span> <span class="o">{</span>
-  <span class="n">input</span><span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">v</span> <span class="k">=&gt;</span> <span class="n">v</span><span class="o">.</span><span class="n">_1</span> <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="k">val</span> <span class="n">data</span> <span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">String</span>, <span class="kt">Long</span><span class="o">)</span> <span class="kt">=</span> <span class="kt">...</span>
-
-<span class="kt">val</span> <span class="kt">result</span> <span class="kt">=</span> <span class="kt">selectFirst</span><span class="o">(</span><span class="kt">data</span><span class="o">)</span></code></pre></div>
-
-<p>For such generic methods, the data types of the function parameters and return type may not be the same
-for every call and are not known at the site where the method is defined. The code above will result
-in an error that not enough implicit evidence is available.</p>
-
-<p>In such cases, the type information has to be generated at the invocation site and passed to the
-method. Scala offers <em>implicit parameters</em> for that.</p>
-
-<p>The following code tells Scala to bring a type information for <em>T</em> into the function. The type
-information will then be generated at the sites where the method is invoked, rather than where the
-method is defined.</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">def</span><span class="o">[</span><span class="kt">T</span> <span class="kt">:</span> <span class="kt">TypeInformation</span><span class="o">]</span> <span class="n">selectFirst</span><span class="o">(</span><span class="n">input</span><span class="k">:</span> <span class="kt">DataSet</span><span class="o">[(</span><span class="kt">T</span>, <span class="k">_</span><span class="o">)])</span> <span class="k">:</span> <span class="kt">DataSet</span><span class="o">[</span><span class="kt">T</span><span class="o">]</span> <span class="k">=</span> <span class="o">{</span>
-  <span class="n">input</span><span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">v</span> <span class="k">=&gt;</span> <span class="n">v</span><span class="o">.</span><span class="n">_1</span> <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<h2 id="type-information-in-the-java-api">Type Information in the Java API</h2>
-
-<p>Java in general erases generic type information. Only for subclasses of generic classes, the subclass
-stores the type to which the generic type variables bind.</p>
-
-<p>Flink uses reflection on the (anonymous) classes that implement the user functions to figure out the types of
-the generic parameters of the function. This logic also contains some simple type inference for cases where
-the return types of functions are dependent on input types, such as in the generic utility method below:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">AppendOne</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="kd">extends</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="kd">public</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="nf">map</span><span class="o">(</span><span class="n">T</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;(</span><span class="n">value</span><span class="o">,</span> <span class="mi">1L</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>Not in all cases can Flink figure out the data types of functions reliably in Java.
-Some issues remain with generic lambdas (we are trying to solve this with the Java community,
-see below) and with generic type variables that we cannot infer.</p>
-
-<h4 id="type-hints-in-the-java-api">Type Hints in the Java API</h4>
-
-<p>To help cases where Flink cannot reconstruct the erased generic type information, the Java API
-offers so called <em>type hints</em> from version 0.9 on. The type hints tell the system the type of
-the data set produced by a function. The following gives an example:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">DataSet</span><span class="o">&lt;</span><span class="n">SomeType</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">dataSet</span>
-    <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MyGenericNonInferrableFunction</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">SomeType</span><span class="o">&gt;())</span>
-        <span class="o">.</span><span class="na">returns</span><span class="o">(</span><span class="n">SomeType</span><span class="o">.</span><span class="na">class</span><span class="o">);</span></code></pre></div>
-
-<p>The <code>returns</code> statement specifies the produced type, in this case via a class. The hints support
-type definition through</p>
-
-<ul>
-  <li>Classes, for non-parameterized types (no generics)</li>
-  <li>Strings in the form of <code>returns("Tuple2&lt;Integer, my.SomeType&gt;")</code>, which are parsed and converted
-to a TypeInformation.</li>
-  <li>A TypeInformation directly</li>
-</ul>
-
-<h4 id="type-extraction-for-java-8-lambdas">Type extraction for Java 8 lambdas</h4>
-
-<p>Type extraction for Java 8 lambdas works differently than for non-lambdas, because lambdas are not associated
-with an implementing class that extends the function interface.</p>
-
-<p>Currently, Flink tries to figure out which method implements the lambda and uses Java’s generic signatures to
-determine the parameter types and the return type. However, these signatures are not generated for lambdas
-by all compilers (as of writing this document only reliably by the Eclipse JDT compiler 4.5 from Milestone 2
-onwards)</p>
-
-<p><strong>Improving Type information for Java Lambdas</strong></p>
-
-<p>One of the Flink committers (Timo Walther) has actually become active in the Eclipse JDT compiler community and
-in the OpenJDK community and submitted patches to the compiler to improve availability of type information 
-available for Java 8 lambdas.</p>
-
-<p>The Eclipse JDT compiler has added support for this as of version 4.5 M4. Discussion about the feature in the
-OpenJDK compiler is pending.</p>
-
-<h4 id="serialization-of-pojo-types">Serialization of POJO types</h4>
-
-<p>The PojoTypeInformation is creating serializers for all the fields inside the POJO. Standard types such as 
-int, long, String etc. are handled by serializers we ship with Flink.
-For all other types, we fall back to Kryo.</p>
-
-<p>If Kryo is not able to handle the type, you can ask the PojoTypeInfo to serialize the POJO using Avro.
-To do so, you have to call</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">enableForceAvro</span><span class="o">();</span></code></pre></div>
-
-<p>Note that Flink is automatically serializing POJOs generated by Avro with the Avro serializer.</p>
-
-<p>If you want your <strong>entire</strong> POJO Type to be treated by the Kryo serializer, set</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-<span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">enableForceKryo</span><span class="o">();</span></code></pre></div>
-
-<p>If Kryo is not able to serialize your POJO, you can add a custom serializer to Kryo, using</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">env</span><span class="o">.</span><span class="na">getConfig</span><span class="o">().</span><span class="na">addDefaultKryoSerializer</span><span class="o">(</span><span class="n">Class</span><span class="o">&lt;?&gt;</span> <span class="n">type</span><span class="o">,</span> <span class="n">Class</span><span class="o">&lt;?</span> <span class="kd">extends</span> <span class="n">Serializer</span><span class="o">&lt;?&gt;&gt;</span> <span class="n">serializerClass</span><span class="o">)</span></code></pre></div>
-
-<p>There are different variants of these methods available.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/LICENSE.txt
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/LICENSE.txt b/content/docs/master/libs/fig/LICENSE.txt
deleted file mode 100644
index 35b8673..0000000
--- a/content/docs/master/libs/fig/LICENSE.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-All image files in the folder and its subfolders are
-licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/gelly-example-graph.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/gelly-example-graph.png b/content/docs/master/libs/fig/gelly-example-graph.png
deleted file mode 100644
index abef960..0000000
Binary files a/content/docs/master/libs/fig/gelly-example-graph.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/gelly-filter.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/gelly-filter.png b/content/docs/master/libs/fig/gelly-filter.png
deleted file mode 100644
index cb09744..0000000
Binary files a/content/docs/master/libs/fig/gelly-filter.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/gelly-gsa-sssp-result.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/gelly-gsa-sssp-result.png b/content/docs/master/libs/fig/gelly-gsa-sssp-result.png
deleted file mode 100644
index 6ae74dd..0000000
Binary files a/content/docs/master/libs/fig/gelly-gsa-sssp-result.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/gelly-gsa-sssp1.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/gelly-gsa-sssp1.png b/content/docs/master/libs/fig/gelly-gsa-sssp1.png
deleted file mode 100644
index 1141e14..0000000
Binary files a/content/docs/master/libs/fig/gelly-gsa-sssp1.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/gelly-gsa-sssp2.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/gelly-gsa-sssp2.png b/content/docs/master/libs/fig/gelly-gsa-sssp2.png
deleted file mode 100644
index edf19b8..0000000
Binary files a/content/docs/master/libs/fig/gelly-gsa-sssp2.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/gelly-reduceOnEdges.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/gelly-reduceOnEdges.png b/content/docs/master/libs/fig/gelly-reduceOnEdges.png
deleted file mode 100644
index ffb674d..0000000
Binary files a/content/docs/master/libs/fig/gelly-reduceOnEdges.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/gelly-reduceOnNeighbors.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/gelly-reduceOnNeighbors.png b/content/docs/master/libs/fig/gelly-reduceOnNeighbors.png
deleted file mode 100644
index 63137b8..0000000
Binary files a/content/docs/master/libs/fig/gelly-reduceOnNeighbors.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/gelly-union.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/gelly-union.png b/content/docs/master/libs/fig/gelly-union.png
deleted file mode 100644
index b00f831..0000000
Binary files a/content/docs/master/libs/fig/gelly-union.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/gelly-vc-sssp1.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/gelly-vc-sssp1.png b/content/docs/master/libs/fig/gelly-vc-sssp1.png
deleted file mode 100644
index 5feab62..0000000
Binary files a/content/docs/master/libs/fig/gelly-vc-sssp1.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/gelly-vc-sssp2.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/gelly-vc-sssp2.png b/content/docs/master/libs/fig/gelly-vc-sssp2.png
deleted file mode 100644
index 67976b3..0000000
Binary files a/content/docs/master/libs/fig/gelly-vc-sssp2.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/spargel_example.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/spargel_example.png b/content/docs/master/libs/fig/spargel_example.png
deleted file mode 100644
index 21d20f8..0000000
Binary files a/content/docs/master/libs/fig/spargel_example.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/libs/fig/spargel_example_input.png
----------------------------------------------------------------------
diff --git a/content/docs/master/libs/fig/spargel_example_input.png b/content/docs/master/libs/fig/spargel_example_input.png
deleted file mode 100644
index 01ead46..0000000
Binary files a/content/docs/master/libs/fig/spargel_example_input.png and /dev/null differ


[13/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/python.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/python.html b/content/docs/master/apis/python.html
deleted file mode 100644
index 08a8a08..0000000
--- a/content/docs/master/apis/python.html
+++ /dev/null
@@ -1,764 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Python Programming Guide</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Python Programming Guide <span class="badge">Beta</span></h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>Analysis programs in Flink are regular programs that implement transformations on data sets
-(e.g., filtering, mapping, joining, grouping). The data sets are initially created from certain
-sources (e.g., by reading files, or from collections). Results are returned via sinks, which may for
-example write the data to (distributed) files, or to standard output (for example the command line
-terminal). Flink programs run in a variety of contexts, standalone, or embedded in other programs.
-The execution can happen in a local JVM, or on clusters of many machines.</p>
-
-<p>In order to create your own Flink program, we encourage you to start with the
-<a href="#program-skeleton">program skeleton</a> and gradually add your own
-<a href="#transformations">transformations</a>. The remaining sections act as references for additional
-operations and advanced features.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#example-program" id="markdown-toc-example-program">Example Program</a></li>
-  <li><a href="#program-skeleton" id="markdown-toc-program-skeleton">Program Skeleton</a></li>
-  <li><a href="#project-setup" id="markdown-toc-project-setup">Project setup</a></li>
-  <li><a href="#lazy-evaluation" id="markdown-toc-lazy-evaluation">Lazy Evaluation</a></li>
-  <li><a href="#transformations" id="markdown-toc-transformations">Transformations</a></li>
-  <li><a href="#specifying-keys" id="markdown-toc-specifying-keys">Specifying Keys</a></li>
-  <li><a href="#passing-functions-to-flink" id="markdown-toc-passing-functions-to-flink">Passing Functions to Flink</a></li>
-  <li><a href="#data-types" id="markdown-toc-data-types">Data Types</a></li>
-  <li><a href="#data-sources" id="markdown-toc-data-sources">Data Sources</a></li>
-  <li><a href="#data-sinks" id="markdown-toc-data-sinks">Data Sinks</a></li>
-  <li><a href="#broadcast-variables" id="markdown-toc-broadcast-variables">Broadcast Variables</a></li>
-  <li><a href="#parallel-execution" id="markdown-toc-parallel-execution">Parallel Execution</a>    <ul>
-      <li><a href="#execution-environment-level" id="markdown-toc-execution-environment-level">Execution Environment Level</a></li>
-      <li><a href="#system-level" id="markdown-toc-system-level">System Level</a></li>
-    </ul>
-  </li>
-  <li><a href="#executing-plans" id="markdown-toc-executing-plans">Executing Plans</a></li>
-  <li><a href="#debugging" id="markdown-toc-debugging">Debugging</a></li>
-</ul>
-
-<h2 id="example-program">Example Program</h2>
-
-<p>The following program is a complete, working example of WordCount. You can copy &amp; paste the code
-to run it locally.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="kn">from</span> <span class="nn">flink.plan.Environment</span> <span class="kn">import</span> <span class="n">get_environment</span>
-<span class="kn">from</span> <span class="nn">flink.plan.Constants</span> <span class="kn">import</span> <span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span>
-<span class="kn">from</span> <span class="nn">flink.functions.GroupReduceFunction</span> <span class="kn">import</span> <span class="n">GroupReduceFunction</span>
-
-<span class="k">class</span> <span class="nc">Adder</span><span class="p">(</span><span class="n">GroupReduceFunction</span><span class="p">):</span>
-  <span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-    <span class="n">count</span><span class="p">,</span> <span class="n">word</span> <span class="o">=</span> <span class="n">iterator</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-    <span class="n">count</span> <span class="o">+=</span> <span class="nb">sum</span><span class="p">([</span><span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">])</span>
-    <span class="n">collector</span><span class="o">.</span><span class="n">collect</span><span class="p">((</span><span class="n">count</span><span class="p">,</span> <span class="n">word</span><span class="p">))</span>
-
-<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span>
-  <span class="n">env</span> <span class="o">=</span> <span class="n">get_environment</span><span class="p">()</span>
-  <span class="n">data</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">from_elements</span><span class="p">(</span><span class="s">&quot;Who&#39;s there?&quot;</span><span class="p">,</span>
-   <span class="s">&quot;I think I hear them. Stand, ho! Who&#39;s there?&quot;</span><span class="p">)</span>
-  
-  <span class="n">data</span> \
-    <span class="o">.</span><span class="n">flat_map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">c</span><span class="p">:</span> <span class="p">[(</span><span class="mi">1</span><span class="p">,</span> <span class="n">word</span><span class="p">)</span> <span class="k">for</span> <span class="n">word</span> <span class="ow">in</span> <span class="n">x</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">()],</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">))</span> \
-    <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> \
-    <span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">Adder</span><span class="p">(),</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">),</span> <span class="n">combinable</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> \
-    <span class="o">.</span><span class="n">output</span><span class="p">()</span>
-  
-  <span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">local</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="program-skeleton">Program Skeleton</h2>
-
-<p>As we already saw in the example, Flink programs look like regular python
-programs with a <code>if __name__ == "__main__":</code> block. Each program consists of the same basic parts:</p>
-
-<ol>
-  <li>Obtain an <code>Environment</code>,</li>
-  <li>Load/create the initial data,</li>
-  <li>Specify transformations on this data,</li>
-  <li>Specify where to put the results of your computations, and</li>
-  <li>Execute your program.</li>
-</ol>
-
-<p>We will now give an overview of each of those steps but please refer to the respective sections for
-more details.</p>
-
-<p>The <code>Environment</code> is the basis for all Flink programs. You can
-obtain one using these static methods on class <code>Environment</code>:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">get_environment</span><span class="p">()</span></code></pre></div>
-
-<p>For specifying data sources the execution environment has several methods
-to read from files. To just read a text file as a sequence of lines, you can use:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">env</span> <span class="o">=</span> <span class="n">get_environment</span><span class="p">()</span>
-<span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">read_text</span><span class="p">(</span><span class="s">&quot;file:///path/to/file&quot;</span><span class="p">)</span></code></pre></div>
-
-<p>This will give you a DataSet on which you can then apply transformations. For
-more information on data sources and input formats, please refer to
-<a href="#data-sources">Data Sources</a>.</p>
-
-<p>Once you have a DataSet you can apply transformations to create a new
-DataSet which you can then write to a file, transform again, or
-combine with other DataSets. You apply transformations by calling
-methods on DataSet with your own custom transformation function. For example,
-a map transformation looks like this:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">*</span><span class="mi">2</span><span class="p">,</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-<p>This will create a new DataSet by doubling every value in the original DataSet. 
-For more information and a list of all the transformations,
-please refer to <a href="#transformations">Transformations</a>.</p>
-
-<p>Once you have a DataSet that needs to be written to disk you can call one
-of these methods on DataSet:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">write_text</span><span class="p">(</span><span class="s">&quot;&lt;file-path&gt;&quot;</span><span class="p">,</span> <span class="n">WriteMode</span><span class="o">=</span><span class="n">Constants</span><span class="o">.</span><span class="n">NO_OVERWRITE</span><span class="p">)</span>
-<span class="n">write_csv</span><span class="p">(</span><span class="s">&quot;&lt;file-path&gt;&quot;</span><span class="p">,</span> <span class="n">line_delimiter</span><span class="o">=</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">field_delimiter</span><span class="o">=</span><span class="s">&#39;,&#39;</span><span class="p">,</span> <span class="n">write_mode</span><span class="o">=</span><span class="n">Constants</span><span class="o">.</span><span class="n">NO_OVERWRITE</span><span class="p">)</span>
-<span class="n">output</span><span class="p">()</span></code></pre></div>
-
-<p>The last method is only useful for developing/debugging on a local machine,
-it will output the contents of the DataSet to standard output. (Note that in
-a cluster, the result goes to the standard out stream of the cluster nodes and ends
-up in the <em>.out</em> files of the workers).
-The first two do as the name suggests. 
-Please refer to <a href="#data-sinks">Data Sinks</a> for more information on writing to files.</p>
-
-<p>Once you specified the complete program you need to call <code>execute</code> on
-the <code>Environment</code>. This will either execute on your local machine or submit your program 
-for execution on a cluster, depending on how Flink was started. You can force
-a local execution by using <code>execute(local=True)</code>.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="project-setup">Project setup</h2>
-
-<p>Apart from setting up Flink, no additional work is required. The python package can be found in the /resource folder of your Flink distribution. The flink package, along with the plan and optional packages are automatically distributed among the cluster via HDFS when running a job.</p>
-
-<p>The Python API was tested on Linux systems that have Python 2.7 or 3.4 installed.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="lazy-evaluation">Lazy Evaluation</h2>
-
-<p>All Flink programs are executed lazily: When the program’s main method is executed, the data loading
-and transformations do not happen directly. Rather, each operation is created and added to the
-program’s plan. The operations are actually executed when one of the <code>execute()</code> methods is invoked
-on the Environment object. Whether the program is executed locally or on a cluster depends
-on the environment of the program.</p>
-
-<p>The lazy evaluation lets you construct sophisticated programs that Flink executes as one
-holistically planned unit.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="transformations">Transformations</h2>
-
-<p>Data transformations transform one or more DataSets into a new DataSet. Programs can combine
-multiple transformations into sophisticated assemblies.</p>
-
-<p>This section gives a brief overview of the available transformations. The <a href="dataset_transformations.html">transformations
-documentation</a> has a full description of all transformations with
-examples.</p>
-
-<p><br /></p>
-
-<table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-    <tr>
-      <td><strong>Map</strong></td>
-      <td>
-        <p>Takes one element and produces one element.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">*</span> <span class="mi">2</span><span class="p">,</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>FlatMap</strong></td>
-      <td>
-        <p>Takes one element and produces zero, one, or more elements. </p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">flat_map</span><span class="p">(</span>
-  <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">c</span><span class="p">:</span> <span class="p">[(</span><span class="mi">1</span><span class="p">,</span><span class="n">word</span><span class="p">)</span> <span class="k">for</span> <span class="n">word</span> <span class="ow">in</span> <span class="n">line</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">x</span><span class="p">],</span>
-  <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">))</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>MapPartition</strong></td>
-      <td>
-        <p>Transforms a parallel partition in a single function call. The function get the partition
-        as an `Iterator` and can produce an arbitrary number of result values. The number of
-        elements in each partition depends on the degree-of-parallelism and previous operations.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">map_partition</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">c</span><span class="p">:</span> <span class="p">[</span><span class="n">value</span> <span class="o">*</span> <span class="mi">2</span> <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">x</span><span class="p">],</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Filter</strong></td>
-      <td>
-        <p>Evaluates a boolean function for each element and retains those for which the function
-        returns true.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">&gt;</span> <span class="mi">1000</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Reduce</strong></td>
-      <td>
-        <p>Combines a group of elements into a single element by repeatedly combining two elements
-        into one. Reduce may be applied on a full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">reduce</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">y</span> <span class="p">:</span> <span class="n">x</span> <span class="o">+</span> <span class="n">y</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>ReduceGroup</strong></td>
-      <td>
-        <p>Combines a group of elements into one or more elements. ReduceGroup may be applied on a
-        full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="k">class</span> <span class="nc">Adder</span><span class="p">(</span><span class="n">GroupReduceFunction</span><span class="p">):</span>
-  <span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-    <span class="n">count</span><span class="p">,</span> <span class="n">word</span> <span class="o">=</span> <span class="n">iterator</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-    <span class="n">count</span> <span class="o">+=</span> <span class="nb">sum</span><span class="p">([</span><span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">)</span>      
-    <span class="n">collector</span><span class="o">.</span><span class="n">collect</span><span class="p">((</span><span class="n">count</span><span class="p">,</span> <span class="n">word</span><span class="p">))</span>
-
-<span class="n">data</span><span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">Adder</span><span class="p">(),</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">))</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    
-      <td><strong>Join</strong></td>
-      <td>
-        Joins two data sets by creating all pairs of elements that are equal on their keys.
-        Optionally uses a JoinFunction to turn the pair of elements into a single element. 
-        See <a href="#specifying-keys">keys</a> on how to define join keys.
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="c"># In this case tuple fields are used as keys. </span>
-<span class="c"># &quot;0&quot; is the join field on the first tuple</span>
-<span class="c"># &quot;1&quot; is the join field on the second tuple.</span>
-<span class="n">result</span> <span class="o">=</span> <span class="n">input1</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">input2</span><span class="p">)</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">equal_to</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    
-
-    <tr>
-      <td><strong>CoGroup</strong></td>
-      <td>
-        <p>The two-dimensional variant of the reduce operation. Groups each input on one or more
-        fields and then joins the groups. The transformation function is called per pair of groups.
-        See <a href="#specifying-keys">keys</a> on how to define coGroup keys.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data1</span><span class="o">.</span><span class="n">co_group</span><span class="p">(</span><span class="n">data2</span><span class="p">)</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">equal_to</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Cross</strong></td>
-      <td>
-        <p>Builds the Cartesian product (cross product) of two inputs, creating all pairs of
-        elements. Optionally uses a CrossFunction to turn the pair of elements into a single
-        element.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">result</span> <span class="o">=</span> <span class="n">data1</span><span class="o">.</span><span class="n">cross</span><span class="p">(</span><span class="n">data2</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Union</strong></td>
-      <td>
-        <p>Produces the union of two data sets.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">union</span><span class="p">(</span><span class="n">data2</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-<p><a href="#top">Back to Top</a></p>
-
-<h2 id="specifying-keys">Specifying Keys</h2>
-
-<p>Some transformations (like Join or CoGroup) require that a key is defined on
-its argument DataSets, and other transformations (Reduce, GroupReduce) allow that the DataSet is grouped on a key before they are
-applied.</p>
-
-<p>A DataSet is grouped as</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">reduced</span> <span class="o">=</span> <span class="n">data</span> \
-  <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="o">&lt;</span><span class="n">define</span> <span class="n">key</span> <span class="n">here</span><span class="o">&gt;</span><span class="p">)</span> \
-  <span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="o">&lt;</span><span class="n">do</span> <span class="n">something</span><span class="o">&gt;</span><span class="p">)</span></code></pre></div>
-
-<p>The data model of Flink is not based on key-value pairs. Therefore,
-you do not need to physically pack the data set types into keys and
-values. Keys are “virtual”: they are defined as functions over the
-actual data to guide the grouping operator.</p>
-
-<h3 class="no_toc" id="define-keys-for-tuples">Define keys for Tuples</h3>
-
-<p>The simplest case is grouping a data set of Tuples on one or more
-fields of the Tuple:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">reduced</span> <span class="o">=</span> <span class="n">data</span> \
-  <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> \
-  <span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="o">&lt;</span><span class="n">do</span> <span class="n">something</span><span class="o">&gt;</span><span class="p">)</span></code></pre></div>
-
-<p>The data set is grouped on the first field of the tuples. 
-The group-reduce function will thus receive groups of tuples with
-the same value in the first field.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">grouped</span> <span class="o">=</span> <span class="n">data</span> \
-  <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> \
-  <span class="o">.</span><span class="n">reduce</span><span class="p">(</span><span class="o">/*</span><span class="n">do</span> <span class="n">something</span><span class="o">*/</span><span class="p">)</span></code></pre></div>
-
-<p>The data set is grouped on the composite key consisting of the first and the
-second fields, therefore the reduce function will receive groups
-with the same value for both fields.</p>
-
-<p>A note on nested Tuples: If you have a DataSet with a nested tuple
-specifying <code>group_by(&lt;index of tuple&gt;)</code> will cause the system to use the full tuple as a key.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="passing-functions-to-flink">Passing Functions to Flink</h2>
-
-<p>Certain operations require user-defined functions, whereas all of them accept lambda functions and rich functions as arguments.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">&gt;</span> <span class="mi">5</span><span class="p">)</span></code></pre></div>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="k">class</span> <span class="nc">Filter</span><span class="p">(</span><span class="n">FilterFunction</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">filter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">value</span> <span class="o">&gt;</span> <span class="mi">5</span>
-
-<span class="n">data</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">Filter</span><span class="p">())</span></code></pre></div>
-
-<p>Rich functions allow the use of imported functions, provide access to broadcast-variables, 
-can be parameterized using <strong>init</strong>(), and are the go-to-option for complex functions.
-They are also the only way to define an optional <code>combine</code> function for a reduce operation.</p>
-
-<p>Lambda functions allow the easy insertion of one-liners. Note that a lambda function has to return
-an iterable, if the operation can return multiple values. (All functions receiving a collector argument)</p>
-
-<p>Flink requires type information at the time when it prepares the program for execution 
-(when the main method of the program is called). This is done by passing an exemplary 
-object that has the desired type. This holds also for tuples.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">)</span></code></pre></div>
-
-<p>Would denote a tuple containing an int and a string. Note that for Operations that work strictly on tuples (like cross), no braces are required.</p>
-
-<p>There are a few Constants defined in flink.plan.Constants that allow this in a more readable fashion.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="data-types">Data Types</h2>
-
-<p>Flink’s Python API currently only supports primitive python types (int, float, bool, string) and byte arrays.</p>
-
-<h4 id="tupleslists">Tuples/Lists</h4>
-
-<p>You can use the tuples (or lists) for composite types. Python tuples are mapped to the Flink Tuple type, that contain 
-a fix number of fields of various types (up to 25). Every field of a tuple can be a primitive type - including further tuples, resulting in nested tuples.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">word_counts</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">from_elements</span><span class="p">((</span><span class="s">&quot;hello&quot;</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;world&quot;</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span>
-
-<span class="n">counts</span> <span class="o">=</span> <span class="n">word_counts</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-<p>When working with operators that require a Key for grouping or matching records,
-Tuples let you simply specify the positions of the fields to be used as key. You can specify more
-than one position to use composite keys (see <a href="#transformations">Section Data Transformations</a>).</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">wordCounts</span> \
-    <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> \
-    <span class="o">.</span><span class="n">reduce</span><span class="p">(</span><span class="n">MyReduceFunction</span><span class="p">())</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="data-sources">Data Sources</h2>
-
-<p>Data sources create the initial data sets, such as from files or from collections.</p>
-
-<p>File-based:</p>
-
-<ul>
-  <li><code>read_text(path)</code> - Reads files line wise and returns them as Strings.</li>
-  <li><code>read_csv(path, type)</code> - Parses files of comma (or another char) delimited fields.
-Returns a DataSet of tuples. Supports the basic java types and their Value counterparts as field
-types.</li>
-</ul>
-
-<p>Collection-based:</p>
-
-<ul>
-  <li><code>from_elements(*args)</code> - Creates a data set from a Seq. All elements</li>
-</ul>
-
-<p><strong>Examples</strong></p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">env</span>  <span class="o">=</span> <span class="n">get_environment</span>
-
-<span class="c"># read text file from local files system</span>
-<span class="n">localLiens</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">read_text</span><span class="p">(</span><span class="s">&quot;file:#/path/to/my/textfile&quot;</span><span class="p">)</span>
-
- <span class="n">read</span> <span class="n">text</span> <span class="nb">file</span> <span class="kn">from</span> <span class="nn">a</span> <span class="nn">HDFS</span> <span class="nn">running</span> <span class="nn">at</span> <span class="nn">nnHost</span><span class="p">:</span><span class="n">nnPort</span>
-<span class="n">hdfsLines</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">read_text</span><span class="p">(</span><span class="s">&quot;hdfs://nnHost:nnPort/path/to/my/textfile&quot;</span><span class="p">)</span>
-
- <span class="n">read</span> <span class="n">a</span> <span class="n">CSV</span> <span class="nb">file</span> <span class="k">with</span> <span class="n">three</span> <span class="n">fields</span>
-<span class="n">csvInput</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s">&quot;hdfs:///the/CSV/file&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">,</span> <span class="n">DOUBLE</span><span class="p">))</span>
-
- <span class="n">create</span> <span class="n">a</span> <span class="nb">set</span> <span class="kn">from</span> <span class="nn">some</span> <span class="nn">given</span> <span class="nn">elements</span>
-<span class="n">values</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">from_elements</span><span class="p">(</span><span class="s">&quot;Foo&quot;</span><span class="p">,</span> <span class="s">&quot;bar&quot;</span><span class="p">,</span> <span class="s">&quot;foobar&quot;</span><span class="p">,</span> <span class="s">&quot;fubar&quot;</span><span class="p">)</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="data-sinks">Data Sinks</h2>
-
-<p>Data sinks consume DataSets and are used to store or return them:</p>
-
-<ul>
-  <li><code>write_text()</code> - Writes elements line-wise as Strings. The Strings are
-obtained by calling the <em>str()</em> method of each element.</li>
-  <li><code>write_csv(...)</code> - Writes tuples as comma-separated value files. Row and field
-delimiters are configurable. The value for each field comes from the <em>str()</em> method of the objects.</li>
-  <li><code>output()</code> - Prints the <em>str()</em> value of each element on the
-standard out.</li>
-</ul>
-
-<p>A DataSet can be input to multiple operations. Programs can write or print a data set and at the
-same time run additional transformations on them.</p>
-
-<p><strong>Examples</strong></p>
-
-<p>Standard data sink methods:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">write</span> <span class="nc">DataSet</span> <span class="n">to</span> <span class="n">a</span> <span class="n">file</span> <span class="n">on</span> <span class="n">the</span> <span class="n">local</span> <span class="n">file</span> <span class="n">system</span>
-<span class="n">textData</span><span class="o">.</span><span class="n">write_text</span><span class="o">(</span><span class="s">&quot;file:///my/result/on/localFS&quot;</span><span class="o">)</span>
-
- <span class="n">write</span> <span class="nc">DataSet</span> <span class="n">to</span> <span class="n">a</span> <span class="n">file</span> <span class="n">on</span> <span class="n">a</span> <span class="nc">HDFS</span> <span class="k">with</span> <span class="n">a</span> <span class="n">namenode</span> <span class="n">running</span> <span class="n">at</span> <span class="n">nnHost</span><span class="k">:</span><span class="kt">nnPort</span>
-<span class="n">textData</span><span class="o">.</span><span class="n">write_text</span><span class="o">(</span><span class="s">&quot;hdfs://nnHost:nnPort/my/result/on/localFS&quot;</span><span class="o">)</span>
-
- <span class="n">write</span> <span class="nc">DataSet</span> <span class="n">to</span> <span class="n">a</span> <span class="n">file</span> <span class="n">and</span> <span class="n">overwrite</span> <span class="n">the</span> <span class="n">file</span> <span class="k">if</span> <span class="n">it</span> <span class="n">exists</span>
-<span class="n">textData</span><span class="o">.</span><span class="n">write_text</span><span class="o">(</span><span class="s">&quot;file:///my/result/on/localFS&quot;</span><span class="o">,</span> <span class="nc">WriteMode</span><span class="o">.</span><span class="nc">OVERWRITE</span><span class="o">)</span>
-
- <span class="n">tuples</span> <span class="n">as</span> <span class="n">lines</span> <span class="k">with</span> <span class="n">pipe</span> <span class="n">as</span> <span class="n">the</span> <span class="n">separator</span> <span class="s">&quot;a|b|c&quot;</span>
-<span class="n">values</span><span class="o">.</span><span class="n">write_csv</span><span class="o">(</span><span class="s">&quot;file:///path/to/the/result/file&quot;</span><span class="o">,</span> <span class="n">line_delimiter</span><span class="o">=</span><span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="n">field_delimiter</span><span class="o">=</span><span class="s">&quot;|&quot;</span><span class="o">)</span>
-
- <span class="k">this</span> <span class="n">writes</span> <span class="n">tuples</span> <span class="n">in</span> <span class="n">the</span> <span class="n">text</span> <span class="n">formatting</span> <span class="s">&quot;(a, b, c)&quot;</span><span class="o">,</span> <span class="n">rather</span> <span class="n">than</span> <span class="n">as</span> <span class="nc">CSV</span> <span class="n">lines</span>
-<span class="n">values</span><span class="o">.</span><span class="n">write_text</span><span class="o">(</span><span class="s">&quot;file:///path/to/the/result/file&quot;</span><span class="o">)</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="broadcast-variables">Broadcast Variables</h2>
-
-<p>Broadcast variables allow you to make a data set available to all parallel instances of an
-operation, in addition to the regular input of the operation. This is useful for auxiliary data
-sets, or data-dependent parameterization. The data set will then be accessible at the operator as a
-Collection.</p>
-
-<ul>
-  <li><strong>Broadcast</strong>: broadcast sets are registered by name via <code>with_broadcast_set(DataSet, String)</code></li>
-  <li><strong>Access</strong>: accessible via <code>self.context.get_broadcast_variable(String)</code> at the target operator</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="k">class</span> <span class="nc">MapperBcv</span><span class="p">(</span><span class="n">MapFunction</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">map</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-        <span class="n">factor</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">get_broadcast_variable</span><span class="p">(</span><span class="s">&quot;bcv&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
-        <span class="k">return</span> <span class="n">value</span> <span class="o">*</span> <span class="n">factor</span>
-
-<span class="c"># 1. The DataSet to be broadcasted</span>
-<span class="n">toBroadcast</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">from_elements</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> 
-<span class="n">data</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">from_elements</span><span class="p">(</span><span class="s">&quot;a&quot;</span><span class="p">,</span> <span class="s">&quot;b&quot;</span><span class="p">)</span>
-
-<span class="c"># 2. Broadcast the DataSet</span>
-<span class="n">data</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="n">MapperBcv</span><span class="p">(),</span> <span class="n">INT</span><span class="p">)</span><span class="o">.</span><span class="n">with_broadcast_set</span><span class="p">(</span><span class="s">&quot;bcv&quot;</span><span class="p">,</span> <span class="n">toBroadcast</span><span class="p">)</span></code></pre></div>
-
-<p>Make sure that the names (<code>bcv</code> in the previous example) match when registering and
-accessing broadcasted data sets.</p>
-
-<p><strong>Note</strong>: As the content of broadcast variables is kept in-memory on each node, it should not become
-too large. For simpler things like scalar values you can simply parameterize the rich function.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="parallel-execution">Parallel Execution</h2>
-
-<p>This section describes how the parallel execution of programs can be configured in Flink. A Flink
-program consists of multiple tasks (operators, data sources, and sinks). A task is split into
-several parallel instances for execution and each parallel instance processes a subset of the task’s
-input data. The number of parallel instances of a task is called its <em>parallelism</em> or <em>degree of
-parallelism (DOP)</em>.</p>
-
-<p>The degree of parallelism of a task can be specified in Flink on different levels.</p>
-
-<h3 id="execution-environment-level">Execution Environment Level</h3>
-
-<p>Flink programs are executed in the context of an <a href="#program-skeleton">execution environmentt</a>. An
-execution environment defines a default parallelism for all operators, data sources, and data sinks
-it executes. Execution environment parallelism can be overwritten by explicitly configuring the
-parallelism of an operator.</p>
-
-<p>The default parallelism of an execution environment can be specified by calling the
-<code>set_degree_of_parallelism()</code> method. To execute all operators, data sources, and data sinks of the
-<a href="#example-program">WordCount</a> example program with a parallelism of <code>3</code>, set the default parallelism of the
-execution environment as follows:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">env</span> <span class="o">=</span> <span class="n">get_environment</span><span class="p">()</span>
-<span class="n">env</span><span class="o">.</span><span class="n">set_degree_of_parallelism</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
-
-<span class="n">text</span><span class="o">.</span><span class="n">flat_map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">c</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(),</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">))</span> \
-    <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> \
-    <span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">Adder</span><span class="p">(),</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">),</span> <span class="n">combinable</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> \
-    <span class="o">.</span><span class="n">output</span><span class="p">()</span>
-
-<span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span></code></pre></div>
-
-<h3 id="system-level">System Level</h3>
-
-<p>A system-wide default parallelism for all execution environments can be defined by setting the
-<code>parallelization.degree.default</code> property in <code>./conf/flink-conf.yaml</code>. See the
-<a href="config.html">Configuration</a> documentation for details.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="executing-plans">Executing Plans</h2>
-
-<p>To run the plan with Flink, go to your Flink distribution, and run the pyflink.sh script from the /bin folder. 
-use pyflink2.sh for python 2.7, and pyflink3.sh for python 3.4. The script containing the plan has to be passed 
-as the first argument, followed by a number of additional python packages, and finally, separated by - additional 
-arguments that will be fed to the script.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="o">./</span><span class="nb">bin</span><span class="o">/</span><span class="n">pyflink</span><span class="o">&lt;</span><span class="mi">2</span><span class="o">/</span><span class="mi">3</span><span class="o">&gt;.</span><span class="n">sh</span> <span class="o">&lt;</span><span class="n">Script</span><span class="o">&gt;</span><span class="p">[</span> <span class="o">&lt;</span><span class="n">pathToPackage1</span><span class="o">&gt;</span><span class="p">[</span> <span class="o">&lt;</span><span class="n">pathToPackageX</span><span class="p">]][</span> <span class="o">-</span> <span class="o">&lt;</span><span class="n">param1</span><span class="o">&gt;</span><span class="p">[</span> <span class="o">&lt;</span><span class="n">paramX</span><span class="o">&gt;</span><span class="p">]]</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="debugging">Debugging</h2>
-
-<p>If you are running Flink programs locally, you can debug your program following this guide.
-First you have to enable debugging by setting the debug switch in the <code>env.execute(debug=True)</code> call. After
-submitting your program, open the jobmanager log file, and look for a line that says 
-<code>Waiting for external Process : &lt;taskname&gt;. Run python /tmp/flink/executor.py &lt;port&gt;</code> Now open <code>/tmp/flink</code> in your python
-IDE and run the <code>executor.py &lt;port&gt;</code>.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[55/68] [abbrv] flink-web git commit: fix typo

Posted by an...@apache.org.
fix typo


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/f111b1f9
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/f111b1f9
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/f111b1f9

Branch: refs/heads/master
Commit: f111b1f9d9e078a736fa4406a6951c8e54999672
Parents: 094bb9b
Author: Maximilian Michels <mx...@apache.org>
Authored: Wed Jul 1 12:13:23 2015 +0200
Committer: Maximilian Michels <mx...@apache.org>
Committed: Wed Jul 1 12:13:42 2015 +0200

----------------------------------------------------------------------
 content/downloads.html | 2 +-
 downloads.md           | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/f111b1f9/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index f0e7236..d890ddf 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -218,7 +218,7 @@ $( document ).ready(function() {
 <ul>
   <li>Flink 0.9.0-milestone-1 (<a href="http://archive.apache.org/dist/flink/flink-0.9.0-milestone-1/">Jars</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/">Docs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/java">Javadocs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/scala/index.html">ScalaDocs</a>)</li>
   <li>Flink 0.8.1 (<a href="http://archive.apache.org/dist/flink/flink-0.8.1/">Jars</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8.1/">Docs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8.1/api/java">Javadocs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8.1/api/scala/index.html">ScalaDocs</a>)</li>
-  <li>Flink 0.8.0 (<a href="http://archive.apache.org/dist/flink/flink-0.8.0/">Jars</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8.1/">Docs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8.0/api/java">Javadocs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8.0/api/scala/index.html">ScalaDocs</a>)</li>
+  <li>Flink 0.8.0 (<a href="http://archive.apache.org/dist/flink/flink-0.8.0/">Jars</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8.0/">Docs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8.0/api/java">Javadocs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8.0/api/scala/index.html">ScalaDocs</a>)</li>
   <li>Flink 0.7.0-incubating (<a href="http://archive.apache.org/dist/incubator/flink/flink-0.7.0-incubating/">Jars</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.7/">Docs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.7/api/java">Javadocs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.7/api/scala/index.html">ScalaDocs</a>)</li>
   <li>Flink 0.6.1-incubating (<a href="http://archive.apache.org/dist/incubator/flink/flink-0.6.1-incubating/">Jars</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.6.1/">Docs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.6.1/api/java">Javadocs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.6.1/api/scala/index.html">ScalaDocs</a>)</li>
   <li>Flink 0.6-incubating (<a href="http://archive.apache.org/dist/incubator/flink/">Jars</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.6/">Docs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.6/api/java">Javadocs</a>, <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.6/api/scala/index.html">ScalaDocs</a>)</li>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f111b1f9/downloads.md
----------------------------------------------------------------------
diff --git a/downloads.md b/downloads.md
index 1bc5dfb..b696d7e 100644
--- a/downloads.md
+++ b/downloads.md
@@ -69,7 +69,7 @@ These dependencies include a local execution environment and thus support local
 
 - Flink 0.9.0-milestone-1 ([Jars](http://archive.apache.org/dist/flink/flink-0.9.0-milestone-1/), [Docs]({{site.DOCS_BASE_URL}}flink-docs-release-0.9/), [Javadocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.9/api/java), [ScalaDocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.9/api/scala/index.html))
 - Flink 0.8.1 ([Jars](http://archive.apache.org/dist/flink/flink-0.8.1/), [Docs]({{site.DOCS_BASE_URL}}flink-docs-release-0.8.1/), [Javadocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.8.1/api/java), [ScalaDocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.8.1/api/scala/index.html))
-- Flink 0.8.0 ([Jars](http://archive.apache.org/dist/flink/flink-0.8.0/), [Docs]({{site.DOCS_BASE_URL}}flink-docs-release-0.8.1/), [Javadocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.8.0/api/java), [ScalaDocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.8.0/api/scala/index.html))
+- Flink 0.8.0 ([Jars](http://archive.apache.org/dist/flink/flink-0.8.0/), [Docs]({{site.DOCS_BASE_URL}}flink-docs-release-0.8.0/), [Javadocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.8.0/api/java), [ScalaDocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.8.0/api/scala/index.html))
 - Flink 0.7.0-incubating ([Jars](http://archive.apache.org/dist/incubator/flink/flink-0.7.0-incubating/), [Docs]({{site.DOCS_BASE_URL}}flink-docs-release-0.7/), [Javadocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.7/api/java), [ScalaDocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.7/api/scala/index.html))
 - Flink 0.6.1-incubating ([Jars](http://archive.apache.org/dist/incubator/flink/flink-0.6.1-incubating/), [Docs]({{site.DOCS_BASE_URL}}flink-docs-release-0.6.1/), [Javadocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.6.1/api/java), [ScalaDocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.6.1/api/scala/index.html))
 - Flink 0.6-incubating ([Jars](http://archive.apache.org/dist/incubator/flink/), [Docs]({{site.DOCS_BASE_URL}}flink-docs-release-0.6/), [Javadocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.6/api/java), [ScalaDocs]({{site.DOCS_BASE_URL}}flink-docs-release-0.6/api/scala/index.html))


[53/68] [abbrv] flink-web git commit: Revert "[fixup] Comment out rewrite rules"

Posted by an...@apache.org.
Revert "[fixup] Comment out rewrite rules"

This reverts commit afdf92eba378a8954aecc4d8a7f59c9f1813a07c.


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/bf8c8539
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/bf8c8539
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/bf8c8539

Branch: refs/heads/master
Commit: bf8c853939975e52b27639ef1be88b5d3a2426be
Parents: a5d9d9c
Author: Maximilian Michels <mx...@apache.org>
Authored: Wed Jul 1 11:57:41 2015 +0200
Committer: Maximilian Michels <mx...@apache.org>
Committed: Wed Jul 1 11:57:41 2015 +0200

----------------------------------------------------------------------
 .htaccess         | 12 ++++++------
 content/.htaccess | 12 ++++++------
 2 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/bf8c8539/.htaccess
----------------------------------------------------------------------
diff --git a/.htaccess b/.htaccess
index 8dbb298..d239da5 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,9 +1,9 @@
 # redirect rules to prevent old links from breaking
 RewriteEngine On
 
-#RewriteRule ^/?docs/0.6-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.6/$1  [R=301,L,NE]
-#RewriteRule ^/?docs/0.7-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.7/$1  [R=301,L,NE]
-#RewriteRule ^/?docs/0.8/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.8/$1  [R=301,L,NE]
-#RewriteRule ^/?docs/latest(/.*)? http://ci.apache.org/projects/flink/flink-docs-master$1  [R=301,L,NE]
-#RewriteRule ^/?docs/stable(/.*)? http://ci.apache.org/projects/flink/flink-docs-release-0.8$1  [R=301,L,NE]
-#RewriteRule ^/?docs/(.*) http://ci.apache.org/projects/flink/flink-docs-master/$1  [R=301,L,NE]
+RewriteRule ^/?docs/0.6-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.6/$1  [R=301,L,NE]
+RewriteRule ^/?docs/0.7-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.7/$1  [R=301,L,NE]
+RewriteRule ^/?docs/0.8/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.8/$1  [R=301,L,NE]
+RewriteRule ^/?docs/latest(/.*)? http://ci.apache.org/projects/flink/flink-docs-master$1  [R=301,L,NE]
+RewriteRule ^/?docs/stable(/.*)? http://ci.apache.org/projects/flink/flink-docs-release-0.8$1  [R=301,L,NE]
+RewriteRule ^/?docs/(.*) http://ci.apache.org/projects/flink/flink-docs-master/$1  [R=301,L,NE]

http://git-wip-us.apache.org/repos/asf/flink-web/blob/bf8c8539/content/.htaccess
----------------------------------------------------------------------
diff --git a/content/.htaccess b/content/.htaccess
index 8dbb298..d239da5 100644
--- a/content/.htaccess
+++ b/content/.htaccess
@@ -1,9 +1,9 @@
 # redirect rules to prevent old links from breaking
 RewriteEngine On
 
-#RewriteRule ^/?docs/0.6-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.6/$1  [R=301,L,NE]
-#RewriteRule ^/?docs/0.7-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.7/$1  [R=301,L,NE]
-#RewriteRule ^/?docs/0.8/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.8/$1  [R=301,L,NE]
-#RewriteRule ^/?docs/latest(/.*)? http://ci.apache.org/projects/flink/flink-docs-master$1  [R=301,L,NE]
-#RewriteRule ^/?docs/stable(/.*)? http://ci.apache.org/projects/flink/flink-docs-release-0.8$1  [R=301,L,NE]
-#RewriteRule ^/?docs/(.*) http://ci.apache.org/projects/flink/flink-docs-master/$1  [R=301,L,NE]
+RewriteRule ^/?docs/0.6-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.6/$1  [R=301,L,NE]
+RewriteRule ^/?docs/0.7-incubating/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.7/$1  [R=301,L,NE]
+RewriteRule ^/?docs/0.8/(.*) http://ci.apache.org/projects/flink/flink-docs-release-0.8/$1  [R=301,L,NE]
+RewriteRule ^/?docs/latest(/.*)? http://ci.apache.org/projects/flink/flink-docs-master$1  [R=301,L,NE]
+RewriteRule ^/?docs/stable(/.*)? http://ci.apache.org/projects/flink/flink-docs-release-0.8$1  [R=301,L,NE]
+RewriteRule ^/?docs/(.*) http://ci.apache.org/projects/flink/flink-docs-master/$1  [R=301,L,NE]


[63/68] [abbrv] flink-web git commit: Beautified figures in new features page

Posted by an...@apache.org.
Beautified figures in new features page


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/12993285
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/12993285
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/12993285

Branch: refs/heads/master
Commit: 1299328528c91cf2dbbb0a4466c4f00afd2ef8bc
Parents: a715a56
Author: Kostas Tzoumas <ko...@gmail.com>
Authored: Mon Jul 13 19:41:58 2015 +0200
Committer: Kostas Tzoumas <ko...@gmail.com>
Committed: Mon Jul 13 19:41:58 2015 +0200

----------------------------------------------------------------------
 features_new.md                        |   6 +++---
 img/features/continuous_streams.png    | Bin 37006 -> 45433 bytes
 img/features/distributed_snapshots.png | Bin 32838 -> 51039 bytes
 img/features/exactly_once_state.png    | Bin 10381 -> 11460 bytes
 img/features/iterations.png            | Bin 135851 -> 135824 bytes
 img/features/memory_heap_division.png  | Bin 28333 -> 42006 bytes
 img/features/one_runtime.png           | Bin 16913 -> 32450 bytes
 img/features/optimizer_choice.png      | Bin 13317 -> 32423 bytes
 8 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/12993285/features_new.md
----------------------------------------------------------------------
diff --git a/features_new.md b/features_new.md
index 4f49d01..c89e16a 100644
--- a/features_new.md
+++ b/features_new.md
@@ -47,7 +47,7 @@ layout: features
     <p class="lead">Flink's checkpointing mechanism ensures <i>exactly once</i> semantics for the state in the presence of failures.</p>
   </div>
   <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/exactly_once_state.png" alt="Exactly-once Semantics for Stateful Computations" style="width:40%" />
+    <img src="{{ site.baseurl }}/img/features/exactly_once_state.png" alt="Exactly-once Semantics for Stateful Computations" style="width:50%" />
   </div>
 </div>
 
@@ -114,7 +114,7 @@ layout: features
     <p class="lead">Batch processing applications run efficiently as special cases of stream processing applications.</p>
   </div>
   <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/one_runtime.png" alt="Unified Runtime for Batch and Stream Data Analysis" style="width:75%" />
+    <img src="{{ site.baseurl }}/img/features/one_runtime.png" alt="Unified Runtime for Batch and Stream Data Analysis" style="width:50%" />
   </div>
 </div>
 
@@ -168,7 +168,7 @@ layout: features
     <p class="lead">Batch programs are automatically optimized to exploit situations where expensive operations (like shuffles and sorts) can be avoided, and when intermediate data should be cached.</p>
   </div>
   <div class="col-sm-6 img-column">
-    <img src="{{ site.baseurl }}/img/features/optimizer_choice.png" alt="Optimizer choosing between different execution strategies" style="width:40%" />
+    <img src="{{ site.baseurl }}/img/features/optimizer_choice.png" alt="Optimizer choosing between different execution strategies" style="width:100%" />
   </div>
 </div>
 

http://git-wip-us.apache.org/repos/asf/flink-web/blob/12993285/img/features/continuous_streams.png
----------------------------------------------------------------------
diff --git a/img/features/continuous_streams.png b/img/features/continuous_streams.png
index a4bb16b..885dc51 100644
Binary files a/img/features/continuous_streams.png and b/img/features/continuous_streams.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/12993285/img/features/distributed_snapshots.png
----------------------------------------------------------------------
diff --git a/img/features/distributed_snapshots.png b/img/features/distributed_snapshots.png
index 9594f27..b4575e5 100644
Binary files a/img/features/distributed_snapshots.png and b/img/features/distributed_snapshots.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/12993285/img/features/exactly_once_state.png
----------------------------------------------------------------------
diff --git a/img/features/exactly_once_state.png b/img/features/exactly_once_state.png
index 6b6d4df..17ed08f 100644
Binary files a/img/features/exactly_once_state.png and b/img/features/exactly_once_state.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/12993285/img/features/iterations.png
----------------------------------------------------------------------
diff --git a/img/features/iterations.png b/img/features/iterations.png
index 989564e..83dd83c 100644
Binary files a/img/features/iterations.png and b/img/features/iterations.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/12993285/img/features/memory_heap_division.png
----------------------------------------------------------------------
diff --git a/img/features/memory_heap_division.png b/img/features/memory_heap_division.png
index e0807b0..2b4c2e2 100644
Binary files a/img/features/memory_heap_division.png and b/img/features/memory_heap_division.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/12993285/img/features/one_runtime.png
----------------------------------------------------------------------
diff --git a/img/features/one_runtime.png b/img/features/one_runtime.png
index 94453a6..9cb4363 100644
Binary files a/img/features/one_runtime.png and b/img/features/one_runtime.png differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/12993285/img/features/optimizer_choice.png
----------------------------------------------------------------------
diff --git a/img/features/optimizer_choice.png b/img/features/optimizer_choice.png
index e64ca1e..1f8004b 100644
Binary files a/img/features/optimizer_choice.png and b/img/features/optimizer_choice.png differ


[43/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/apis/python.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/apis/python.html b/content/docs/0.9/apis/python.html
deleted file mode 100644
index ad0c507..0000000
--- a/content/docs/0.9/apis/python.html
+++ /dev/null
@@ -1,764 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Python Programming Guide</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Python Programming Guide <span class="badge">Beta</span></h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>Analysis programs in Flink are regular programs that implement transformations on data sets
-(e.g., filtering, mapping, joining, grouping). The data sets are initially created from certain
-sources (e.g., by reading files, or from collections). Results are returned via sinks, which may for
-example write the data to (distributed) files, or to standard output (for example the command line
-terminal). Flink programs run in a variety of contexts, standalone, or embedded in other programs.
-The execution can happen in a local JVM, or on clusters of many machines.</p>
-
-<p>In order to create your own Flink program, we encourage you to start with the
-<a href="#program-skeleton">program skeleton</a> and gradually add your own
-<a href="#transformations">transformations</a>. The remaining sections act as references for additional
-operations and advanced features.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#example-program" id="markdown-toc-example-program">Example Program</a></li>
-  <li><a href="#program-skeleton" id="markdown-toc-program-skeleton">Program Skeleton</a></li>
-  <li><a href="#project-setup" id="markdown-toc-project-setup">Project setup</a></li>
-  <li><a href="#lazy-evaluation" id="markdown-toc-lazy-evaluation">Lazy Evaluation</a></li>
-  <li><a href="#transformations" id="markdown-toc-transformations">Transformations</a></li>
-  <li><a href="#specifying-keys" id="markdown-toc-specifying-keys">Specifying Keys</a></li>
-  <li><a href="#passing-functions-to-flink" id="markdown-toc-passing-functions-to-flink">Passing Functions to Flink</a></li>
-  <li><a href="#data-types" id="markdown-toc-data-types">Data Types</a></li>
-  <li><a href="#data-sources" id="markdown-toc-data-sources">Data Sources</a></li>
-  <li><a href="#data-sinks" id="markdown-toc-data-sinks">Data Sinks</a></li>
-  <li><a href="#broadcast-variables" id="markdown-toc-broadcast-variables">Broadcast Variables</a></li>
-  <li><a href="#parallel-execution" id="markdown-toc-parallel-execution">Parallel Execution</a>    <ul>
-      <li><a href="#execution-environment-level" id="markdown-toc-execution-environment-level">Execution Environment Level</a></li>
-      <li><a href="#system-level" id="markdown-toc-system-level">System Level</a></li>
-    </ul>
-  </li>
-  <li><a href="#executing-plans" id="markdown-toc-executing-plans">Executing Plans</a></li>
-  <li><a href="#debugging" id="markdown-toc-debugging">Debugging</a></li>
-</ul>
-
-<h2 id="example-program">Example Program</h2>
-
-<p>The following program is a complete, working example of WordCount. You can copy &amp; paste the code
-to run it locally.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="kn">from</span> <span class="nn">flink.plan.Environment</span> <span class="kn">import</span> <span class="n">get_environment</span>
-<span class="kn">from</span> <span class="nn">flink.plan.Constants</span> <span class="kn">import</span> <span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span>
-<span class="kn">from</span> <span class="nn">flink.functions.GroupReduceFunction</span> <span class="kn">import</span> <span class="n">GroupReduceFunction</span>
-
-<span class="k">class</span> <span class="nc">Adder</span><span class="p">(</span><span class="n">GroupReduceFunction</span><span class="p">):</span>
-  <span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-    <span class="n">count</span><span class="p">,</span> <span class="n">word</span> <span class="o">=</span> <span class="n">iterator</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-    <span class="n">count</span> <span class="o">+=</span> <span class="nb">sum</span><span class="p">([</span><span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">])</span>
-    <span class="n">collector</span><span class="o">.</span><span class="n">collect</span><span class="p">((</span><span class="n">count</span><span class="p">,</span> <span class="n">word</span><span class="p">))</span>
-
-<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span>
-  <span class="n">env</span> <span class="o">=</span> <span class="n">get_environment</span><span class="p">()</span>
-  <span class="n">data</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">from_elements</span><span class="p">(</span><span class="s">&quot;Who&#39;s there?&quot;</span><span class="p">,</span>
-   <span class="s">&quot;I think I hear them. Stand, ho! Who&#39;s there?&quot;</span><span class="p">)</span>
-  
-  <span class="n">data</span> \
-    <span class="o">.</span><span class="n">flat_map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">c</span><span class="p">:</span> <span class="p">[(</span><span class="mi">1</span><span class="p">,</span> <span class="n">word</span><span class="p">)</span> <span class="k">for</span> <span class="n">word</span> <span class="ow">in</span> <span class="n">x</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">()],</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">))</span> \
-    <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> \
-    <span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">Adder</span><span class="p">(),</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">),</span> <span class="n">combinable</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> \
-    <span class="o">.</span><span class="n">output</span><span class="p">()</span>
-  
-  <span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">local</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="program-skeleton">Program Skeleton</h2>
-
-<p>As we already saw in the example, Flink programs look like regular python
-programs with a <code>if __name__ == "__main__":</code> block. Each program consists of the same basic parts:</p>
-
-<ol>
-  <li>Obtain an <code>Environment</code>,</li>
-  <li>Load/create the initial data,</li>
-  <li>Specify transformations on this data,</li>
-  <li>Specify where to put the results of your computations, and</li>
-  <li>Execute your program.</li>
-</ol>
-
-<p>We will now give an overview of each of those steps but please refer to the respective sections for
-more details.</p>
-
-<p>The <code>Environment</code> is the basis for all Flink programs. You can
-obtain one using these static methods on class <code>Environment</code>:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">get_environment</span><span class="p">()</span></code></pre></div>
-
-<p>For specifying data sources the execution environment has several methods
-to read from files. To just read a text file as a sequence of lines, you can use:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">env</span> <span class="o">=</span> <span class="n">get_environment</span><span class="p">()</span>
-<span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">read_text</span><span class="p">(</span><span class="s">&quot;file:///path/to/file&quot;</span><span class="p">)</span></code></pre></div>
-
-<p>This will give you a DataSet on which you can then apply transformations. For
-more information on data sources and input formats, please refer to
-<a href="#data-sources">Data Sources</a>.</p>
-
-<p>Once you have a DataSet you can apply transformations to create a new
-DataSet which you can then write to a file, transform again, or
-combine with other DataSets. You apply transformations by calling
-methods on DataSet with your own custom transformation function. For example,
-a map transformation looks like this:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">*</span><span class="mi">2</span><span class="p">,</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-<p>This will create a new DataSet by doubling every value in the original DataSet. 
-For more information and a list of all the transformations,
-please refer to <a href="#transformations">Transformations</a>.</p>
-
-<p>Once you have a DataSet that needs to be written to disk you can call one
-of these methods on DataSet:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">write_text</span><span class="p">(</span><span class="s">&quot;&lt;file-path&gt;&quot;</span><span class="p">,</span> <span class="n">WriteMode</span><span class="o">=</span><span class="n">Constants</span><span class="o">.</span><span class="n">NO_OVERWRITE</span><span class="p">)</span>
-<span class="n">write_csv</span><span class="p">(</span><span class="s">&quot;&lt;file-path&gt;&quot;</span><span class="p">,</span> <span class="n">line_delimiter</span><span class="o">=</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">,</span> <span class="n">field_delimiter</span><span class="o">=</span><span class="s">&#39;,&#39;</span><span class="p">,</span> <span class="n">write_mode</span><span class="o">=</span><span class="n">Constants</span><span class="o">.</span><span class="n">NO_OVERWRITE</span><span class="p">)</span>
-<span class="n">output</span><span class="p">()</span></code></pre></div>
-
-<p>The last method is only useful for developing/debugging on a local machine,
-it will output the contents of the DataSet to standard output. (Note that in
-a cluster, the result goes to the standard out stream of the cluster nodes and ends
-up in the <em>.out</em> files of the workers).
-The first two do as the name suggests. 
-Please refer to <a href="#data-sinks">Data Sinks</a> for more information on writing to files.</p>
-
-<p>Once you specified the complete program you need to call <code>execute</code> on
-the <code>Environment</code>. This will either execute on your local machine or submit your program 
-for execution on a cluster, depending on how Flink was started. You can force
-a local execution by using <code>execute(local=True)</code>.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="project-setup">Project setup</h2>
-
-<p>Apart from setting up Flink, no additional work is required. The python package can be found in the /resource folder of your Flink distribution. The flink package, along with the plan and optional packages are automatically distributed among the cluster via HDFS when running a job.</p>
-
-<p>The Python API was tested on Linux systems that have Python 2.7 or 3.4 installed.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="lazy-evaluation">Lazy Evaluation</h2>
-
-<p>All Flink programs are executed lazily: When the program’s main method is executed, the data loading
-and transformations do not happen directly. Rather, each operation is created and added to the
-program’s plan. The operations are actually executed when one of the <code>execute()</code> methods is invoked
-on the Environment object. Whether the program is executed locally or on a cluster depends
-on the environment of the program.</p>
-
-<p>The lazy evaluation lets you construct sophisticated programs that Flink executes as one
-holistically planned unit.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="transformations">Transformations</h2>
-
-<p>Data transformations transform one or more DataSets into a new DataSet. Programs can combine
-multiple transformations into sophisticated assemblies.</p>
-
-<p>This section gives a brief overview of the available transformations. The <a href="dataset_transformations.html">transformations
-documentation</a> has a full description of all transformations with
-examples.</p>
-
-<p><br /></p>
-
-<table class="table table-bordered">
-  <thead>
-    <tr>
-      <th class="text-left" style="width: 20%">Transformation</th>
-      <th class="text-center">Description</th>
-    </tr>
-  </thead>
-
-  <tbody>
-    <tr>
-      <td><strong>Map</strong></td>
-      <td>
-        <p>Takes one element and produces one element.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">*</span> <span class="mi">2</span><span class="p">,</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>FlatMap</strong></td>
-      <td>
-        <p>Takes one element and produces zero, one, or more elements. </p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">flat_map</span><span class="p">(</span>
-  <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">c</span><span class="p">:</span> <span class="p">[(</span><span class="mi">1</span><span class="p">,</span><span class="n">word</span><span class="p">)</span> <span class="k">for</span> <span class="n">word</span> <span class="ow">in</span> <span class="n">line</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">x</span><span class="p">],</span>
-  <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">))</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>MapPartition</strong></td>
-      <td>
-        <p>Transforms a parallel partition in a single function call. The function get the partition
-        as an `Iterator` and can produce an arbitrary number of result values. The number of
-        elements in each partition depends on the degree-of-parallelism and previous operations.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">map_partition</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">c</span><span class="p">:</span> <span class="p">[</span><span class="n">value</span> <span class="o">*</span> <span class="mi">2</span> <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">x</span><span class="p">],</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Filter</strong></td>
-      <td>
-        <p>Evaluates a boolean function for each element and retains those for which the function
-        returns true.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">&gt;</span> <span class="mi">1000</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Reduce</strong></td>
-      <td>
-        <p>Combines a group of elements into a single element by repeatedly combining two elements
-        into one. Reduce may be applied on a full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">reduce</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">y</span> <span class="p">:</span> <span class="n">x</span> <span class="o">+</span> <span class="n">y</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>ReduceGroup</strong></td>
-      <td>
-        <p>Combines a group of elements into one or more elements. ReduceGroup may be applied on a
-        full data set, or on a grouped data set.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="k">class</span> <span class="nc">Adder</span><span class="p">(</span><span class="n">GroupReduceFunction</span><span class="p">):</span>
-  <span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterator</span><span class="p">,</span> <span class="n">collector</span><span class="p">):</span>
-    <span class="n">count</span><span class="p">,</span> <span class="n">word</span> <span class="o">=</span> <span class="n">iterator</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-    <span class="n">count</span> <span class="o">+=</span> <span class="nb">sum</span><span class="p">([</span><span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">)</span>      
-    <span class="n">collector</span><span class="o">.</span><span class="n">collect</span><span class="p">((</span><span class="n">count</span><span class="p">,</span> <span class="n">word</span><span class="p">))</span>
-
-<span class="n">data</span><span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">Adder</span><span class="p">(),</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">))</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    
-      <td><strong>Join</strong></td>
-      <td>
-        Joins two data sets by creating all pairs of elements that are equal on their keys.
-        Optionally uses a JoinFunction to turn the pair of elements into a single element. 
-        See <a href="#specifying-keys">keys</a> on how to define join keys.
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="c"># In this case tuple fields are used as keys. </span>
-<span class="c"># &quot;0&quot; is the join field on the first tuple</span>
-<span class="c"># &quot;1&quot; is the join field on the second tuple.</span>
-<span class="n">result</span> <span class="o">=</span> <span class="n">input1</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">input2</span><span class="p">)</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">equal_to</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    
-
-    <tr>
-      <td><strong>CoGroup</strong></td>
-      <td>
-        <p>The two-dimensional variant of the reduce operation. Groups each input on one or more
-        fields and then joins the groups. The transformation function is called per pair of groups.
-        See <a href="#specifying-keys">keys</a> on how to define coGroup keys.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data1</span><span class="o">.</span><span class="n">co_group</span><span class="p">(</span><span class="n">data2</span><span class="p">)</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">equal_to</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td><strong>Cross</strong></td>
-      <td>
-        <p>Builds the Cartesian product (cross product) of two inputs, creating all pairs of
-        elements. Optionally uses a CrossFunction to turn the pair of elements into a single
-        element.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">result</span> <span class="o">=</span> <span class="n">data1</span><span class="o">.</span><span class="n">cross</span><span class="p">(</span><span class="n">data2</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-    <tr>
-      <td><strong>Union</strong></td>
-      <td>
-        <p>Produces the union of two data sets.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">union</span><span class="p">(</span><span class="n">data2</span><span class="p">)</span></code></pre></div>
-
-      </td>
-    </tr>
-  </tbody>
-</table>
-
-<p><a href="#top">Back to Top</a></p>
-
-<h2 id="specifying-keys">Specifying Keys</h2>
-
-<p>Some transformations (like Join or CoGroup) require that a key is defined on
-its argument DataSets, and other transformations (Reduce, GroupReduce) allow that the DataSet is grouped on a key before they are
-applied.</p>
-
-<p>A DataSet is grouped as</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">reduced</span> <span class="o">=</span> <span class="n">data</span> \
-  <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="o">&lt;</span><span class="n">define</span> <span class="n">key</span> <span class="n">here</span><span class="o">&gt;</span><span class="p">)</span> \
-  <span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="o">&lt;</span><span class="n">do</span> <span class="n">something</span><span class="o">&gt;</span><span class="p">)</span></code></pre></div>
-
-<p>The data model of Flink is not based on key-value pairs. Therefore,
-you do not need to physically pack the data set types into keys and
-values. Keys are “virtual”: they are defined as functions over the
-actual data to guide the grouping operator.</p>
-
-<h3 class="no_toc" id="define-keys-for-tuples">Define keys for Tuples</h3>
-
-<p>The simplest case is grouping a data set of Tuples on one or more
-fields of the Tuple:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">reduced</span> <span class="o">=</span> <span class="n">data</span> \
-  <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> \
-  <span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="o">&lt;</span><span class="n">do</span> <span class="n">something</span><span class="o">&gt;</span><span class="p">)</span></code></pre></div>
-
-<p>The data set is grouped on the first field of the tuples. 
-The group-reduce function will thus receive groups of tuples with
-the same value in the first field.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">grouped</span> <span class="o">=</span> <span class="n">data</span> \
-  <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> \
-  <span class="o">.</span><span class="n">reduce</span><span class="p">(</span><span class="o">/*</span><span class="n">do</span> <span class="n">something</span><span class="o">*/</span><span class="p">)</span></code></pre></div>
-
-<p>The data set is grouped on the composite key consisting of the first and the
-second fields, therefore the reduce function will receive groups
-with the same value for both fields.</p>
-
-<p>A note on nested Tuples: If you have a DataSet with a nested tuple
-specifying <code>group_by(&lt;index of tuple&gt;)</code> will cause the system to use the full tuple as a key.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="passing-functions-to-flink">Passing Functions to Flink</h2>
-
-<p>Certain operations require user-defined functions, whereas all of them accept lambda functions and rich functions as arguments.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">data</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">&gt;</span> <span class="mi">5</span><span class="p">)</span></code></pre></div>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="k">class</span> <span class="nc">Filter</span><span class="p">(</span><span class="n">FilterFunction</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">filter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">value</span> <span class="o">&gt;</span> <span class="mi">5</span>
-
-<span class="n">data</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">Filter</span><span class="p">())</span></code></pre></div>
-
-<p>Rich functions allow the use of imported functions, provide access to broadcast-variables, 
-can be parameterized using <strong>init</strong>(), and are the go-to-option for complex functions.
-They are also the only way to define an optional <code>combine</code> function for a reduce operation.</p>
-
-<p>Lambda functions allow the easy insertion of one-liners. Note that a lambda function has to return
-an iterable, if the operation can return multiple values. (All functions receiving a collector argument)</p>
-
-<p>Flink requires type information at the time when it prepares the program for execution 
-(when the main method of the program is called). This is done by passing an exemplary 
-object that has the desired type. This holds also for tuples.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">)</span></code></pre></div>
-
-<p>Would denote a tuple containing an int and a string. Note that for Operations that work strictly on tuples (like cross), no braces are required.</p>
-
-<p>There are a few Constants defined in flink.plan.Constants that allow this in a more readable fashion.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="data-types">Data Types</h2>
-
-<p>Flink’s Python API currently only supports primitive python types (int, float, bool, string) and byte arrays.</p>
-
-<h4 id="tupleslists">Tuples/Lists</h4>
-
-<p>You can use the tuples (or lists) for composite types. Python tuples are mapped to the Flink Tuple type, that contain 
-a fix number of fields of various types (up to 25). Every field of a tuple can be a primitive type - including further tuples, resulting in nested tuples.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">word_counts</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">from_elements</span><span class="p">((</span><span class="s">&quot;hello&quot;</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;world&quot;</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span>
-
-<span class="n">counts</span> <span class="o">=</span> <span class="n">word_counts</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">INT</span><span class="p">)</span></code></pre></div>
-
-<p>When working with operators that require a Key for grouping or matching records,
-Tuples let you simply specify the positions of the fields to be used as key. You can specify more
-than one position to use composite keys (see <a href="#transformations">Section Data Transformations</a>).</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">wordCounts</span> \
-    <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> \
-    <span class="o">.</span><span class="n">reduce</span><span class="p">(</span><span class="n">MyReduceFunction</span><span class="p">())</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="data-sources">Data Sources</h2>
-
-<p>Data sources create the initial data sets, such as from files or from collections.</p>
-
-<p>File-based:</p>
-
-<ul>
-  <li><code>read_text(path)</code> - Reads files line wise and returns them as Strings.</li>
-  <li><code>read_csv(path, type)</code> - Parses files of comma (or another char) delimited fields.
-Returns a DataSet of tuples. Supports the basic java types and their Value counterparts as field
-types.</li>
-</ul>
-
-<p>Collection-based:</p>
-
-<ul>
-  <li><code>from_elements(*args)</code> - Creates a data set from a Seq. All elements</li>
-</ul>
-
-<p><strong>Examples</strong></p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">env</span>  <span class="o">=</span> <span class="n">get_environment</span>
-
-<span class="c"># read text file from local files system</span>
-<span class="n">localLiens</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">read_text</span><span class="p">(</span><span class="s">&quot;file:#/path/to/my/textfile&quot;</span><span class="p">)</span>
-
- <span class="n">read</span> <span class="n">text</span> <span class="nb">file</span> <span class="kn">from</span> <span class="nn">a</span> <span class="nn">HDFS</span> <span class="nn">running</span> <span class="nn">at</span> <span class="nn">nnHost</span><span class="p">:</span><span class="n">nnPort</span>
-<span class="n">hdfsLines</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">read_text</span><span class="p">(</span><span class="s">&quot;hdfs://nnHost:nnPort/path/to/my/textfile&quot;</span><span class="p">)</span>
-
- <span class="n">read</span> <span class="n">a</span> <span class="n">CSV</span> <span class="nb">file</span> <span class="k">with</span> <span class="n">three</span> <span class="n">fields</span>
-<span class="n">csvInput</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s">&quot;hdfs:///the/CSV/file&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">,</span> <span class="n">DOUBLE</span><span class="p">))</span>
-
- <span class="n">create</span> <span class="n">a</span> <span class="nb">set</span> <span class="kn">from</span> <span class="nn">some</span> <span class="nn">given</span> <span class="nn">elements</span>
-<span class="n">values</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">from_elements</span><span class="p">(</span><span class="s">&quot;Foo&quot;</span><span class="p">,</span> <span class="s">&quot;bar&quot;</span><span class="p">,</span> <span class="s">&quot;foobar&quot;</span><span class="p">,</span> <span class="s">&quot;fubar&quot;</span><span class="p">)</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="data-sinks">Data Sinks</h2>
-
-<p>Data sinks consume DataSets and are used to store or return them:</p>
-
-<ul>
-  <li><code>write_text()</code> - Writes elements line-wise as Strings. The Strings are
-obtained by calling the <em>str()</em> method of each element.</li>
-  <li><code>write_csv(...)</code> - Writes tuples as comma-separated value files. Row and field
-delimiters are configurable. The value for each field comes from the <em>str()</em> method of the objects.</li>
-  <li><code>output()</code> - Prints the <em>str()</em> value of each element on the
-standard out.</li>
-</ul>
-
-<p>A DataSet can be input to multiple operations. Programs can write or print a data set and at the
-same time run additional transformations on them.</p>
-
-<p><strong>Examples</strong></p>
-
-<p>Standard data sink methods:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="n">write</span> <span class="nc">DataSet</span> <span class="n">to</span> <span class="n">a</span> <span class="n">file</span> <span class="n">on</span> <span class="n">the</span> <span class="n">local</span> <span class="n">file</span> <span class="n">system</span>
-<span class="n">textData</span><span class="o">.</span><span class="n">write_text</span><span class="o">(</span><span class="s">&quot;file:///my/result/on/localFS&quot;</span><span class="o">)</span>
-
- <span class="n">write</span> <span class="nc">DataSet</span> <span class="n">to</span> <span class="n">a</span> <span class="n">file</span> <span class="n">on</span> <span class="n">a</span> <span class="nc">HDFS</span> <span class="k">with</span> <span class="n">a</span> <span class="n">namenode</span> <span class="n">running</span> <span class="n">at</span> <span class="n">nnHost</span><span class="k">:</span><span class="kt">nnPort</span>
-<span class="n">textData</span><span class="o">.</span><span class="n">write_text</span><span class="o">(</span><span class="s">&quot;hdfs://nnHost:nnPort/my/result/on/localFS&quot;</span><span class="o">)</span>
-
- <span class="n">write</span> <span class="nc">DataSet</span> <span class="n">to</span> <span class="n">a</span> <span class="n">file</span> <span class="n">and</span> <span class="n">overwrite</span> <span class="n">the</span> <span class="n">file</span> <span class="k">if</span> <span class="n">it</span> <span class="n">exists</span>
-<span class="n">textData</span><span class="o">.</span><span class="n">write_text</span><span class="o">(</span><span class="s">&quot;file:///my/result/on/localFS&quot;</span><span class="o">,</span> <span class="nc">WriteMode</span><span class="o">.</span><span class="nc">OVERWRITE</span><span class="o">)</span>
-
- <span class="n">tuples</span> <span class="n">as</span> <span class="n">lines</span> <span class="k">with</span> <span class="n">pipe</span> <span class="n">as</span> <span class="n">the</span> <span class="n">separator</span> <span class="s">&quot;a|b|c&quot;</span>
-<span class="n">values</span><span class="o">.</span><span class="n">write_csv</span><span class="o">(</span><span class="s">&quot;file:///path/to/the/result/file&quot;</span><span class="o">,</span> <span class="n">line_delimiter</span><span class="o">=</span><span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="n">field_delimiter</span><span class="o">=</span><span class="s">&quot;|&quot;</span><span class="o">)</span>
-
- <span class="k">this</span> <span class="n">writes</span> <span class="n">tuples</span> <span class="n">in</span> <span class="n">the</span> <span class="n">text</span> <span class="n">formatting</span> <span class="s">&quot;(a, b, c)&quot;</span><span class="o">,</span> <span class="n">rather</span> <span class="n">than</span> <span class="n">as</span> <span class="nc">CSV</span> <span class="n">lines</span>
-<span class="n">values</span><span class="o">.</span><span class="n">write_text</span><span class="o">(</span><span class="s">&quot;file:///path/to/the/result/file&quot;</span><span class="o">)</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="broadcast-variables">Broadcast Variables</h2>
-
-<p>Broadcast variables allow you to make a data set available to all parallel instances of an
-operation, in addition to the regular input of the operation. This is useful for auxiliary data
-sets, or data-dependent parameterization. The data set will then be accessible at the operator as a
-Collection.</p>
-
-<ul>
-  <li><strong>Broadcast</strong>: broadcast sets are registered by name via <code>with_broadcast_set(DataSet, String)</code></li>
-  <li><strong>Access</strong>: accessible via <code>self.context.get_broadcast_variable(String)</code> at the target operator</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="k">class</span> <span class="nc">MapperBcv</span><span class="p">(</span><span class="n">MapFunction</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">map</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
-        <span class="n">factor</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">get_broadcast_variable</span><span class="p">(</span><span class="s">&quot;bcv&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
-        <span class="k">return</span> <span class="n">value</span> <span class="o">*</span> <span class="n">factor</span>
-
-<span class="c"># 1. The DataSet to be broadcasted</span>
-<span class="n">toBroadcast</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">from_elements</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> 
-<span class="n">data</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="n">from_elements</span><span class="p">(</span><span class="s">&quot;a&quot;</span><span class="p">,</span> <span class="s">&quot;b&quot;</span><span class="p">)</span>
-
-<span class="c"># 2. Broadcast the DataSet</span>
-<span class="n">data</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="n">MapperBcv</span><span class="p">(),</span> <span class="n">INT</span><span class="p">)</span><span class="o">.</span><span class="n">with_broadcast_set</span><span class="p">(</span><span class="s">&quot;bcv&quot;</span><span class="p">,</span> <span class="n">toBroadcast</span><span class="p">)</span></code></pre></div>
-
-<p>Make sure that the names (<code>bcv</code> in the previous example) match when registering and
-accessing broadcasted data sets.</p>
-
-<p><strong>Note</strong>: As the content of broadcast variables is kept in-memory on each node, it should not become
-too large. For simpler things like scalar values you can simply parameterize the rich function.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="parallel-execution">Parallel Execution</h2>
-
-<p>This section describes how the parallel execution of programs can be configured in Flink. A Flink
-program consists of multiple tasks (operators, data sources, and sinks). A task is split into
-several parallel instances for execution and each parallel instance processes a subset of the task’s
-input data. The number of parallel instances of a task is called its <em>parallelism</em> or <em>degree of
-parallelism (DOP)</em>.</p>
-
-<p>The degree of parallelism of a task can be specified in Flink on different levels.</p>
-
-<h3 id="execution-environment-level">Execution Environment Level</h3>
-
-<p>Flink programs are executed in the context of an <a href="#program-skeleton">execution environmentt</a>. An
-execution environment defines a default parallelism for all operators, data sources, and data sinks
-it executes. Execution environment parallelism can be overwritten by explicitly configuring the
-parallelism of an operator.</p>
-
-<p>The default parallelism of an execution environment can be specified by calling the
-<code>set_degree_of_parallelism()</code> method. To execute all operators, data sources, and data sinks of the
-<a href="#example-program">WordCount</a> example program with a parallelism of <code>3</code>, set the default parallelism of the
-execution environment as follows:</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">env</span> <span class="o">=</span> <span class="n">get_environment</span><span class="p">()</span>
-<span class="n">env</span><span class="o">.</span><span class="n">set_degree_of_parallelism</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
-
-<span class="n">text</span><span class="o">.</span><span class="n">flat_map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">c</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(),</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">))</span> \
-    <span class="o">.</span><span class="n">group_by</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> \
-    <span class="o">.</span><span class="n">reduce_group</span><span class="p">(</span><span class="n">Adder</span><span class="p">(),</span> <span class="p">(</span><span class="n">INT</span><span class="p">,</span> <span class="n">STRING</span><span class="p">),</span> <span class="n">combinable</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> \
-    <span class="o">.</span><span class="n">output</span><span class="p">()</span>
-
-<span class="n">env</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span></code></pre></div>
-
-<h3 id="system-level">System Level</h3>
-
-<p>A system-wide default parallelism for all execution environments can be defined by setting the
-<code>parallelization.degree.default</code> property in <code>./conf/flink-conf.yaml</code>. See the
-<a href="config.html">Configuration</a> documentation for details.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="executing-plans">Executing Plans</h2>
-
-<p>To run the plan with Flink, go to your Flink distribution, and run the pyflink.sh script from the /bin folder. 
-use pyflink2.sh for python 2.7, and pyflink3.sh for python 3.4. The script containing the plan has to be passed 
-as the first argument, followed by a number of additional python packages, and finally, separated by - additional 
-arguments that will be fed to the script.</p>
-
-<div class="highlight"><pre><code class="language-python" data-lang="python"><span class="o">./</span><span class="nb">bin</span><span class="o">/</span><span class="n">pyflink</span><span class="o">&lt;</span><span class="mi">2</span><span class="o">/</span><span class="mi">3</span><span class="o">&gt;.</span><span class="n">sh</span> <span class="o">&lt;</span><span class="n">Script</span><span class="o">&gt;</span><span class="p">[</span> <span class="o">&lt;</span><span class="n">pathToPackage1</span><span class="o">&gt;</span><span class="p">[</span> <span class="o">&lt;</span><span class="n">pathToPackageX</span><span class="p">]][</span> <span class="o">-</span> <span class="o">&lt;</span><span class="n">param1</span><span class="o">&gt;</span><span class="p">[</span> <span class="o">&lt;</span><span class="n">paramX</span><span class="o">&gt;</span><span class="p">]]</span></code></pre></div>
-
-<p><a href="#top">Back to top</a></p>
-
-<h2 id="debugging">Debugging</h2>
-
-<p>If you are running Flink programs locally, you can debug your program following this guide.
-First you have to enable debugging by setting the debug switch in the <code>env.execute(debug=True)</code> call. After
-submitting your program, open the jobmanager log file, and look for a line that says 
-<code>Waiting for external Process : &lt;taskname&gt;. Run python /tmp/flink/executor.py &lt;port&gt;</code> Now open <code>/tmp/flink</code> in your python
-IDE and run the <code>executor.py &lt;port&gt;</code>.</p>
-
-<p><a href="#top">Back to top</a></p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[67/68] [abbrv] flink-web git commit: Build site for fixed typo

Posted by an...@apache.org.
Build site for fixed typo


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/e5efd40a
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/e5efd40a
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/e5efd40a

Branch: refs/heads/master
Commit: e5efd40a95c252e5f604024dceae7cb84acc8fc5
Parents: cea9e17
Author: Ufuk Celebi <uc...@apache.org>
Authored: Tue Jul 14 15:40:45 2015 +0200
Committer: Ufuk Celebi <uc...@apache.org>
Committed: Tue Jul 14 15:40:45 2015 +0200

----------------------------------------------------------------------
 content/blog/feed.xml                           | 74 ++++++++++----------
 content/blog/page3/index.html                   |  2 +-
 content/community.html                          | 18 ++---
 content/downloads.html                          |  6 +-
 content/faq.html                                | 54 +++++++-------
 content/features.html                           |  2 +-
 content/how-to-contribute.html                  | 20 +++---
 content/material.html                           | 10 +--
 .../2014/01/13/stratosphere-release-0.4.html    |  6 +-
 .../18/amazon-elastic-mapreduce-cloud-yarn.html |  6 +-
 content/news/2014/11/04/release-0.7.0.html      |  2 +-
 .../news/2014/11/18/hadoop-compatibility.html   |  4 +-
 content/news/2015/01/21/release-0.8.html        |  2 +-
 content/news/2015/02/04/january-in-flink.html   |  2 +-
 content/news/2015/02/09/streaming-example.html  |  4 +-
 .../peeking-into-Apache-Flinks-Engine-Room.html | 18 ++---
 .../05/11/Juggling-with-Bits-and-Bytes.html     | 26 +++----
 .../news/2015/05/14/Community-update-April.html |  4 +-
 18 files changed, 130 insertions(+), 130 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/blog/feed.xml
----------------------------------------------------------------------
diff --git a/content/blog/feed.xml b/content/blog/feed.xml
index 46caacd..06cc7ea 100644
--- a/content/blog/feed.xml
+++ b/content/blog/feed.xml
@@ -247,7 +247,7 @@
 
 <item>
 <title>April 2015 in the Flink community</title>
-<description>&lt;p&gt;April was an packed month for Apache Flink. &lt;/p&gt;
+<description>&lt;p&gt;April was an packed month for Apache Flink.&lt;/p&gt;
 
 &lt;h2 id=&quot;flink-090-milestone1-release&quot;&gt;Flink 0.9.0-milestone1 release&lt;/h2&gt;
 
@@ -263,7 +263,7 @@
 
 &lt;h2 id=&quot;flink-on-the-web&quot;&gt;Flink on the web&lt;/h2&gt;
 
-&lt;p&gt;Fabian Hueske gave an &lt;a href=&quot;http://www.infoq.com/news/2015/04/hueske-apache-flink?utm_campaign=infoq_content&amp;amp;utm_source=infoq&amp;amp;utm_medium=feed&amp;amp;utm_term=global&quot;&gt;interview at InfoQ&lt;/a&gt; on Apache Flink. &lt;/p&gt;
+&lt;p&gt;Fabian Hueske gave an &lt;a href=&quot;http://www.infoq.com/news/2015/04/hueske-apache-flink?utm_campaign=infoq_content&amp;amp;utm_source=infoq&amp;amp;utm_medium=feed&amp;amp;utm_term=global&quot;&gt;interview at InfoQ&lt;/a&gt; on Apache Flink.&lt;/p&gt;
 
 &lt;h2 id=&quot;upcoming-events&quot;&gt;Upcoming events&lt;/h2&gt;
 
@@ -295,7 +295,7 @@ However, this approach has a few notable drawbacks. First of all it is not trivi
 &lt;img src=&quot;/img/blog/memory-mgmt.png&quot; style=&quot;width:90%;margin:15px&quot; /&gt;
 &lt;/center&gt;
 
-&lt;p&gt;Flink’s style of active memory management and operating on binary data has several benefits: &lt;/p&gt;
+&lt;p&gt;Flink’s style of active memory management and operating on binary data has several benefits:&lt;/p&gt;
 
 &lt;ol&gt;
   &lt;li&gt;&lt;strong&gt;Memory-safe execution &amp;amp; efficient out-of-core algorithms.&lt;/strong&gt; Due to the fixed amount of allocated memory segments, it is trivial to monitor remaining memory resources. In case of memory shortage, processing operators can efficiently write larger batches of memory segments to disk and later them read back. Consequently, &lt;code&gt;OutOfMemoryErrors&lt;/code&gt; are effectively prevented.&lt;/li&gt;
@@ -304,13 +304,13 @@ However, this approach has a few notable drawbacks. First of all it is not trivi
   &lt;li&gt;&lt;strong&gt;Efficient binary operations &amp;amp; cache sensitivity.&lt;/strong&gt; Binary data can be efficiently compared and operated on given a suitable binary representation. Furthermore, the binary representations can put related values, as well as hash codes, keys, and pointers, adjacently into memory. This gives data structures with usually more cache efficient access patterns.&lt;/li&gt;
 &lt;/ol&gt;
 
-&lt;p&gt;These properties of active memory management are very desirable in a data processing systems for large-scale data analytics but have a significant price tag attached. Active memory management and operating on binary data is not trivial to implement, i.e., using &lt;code&gt;java.util.HashMap&lt;/code&gt; is much easier than implementing a spillable hash-table backed by byte arrays and a custom serialization stack. Of course Apache Flink is not the only JVM-based data processing system that operates on serialized binary data. Projects such as &lt;a href=&quot;http://drill.apache.org/&quot;&gt;Apache Drill&lt;/a&gt;, &lt;a href=&quot;http://ignite.incubator.apache.org/&quot;&gt;Apache Ignite (incubating)&lt;/a&gt; or &lt;a href=&quot;http://projectgeode.org/&quot;&gt;Apache Geode (incubating)&lt;/a&gt; apply similar techniques and it was recently announced that also &lt;a href=&quot;http://spark.apache.org/&quot;&gt;Apache Spark&lt;/a&gt; will evolve into this direction with &
 lt;a href=&quot;https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html&quot;&gt;Project Tungsten&lt;/a&gt;. &lt;/p&gt;
+&lt;p&gt;These properties of active memory management are very desirable in a data processing systems for large-scale data analytics but have a significant price tag attached. Active memory management and operating on binary data is not trivial to implement, i.e., using &lt;code&gt;java.util.HashMap&lt;/code&gt; is much easier than implementing a spillable hash-table backed by byte arrays and a custom serialization stack. Of course Apache Flink is not the only JVM-based data processing system that operates on serialized binary data. Projects such as &lt;a href=&quot;http://drill.apache.org/&quot;&gt;Apache Drill&lt;/a&gt;, &lt;a href=&quot;http://ignite.incubator.apache.org/&quot;&gt;Apache Ignite (incubating)&lt;/a&gt; or &lt;a href=&quot;http://projectgeode.org/&quot;&gt;Apache Geode (incubating)&lt;/a&gt; apply similar techniques and it was recently announced that also &lt;a href=&quot;http://spark.apache.org/&quot;&gt;Apache Spark&lt;/a&gt; will evolve into this direction with &
 lt;a href=&quot;https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html&quot;&gt;Project Tungsten&lt;/a&gt;.&lt;/p&gt;
 
 &lt;p&gt;In the following we discuss in detail how Flink allocates memory, de/serializes objects, and operates on binary data. We will also show some performance numbers comparing processing objects on the heap and operating on binary data.&lt;/p&gt;
 
 &lt;h2 id=&quot;how-does-flink-allocate-memory&quot;&gt;How does Flink allocate memory?&lt;/h2&gt;
 
-&lt;p&gt;A Flink worker, called TaskManager, is composed of several internal components such as an actor system for coordination with the Flink master, an IOManager that takes care of spilling data to disk and reading it back, and a MemoryManager that coordinates memory usage. In the context of this blog post, the MemoryManager is of most interest. &lt;/p&gt;
+&lt;p&gt;A Flink worker, called TaskManager, is composed of several internal components such as an actor system for coordination with the Flink master, an IOManager that takes care of spilling data to disk and reading it back, and a MemoryManager that coordinates memory usage. In the context of this blog post, the MemoryManager is of most interest.&lt;/p&gt;
 
 &lt;p&gt;The MemoryManager takes care of allocating, accounting, and distributing MemorySegments to data processing operators such as sort and join operators. A &lt;a href=&quot;https://github.com/apache/flink/blob/release-0.9.0-milestone-1/flink-core/src/main/java/org/apache/flink/core/memory/MemorySegment.java&quot;&gt;MemorySegment&lt;/a&gt; is Flink’s distribution unit of memory and is backed by a regular Java byte array (size is 32 KB by default). A MemorySegment provides very efficient write and read access to its backed byte array using Java’s unsafe methods. You can think of a MemorySegment as a custom-tailored version of Java’s NIO ByteBuffer. In order to operate on multiple MemorySegments like on a larger chunk of consecutive memory, Flink uses logical views that implement Java’s &lt;code&gt;java.io.DataOutput&lt;/code&gt; and &lt;code&gt;java.io.DataInput&lt;/code&gt; interfaces.&lt;/p&gt;
 
@@ -322,7 +322,7 @@ However, this approach has a few notable drawbacks. First of all it is not trivi
 
 &lt;h2 id=&quot;how-does-flink-serialize-objects&quot;&gt;How does Flink serialize objects?&lt;/h2&gt;
 
-&lt;p&gt;The Java ecosystem offers several libraries to convert objects into a binary representation and back. Common alternatives are standard Java serialization, &lt;a href=&quot;https://github.com/EsotericSoftware/kryo&quot;&gt;Kryo&lt;/a&gt;, &lt;a href=&quot;http://avro.apache.org/&quot;&gt;Apache Avro&lt;/a&gt;, &lt;a href=&quot;http://thrift.apache.org/&quot;&gt;Apache Thrift&lt;/a&gt;, or Google’s &lt;a href=&quot;https://github.com/google/protobuf&quot;&gt;Protobuf&lt;/a&gt;. Flink includes its own custom serialization framework in order to control the binary representation of data. This is important because operating on binary data such as comparing or even manipulating binary data requires exact knowledge of the serialization layout. Further, configuring the serialization layout with respect to operations that are performed on binary data can yield a significant performance boost. Flink’s serialization stack also leverages the fact, that the type of the objects which 
 are going through de/serialization are exactly known before a program is executed. &lt;/p&gt;
+&lt;p&gt;The Java ecosystem offers several libraries to convert objects into a binary representation and back. Common alternatives are standard Java serialization, &lt;a href=&quot;https://github.com/EsotericSoftware/kryo&quot;&gt;Kryo&lt;/a&gt;, &lt;a href=&quot;http://avro.apache.org/&quot;&gt;Apache Avro&lt;/a&gt;, &lt;a href=&quot;http://thrift.apache.org/&quot;&gt;Apache Thrift&lt;/a&gt;, or Google’s &lt;a href=&quot;https://github.com/google/protobuf&quot;&gt;Protobuf&lt;/a&gt;. Flink includes its own custom serialization framework in order to control the binary representation of data. This is important because operating on binary data such as comparing or even manipulating binary data requires exact knowledge of the serialization layout. Further, configuring the serialization layout with respect to operations that are performed on binary data can yield a significant performance boost. Flink’s serialization stack also leverages the fact, that the type of the objects which 
 are going through de/serialization are exactly known before a program is executed.&lt;/p&gt;
 
 &lt;p&gt;Flink programs can process data represented as arbitrary Java or Scala objects. Before a program is optimized, the data types at each processing step of the program’s data flow need to be identified. For Java programs, Flink features a reflection-based type extraction component to analyze the return types of user-defined functions. Scala programs are analyzed with help of the Scala compiler. Flink represents each data type with a &lt;a href=&quot;https://github.com/apache/flink/blob/release-0.9.0-milestone-1/flink-core/src/main/java/org/apache/flink/api/common/typeinfo/TypeInformation.java&quot;&gt;TypeInformation&lt;/a&gt;. Flink has TypeInformations for several kinds of data types, including:&lt;/p&gt;
 
@@ -332,11 +332,11 @@ However, this approach has a few notable drawbacks. First of all it is not trivi
   &lt;li&gt;WritableTypeInfo: Any implementation of Hadoop’s Writable interface.&lt;/li&gt;
   &lt;li&gt;TupleTypeInfo: Any Flink tuple (Tuple1 to Tuple25). Flink tuples are Java representations for fixed-length tuples with typed fields.&lt;/li&gt;
   &lt;li&gt;CaseClassTypeInfo: Any Scala CaseClass (including Scala tuples).&lt;/li&gt;
-  &lt;li&gt;PojoTypeInfo: Any POJO (Java or Scala), i.e., an object with all fields either being public or accessible through getters and setter that follow the common naming conventions. &lt;/li&gt;
+  &lt;li&gt;PojoTypeInfo: Any POJO (Java or Scala), i.e., an object with all fields either being public or accessible through getters and setter that follow the common naming conventions.&lt;/li&gt;
   &lt;li&gt;GenericTypeInfo: Any data type that cannot be identified as another type.&lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;p&gt;Each TypeInformation provides a serializer for the data type it represents. For example, a BasicTypeInfo returns a serializer that writes the respective primitive type, the serializer of a WritableTypeInfo delegates de/serialization to the write() and readFields() methods of the object implementing Hadoop’s Writable interface, and a GenericTypeInfo returns a serializer that delegates serialization to Kryo. Object serialization to a DataOutput which is backed by Flink MemorySegments goes automatically through Java’s efficient unsafe operations. For data types that can be used as keys, i.e., compared and hashed, the TypeInformation provides TypeComparators. TypeComparators compare and hash objects and can - depending on the concrete data type - also efficiently compare binary representations and extract fixed-length binary key prefixes. &lt;/p&gt;
+&lt;p&gt;Each TypeInformation provides a serializer for the data type it represents. For example, a BasicTypeInfo returns a serializer that writes the respective primitive type, the serializer of a WritableTypeInfo delegates de/serialization to the write() and readFields() methods of the object implementing Hadoop’s Writable interface, and a GenericTypeInfo returns a serializer that delegates serialization to Kryo. Object serialization to a DataOutput which is backed by Flink MemorySegments goes automatically through Java’s efficient unsafe operations. For data types that can be used as keys, i.e., compared and hashed, the TypeInformation provides TypeComparators. TypeComparators compare and hash objects and can - depending on the concrete data type - also efficiently compare binary representations and extract fixed-length binary key prefixes.&lt;/p&gt;
 
 &lt;p&gt;Tuple, Pojo, and CaseClass types are composite types, i.e., containers for one or more possibly nested data types. As such, their serializers and comparators are also composite and delegate the serialization and comparison of their member data types to the respective serializers and comparators. The following figure illustrates the serialization of a (nested) &lt;code&gt;Tuple3&amp;lt;Integer, Double, Person&amp;gt;&lt;/code&gt; object where &lt;code&gt;Person&lt;/code&gt; is a POJO and defined as follows:&lt;/p&gt;
 
@@ -349,13 +349,13 @@ However, this approach has a few notable drawbacks. First of all it is not trivi
 &lt;img src=&quot;/img/blog/data-serialization.png&quot; style=&quot;width:80%;margin:15px&quot; /&gt;
 &lt;/center&gt;
 
-&lt;p&gt;Flink’s type system can be easily extended by providing custom TypeInformations, Serializers, and Comparators to improve the performance of serializing and comparing custom data types. &lt;/p&gt;
+&lt;p&gt;Flink’s type system can be easily extended by providing custom TypeInformations, Serializers, and Comparators to improve the performance of serializing and comparing custom data types.&lt;/p&gt;
 
 &lt;h2 id=&quot;how-does-flink-operate-on-binary-data&quot;&gt;How does Flink operate on binary data?&lt;/h2&gt;
 
 &lt;p&gt;Similar to many other data processing APIs (including SQL), Flink’s APIs provide transformations to group, sort, and join data sets. These transformations operate on potentially very large data sets. Relational database systems feature very efficient algorithms for these purposes since several decades including external merge-sort, merge-join, and hybrid hash-join. Flink builds on this technology, but generalizes it to handle arbitrary objects using its custom serialization and comparison stack. In the following, we show how Flink operates with binary data by the example of Flink’s in-memory sort algorithm.&lt;/p&gt;
 
-&lt;p&gt;Flink assigns a memory budget to its data processing operators. Upon initialization, a sort algorithm requests its memory budget from the MemoryManager and receives a corresponding set of MemorySegments. The set of MemorySegments becomes the memory pool of a so-called sort buffer which collects the data that is be sorted. The following figure illustrates how data objects are serialized into the sort buffer. &lt;/p&gt;
+&lt;p&gt;Flink assigns a memory budget to its data processing operators. Upon initialization, a sort algorithm requests its memory budget from the MemoryManager and receives a corresponding set of MemorySegments. The set of MemorySegments becomes the memory pool of a so-called sort buffer which collects the data that is be sorted. The following figure illustrates how data objects are serialized into the sort buffer.&lt;/p&gt;
 
 &lt;center&gt;
 &lt;img src=&quot;/img/blog/sorting-binary-data-1.png&quot; style=&quot;width:90%;margin:15px&quot; /&gt;
@@ -368,7 +368,7 @@ The following figure shows how two objects are compared.&lt;/p&gt;
 &lt;img src=&quot;/img/blog/sorting-binary-data-2.png&quot; style=&quot;width:80%;margin:15px&quot; /&gt;
 &lt;/center&gt;
 
-&lt;p&gt;The sort buffer compares two elements by comparing their binary fix-length sort keys. The comparison is successful if either done on a full key (not a prefix key) or if the binary prefix keys are not equal. If the prefix keys are equal (or the sort key data type does not provide a binary prefix key), the sort buffer follows the pointers to the actual object data, deserializes both objects and compares the objects. Depending on the result of the comparison, the sort algorithm decides whether to swap the compared elements or not. The sort buffer swaps two elements by moving their fix-length keys and pointers. The actual data is not moved. Once the sort algorithm finishes, the pointers in the sort buffer are correctly ordered. The following figure shows how the sorted data is returned from the sort buffer. &lt;/p&gt;
+&lt;p&gt;The sort buffer compares two elements by comparing their binary fix-length sort keys. The comparison is successful if either done on a full key (not a prefix key) or if the binary prefix keys are not equal. If the prefix keys are equal (or the sort key data type does not provide a binary prefix key), the sort buffer follows the pointers to the actual object data, deserializes both objects and compares the objects. Depending on the result of the comparison, the sort algorithm decides whether to swap the compared elements or not. The sort buffer swaps two elements by moving their fix-length keys and pointers. The actual data is not moved. Once the sort algorithm finishes, the pointers in the sort buffer are correctly ordered. The following figure shows how the sorted data is returned from the sort buffer.&lt;/p&gt;
 
 &lt;center&gt;
 &lt;img src=&quot;/img/blog/sorting-binary-data-3.png&quot; style=&quot;width:80%;margin:15px&quot; /&gt;
@@ -386,7 +386,7 @@ The following figure shows how two objects are compared.&lt;/p&gt;
   &lt;li&gt;&lt;strong&gt;Kryo-serialized.&lt;/strong&gt; The tuple fields are serialized into a sort buffer of 600 MB size using Kryo serialization and sorted without binary sort keys. This means that each pair-wise comparison requires two object to be deserialized.&lt;/li&gt;
 &lt;/ol&gt;
 
-&lt;p&gt;All sort methods are implemented using a single thread. The reported times are averaged over ten runs. After each run, we call &lt;code&gt;System.gc()&lt;/code&gt; to request a garbage collection run which does not go into measured execution time. The following figure shows the time to store the input data in memory, sort it, and read it back as objects. &lt;/p&gt;
+&lt;p&gt;All sort methods are implemented using a single thread. The reported times are averaged over ten runs. After each run, we call &lt;code&gt;System.gc()&lt;/code&gt; to request a garbage collection run which does not go into measured execution time. The following figure shows the time to store the input data in memory, sort it, and read it back as objects.&lt;/p&gt;
 
 &lt;center&gt;
 &lt;img src=&quot;/img/blog/sort-benchmark.png&quot; style=&quot;width:90%;margin:15px&quot; /&gt;
@@ -444,13 +444,13 @@ The following figure shows how two objects are compared.&lt;/p&gt;
 
 &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
 
-&lt;p&gt;To summarize, the experiments verify the previously stated benefits of operating on binary data. &lt;/p&gt;
+&lt;p&gt;To summarize, the experiments verify the previously stated benefits of operating on binary data.&lt;/p&gt;
 
 &lt;h2 id=&quot;were-not-done-yet&quot;&gt;We’re not done yet!&lt;/h2&gt;
 
-&lt;p&gt;Apache Flink features quite a bit of advanced techniques to safely and efficiently process huge amounts of data with limited memory resources. However, there are a few points that could make Flink even more efficient. The Flink community is working on moving the managed memory to off-heap memory. This will allow for smaller JVMs, lower garbage collection overhead, and also easier system configuration. With Flink’s Table API, the semantics of all operations such as aggregations and projections are known (in contrast to black-box user-defined functions). Hence we can generate code for Table API operations that directly operates on binary data. Further improvements include serialization layouts which are tailored towards the operations that are applied on the binary data and code generation for serializers and comparators. &lt;/p&gt;
+&lt;p&gt;Apache Flink features quite a bit of advanced techniques to safely and efficiently process huge amounts of data with limited memory resources. However, there are a few points that could make Flink even more efficient. The Flink community is working on moving the managed memory to off-heap memory. This will allow for smaller JVMs, lower garbage collection overhead, and also easier system configuration. With Flink’s Table API, the semantics of all operations such as aggregations and projections are known (in contrast to black-box user-defined functions). Hence we can generate code for Table API operations that directly operates on binary data. Further improvements include serialization layouts which are tailored towards the operations that are applied on the binary data and code generation for serializers and comparators.&lt;/p&gt;
 
-&lt;p&gt;The groundwork (and a lot more) for operating on binary data is done but there is still some room for making Flink even better and faster. If you are crazy about performance and like to juggle with lot of bits and bytes, join the Flink community! &lt;/p&gt;
+&lt;p&gt;The groundwork (and a lot more) for operating on binary data is done but there is still some room for making Flink even better and faster. If you are crazy about performance and like to juggle with lot of bits and bytes, join the Flink community!&lt;/p&gt;
 
 &lt;h2 id=&quot;tldr-give-me-three-things-to-remember&quot;&gt;TL;DR; Give me three things to remember!&lt;/h2&gt;
 
@@ -804,7 +804,7 @@ Tez as an execution backend instead of Flink’s own network stack. Learn more
 &lt;p&gt;In this blog post, we cut through Apache Flink’s layered architecture and take a look at its internals with a focus on how it handles joins. Specifically, I will&lt;/p&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;show how easy it is to join data sets using Flink’s fluent APIs, &lt;/li&gt;
+  &lt;li&gt;show how easy it is to join data sets using Flink’s fluent APIs,&lt;/li&gt;
   &lt;li&gt;discuss basic distributed join strategies, Flink’s join implementations, and its memory management,&lt;/li&gt;
   &lt;li&gt;talk about Flink’s optimizer that automatically chooses join strategies,&lt;/li&gt;
   &lt;li&gt;show some performance numbers for joining data sets of different sizes, and finally&lt;/li&gt;
@@ -815,7 +815,7 @@ Tez as an execution backend instead of Flink’s own network stack. Learn more
 
 &lt;h3 id=&quot;how-do-i-join-with-flink&quot;&gt;How do I join with Flink?&lt;/h3&gt;
 
-&lt;p&gt;Flink provides fluent APIs in Java and Scala to write data flow programs. Flink’s APIs are centered around parallel data collections which are called data sets. data sets are processed by applying Transformations that compute new data sets. Flink’s transformations include Map and Reduce as known from MapReduce &lt;a href=&quot;http://research.google.com/archive/mapreduce.html&quot;&gt;[1]&lt;/a&gt; but also operators for joining, co-grouping, and iterative processing. The documentation gives an overview of all available transformations &lt;a href=&quot;http://ci.apache.org/projects/flink/flink-docs-release-0.8/dataset_transformations.html&quot;&gt;[2]&lt;/a&gt;. &lt;/p&gt;
+&lt;p&gt;Flink provides fluent APIs in Java and Scala to write data flow programs. Flink’s APIs are centered around parallel data collections which are called data sets. data sets are processed by applying Transformations that compute new data sets. Flink’s transformations include Map and Reduce as known from MapReduce &lt;a href=&quot;http://research.google.com/archive/mapreduce.html&quot;&gt;[1]&lt;/a&gt; but also operators for joining, co-grouping, and iterative processing. The documentation gives an overview of all available transformations &lt;a href=&quot;http://ci.apache.org/projects/flink/flink-docs-release-0.8/dataset_transformations.html&quot;&gt;[2]&lt;/a&gt;.&lt;/p&gt;
 
 &lt;p&gt;Joining two Scala case class data sets is very easy as the following example shows:&lt;/p&gt;
 
@@ -852,7 +852,7 @@ Tez as an execution backend instead of Flink’s own network stack. Learn more
 
 &lt;ol&gt;
   &lt;li&gt;The data of both inputs is distributed across all parallel instances that participate in the join and&lt;/li&gt;
-  &lt;li&gt;each parallel instance performs a standard stand-alone join algorithm on its local partition of the overall data. &lt;/li&gt;
+  &lt;li&gt;each parallel instance performs a standard stand-alone join algorithm on its local partition of the overall data.&lt;/li&gt;
 &lt;/ol&gt;
 
 &lt;p&gt;The distribution of data across parallel instances must ensure that each valid join pair can be locally built by exactly one instance. For both steps, there are multiple valid strategies that can be independently picked and which are favorable in different situations. In Flink terminology, the first phase is called Ship Strategy and the second phase Local Strategy. In the following I will describe Flink’s ship and local strategies to join two data sets &lt;em&gt;R&lt;/em&gt; and &lt;em&gt;S&lt;/em&gt;.&lt;/p&gt;
@@ -871,7 +871,7 @@ Tez as an execution backend instead of Flink’s own network stack. Learn more
 &lt;img src=&quot;/img/blog/joins-repartition.png&quot; style=&quot;width:90%;margin:15px&quot; /&gt;
 &lt;/center&gt;
 
-&lt;p&gt;The Broadcast-Forward strategy sends one complete data set (R) to each parallel instance that holds a partition of the other data set (S), i.e., each parallel instance receives the full data set R. Data set S remains local and is not shipped at all. The cost of the BF strategy depends on the size of R and the number of parallel instances it is shipped to. The size of S does not matter because S is not moved. The figure below illustrates how both ship strategies work. &lt;/p&gt;
+&lt;p&gt;The Broadcast-Forward strategy sends one complete data set (R) to each parallel instance that holds a partition of the other data set (S), i.e., each parallel instance receives the full data set R. Data set S remains local and is not shipped at all. The cost of the BF strategy depends on the size of R and the number of parallel instances it is shipped to. The size of S does not matter because S is not moved. The figure below illustrates how both ship strategies work.&lt;/p&gt;
 
 &lt;center&gt;
 &lt;img src=&quot;/img/blog/joins-broadcast.png&quot; style=&quot;width:90%;margin:15px&quot; /&gt;
@@ -880,7 +880,7 @@ Tez as an execution backend instead of Flink’s own network stack. Learn more
 &lt;p&gt;The Repartition-Repartition and Broadcast-Forward ship strategies establish suitable data distributions to execute a distributed join. Depending on the operations that are applied before the join, one or even both inputs of a join are already distributed in a suitable way across parallel instances. In this case, Flink will reuse such distributions and only ship one or no input at all.&lt;/p&gt;
 
 &lt;h4 id=&quot;flinks-memory-management&quot;&gt;Flink’s Memory Management&lt;/h4&gt;
-&lt;p&gt;Before delving into the details of Flink’s local join algorithms, I will briefly discuss Flink’s internal memory management. Data processing algorithms such as joining, grouping, and sorting need to hold portions of their input data in memory. While such algorithms perform best if there is enough memory available to hold all data, it is crucial to gracefully handle situations where the data size exceeds memory. Such situations are especially tricky in JVM-based systems such as Flink because the system needs to reliably recognize that it is short on memory. Failure to detect such situations can result in an &lt;code&gt;OutOfMemoryException&lt;/code&gt; and kill the JVM. &lt;/p&gt;
+&lt;p&gt;Before delving into the details of Flink’s local join algorithms, I will briefly discuss Flink’s internal memory management. Data processing algorithms such as joining, grouping, and sorting need to hold portions of their input data in memory. While such algorithms perform best if there is enough memory available to hold all data, it is crucial to gracefully handle situations where the data size exceeds memory. Such situations are especially tricky in JVM-based systems such as Flink because the system needs to reliably recognize that it is short on memory. Failure to detect such situations can result in an &lt;code&gt;OutOfMemoryException&lt;/code&gt; and kill the JVM.&lt;/p&gt;
 
 &lt;p&gt;Flink handles this challenge by actively managing its memory. When a worker node (TaskManager) is started, it allocates a fixed portion (70% by default) of the JVM’s heap memory that is available after initialization as 32KB byte arrays. These byte arrays are distributed as working memory to all algorithms that need to hold significant portions of data in memory. The algorithms receive their input data as Java data objects and serialize them into their working memory.&lt;/p&gt;
 
@@ -897,7 +897,7 @@ Tez as an execution backend instead of Flink’s own network stack. Learn more
 &lt;p&gt;After the data has been distributed across all parallel join instances using either a Repartition-Repartition or Broadcast-Forward ship strategy, each instance runs a local join algorithm to join the elements of its local partition. Flink’s runtime features two common join strategies to perform these local joins:&lt;/p&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;the &lt;em&gt;Sort-Merge-Join&lt;/em&gt; strategy (SM) and &lt;/li&gt;
+  &lt;li&gt;the &lt;em&gt;Sort-Merge-Join&lt;/em&gt; strategy (SM) and&lt;/li&gt;
   &lt;li&gt;the &lt;em&gt;Hybrid-Hash-Join&lt;/em&gt; strategy (HH).&lt;/li&gt;
 &lt;/ul&gt;
 
@@ -942,13 +942,13 @@ Tez as an execution backend instead of Flink’s own network stack. Learn more
 &lt;ul&gt;
   &lt;li&gt;1GB     : 1000GB&lt;/li&gt;
   &lt;li&gt;10GB    : 1000GB&lt;/li&gt;
-  &lt;li&gt;100GB   : 1000GB &lt;/li&gt;
+  &lt;li&gt;100GB   : 1000GB&lt;/li&gt;
   &lt;li&gt;1000GB  : 1000GB&lt;/li&gt;
 &lt;/ul&gt;
 
 &lt;p&gt;The Broadcast-Forward strategy is only executed for up to 10GB. Building a hash table from 100GB broadcasted data in 5GB working memory would result in spilling proximately 95GB (build input) + 950GB (probe input) in each parallel thread and require more than 8TB local disk storage on each machine.&lt;/p&gt;
 
-&lt;p&gt;As in the single-core benchmark, we run 1:N joins, generate the data on-the-fly, and immediately discard the result after the join. We run the benchmark on 10 n1-highmem-8 Google Compute Engine instances. Each instance is equipped with 8 cores, 52GB RAM, 40GB of which are configured as working memory (5GB per core), and one local SSD for spilling to disk. All benchmarks are performed using the same configuration, i.e., no fine tuning for the respective data sizes is done. The programs are executed with a parallelism of 80. &lt;/p&gt;
+&lt;p&gt;As in the single-core benchmark, we run 1:N joins, generate the data on-the-fly, and immediately discard the result after the join. We run the benchmark on 10 n1-highmem-8 Google Compute Engine instances. Each instance is equipped with 8 cores, 52GB RAM, 40GB of which are configured as working memory (5GB per core), and one local SSD for spilling to disk. All benchmarks are performed using the same configuration, i.e., no fine tuning for the respective data sizes is done. The programs are executed with a parallelism of 80.&lt;/p&gt;
 
 &lt;center&gt;
 &lt;img src=&quot;/img/blog/joins-dist-perf.png&quot; style=&quot;width:70%;margin:15px&quot; /&gt;
@@ -965,7 +965,7 @@ Tez as an execution backend instead of Flink’s own network stack. Learn more
 &lt;ul&gt;
   &lt;li&gt;Flink’s fluent Scala and Java APIs make joins and other data transformations easy as cake.&lt;/li&gt;
   &lt;li&gt;The optimizer does the hard choices for you, but gives you control in case you know better.&lt;/li&gt;
-  &lt;li&gt;Flink’s join implementations perform very good in-memory and gracefully degrade when going to disk. &lt;/li&gt;
+  &lt;li&gt;Flink’s join implementations perform very good in-memory and gracefully degrade when going to disk.&lt;/li&gt;
   &lt;li&gt;Due to Flink’s robust memory management, there is no need for job- or data-specific memory tuning to avoid a nasty &lt;code&gt;OutOfMemoryException&lt;/code&gt;. It just runs out-of-the-box.&lt;/li&gt;
 &lt;/ul&gt;
 
@@ -1136,7 +1136,7 @@ found &lt;a href=&quot;https://github.com/mbalassi/flink/blob/stockprices/flink-
   &lt;li&gt;Read a socket stream of stock prices&lt;/li&gt;
   &lt;li&gt;Parse the text in the stream to create a stream of &lt;code&gt;StockPrice&lt;/code&gt; objects&lt;/li&gt;
   &lt;li&gt;Add four other sources tagged with the stock symbol.&lt;/li&gt;
-  &lt;li&gt;Finally, merge the streams to create a unified stream. &lt;/li&gt;
+  &lt;li&gt;Finally, merge the streams to create a unified stream.&lt;/li&gt;
 &lt;/ol&gt;
 
 &lt;p&gt;&lt;img alt=&quot;Reading from multiple inputs&quot; src=&quot;/img/blog/blog_multi_input.png&quot; width=&quot;70%&quot; class=&quot;img-responsive center-block&quot; /&gt;&lt;/p&gt;
@@ -1608,7 +1608,7 @@ number of mentions of a given stock in the Twitter stream. As both of
 these data streams are potentially infinite, we apply the join on a
 30-second window.&lt;/p&gt;
 
-&lt;p&gt;&lt;img alt=&quot;Streaming joins&quot; src=&quot;/img/blog/blog_stream_join.png&quot; width=&quot;60%&quot; class=&quot;img-responsive center-block&quot; /&gt; &lt;/p&gt;
+&lt;p&gt;&lt;img alt=&quot;Streaming joins&quot; src=&quot;/img/blog/blog_stream_join.png&quot; width=&quot;60%&quot; class=&quot;img-responsive center-block&quot; /&gt;&lt;/p&gt;
 
 &lt;div class=&quot;codetabs&quot;&gt;
 
@@ -1777,7 +1777,7 @@ internally, fault tolerance, and performance measurements!&lt;/p&gt;
 
 &lt;h3 id=&quot;using-off-heap-memoryhttpsgithubcomapacheflinkpull290&quot;&gt;&lt;a href=&quot;https://github.com/apache/flink/pull/290&quot;&gt;Using off-heap memory&lt;/a&gt;&lt;/h3&gt;
 
-&lt;p&gt;This pull request enables Flink to use off-heap memory for its internal memory uses (sort, hash, caching of intermediate data sets). &lt;/p&gt;
+&lt;p&gt;This pull request enables Flink to use off-heap memory for its internal memory uses (sort, hash, caching of intermediate data sets).&lt;/p&gt;
 
 &lt;h3 id=&quot;gelly-flinks-graph-apihttpsgithubcomapacheflinkpull335&quot;&gt;&lt;a href=&quot;https://github.com/apache/flink/pull/335&quot;&gt;Gelly, Flink’s Graph API&lt;/a&gt;&lt;/h3&gt;
 
@@ -1849,7 +1849,7 @@ internally, fault tolerance, and performance measurements!&lt;/p&gt;
   &lt;li&gt;Stefan Bunk&lt;/li&gt;
   &lt;li&gt;Paris Carbone&lt;/li&gt;
   &lt;li&gt;Ufuk Celebi&lt;/li&gt;
-  &lt;li&gt;Nils Engelbach &lt;/li&gt;
+  &lt;li&gt;Nils Engelbach&lt;/li&gt;
   &lt;li&gt;Stephan Ewen&lt;/li&gt;
   &lt;li&gt;Gyula Fora&lt;/li&gt;
   &lt;li&gt;Gabor Hermann&lt;/li&gt;
@@ -1954,7 +1954,7 @@ Flink serialization system improved a lot over time and by now surpasses the cap
 &lt;img src=&quot;/img/blog/hcompat-logos.png&quot; style=&quot;width:30%;margin:15px&quot; /&gt;
 &lt;/center&gt;
 
-&lt;p&gt;To close this gap, Flink provides a Hadoop Compatibility package to wrap functions implemented against Hadoop’s MapReduce interfaces and embed them in Flink programs. This package was developed as part of a &lt;a href=&quot;https://developers.google.com/open-source/soc/&quot;&gt;Google Summer of Code&lt;/a&gt; 2014 project. &lt;/p&gt;
+&lt;p&gt;To close this gap, Flink provides a Hadoop Compatibility package to wrap functions implemented against Hadoop’s MapReduce interfaces and embed them in Flink programs. This package was developed as part of a &lt;a href=&quot;https://developers.google.com/open-source/soc/&quot;&gt;Google Summer of Code&lt;/a&gt; 2014 project.&lt;/p&gt;
 
 &lt;p&gt;With the Hadoop Compatibility package, you can reuse all your Hadoop&lt;/p&gt;
 
@@ -1967,7 +1967,7 @@ Flink serialization system improved a lot over time and by now surpasses the cap
 
 &lt;p&gt;in Flink programs without changing a line of code. Moreover, Flink also natively supports all Hadoop data types (&lt;code&gt;Writables&lt;/code&gt; and &lt;code&gt;WritableComparable&lt;/code&gt;).&lt;/p&gt;
 
-&lt;p&gt;The following code snippet shows a simple Flink WordCount program that solely uses Hadoop data types, InputFormat, OutputFormat, Mapper, and Reducer functions. &lt;/p&gt;
+&lt;p&gt;The following code snippet shows a simple Flink WordCount program that solely uses Hadoop data types, InputFormat, OutputFormat, Mapper, and Reducer functions.&lt;/p&gt;
 
 &lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;&lt;span class=&quot;c1&quot;&gt;// Definition of Hadoop Mapper function&lt;/span&gt;
 &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Tokenizer&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;implements&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Mapper&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;LongWritable&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Text&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Text&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;LongWritable&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;...&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
@@ -2053,7 +2053,7 @@ Flink serialization system improved a lot over time and by now surpasses the cap
 
 &lt;p&gt;&lt;strong&gt;Record API deprecated:&lt;/strong&gt; The (old) Stratosphere Record API has been marked as deprecated and is planned for removal in the 0.9.0 release.&lt;/p&gt;
 
-&lt;p&gt;&lt;strong&gt;BLOB service:&lt;/strong&gt; This release contains a new service to distribute jar files and other binary data among the JobManager, TaskManagers and the client. &lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;BLOB service:&lt;/strong&gt; This release contains a new service to distribute jar files and other binary data among the JobManager, TaskManagers and the client.&lt;/p&gt;
 
 &lt;p&gt;&lt;strong&gt;Intermediate data sets:&lt;/strong&gt; A major rewrite of the system internals introduces intermediate data sets as first class citizens. The internal state machine that tracks the distributed tasks has also been completely rewritten for scalability. While this is not visible as a user-facing feature yet, it is the foundation for several upcoming exciting features.&lt;/p&gt;
 
@@ -2489,7 +2489,7 @@ Applying students can use our wiki (create a new page) to create a project propo
 ssh hadoop@ec2-54-213-61-105.us-west-2.compute.amazonaws.com -i ~/Downloads/work-laptop.pem&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 
 &lt;p&gt;(Windows users have to follow &lt;a href=&quot;http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-connect-master-node-ssh.html&quot;&gt;these instructions&lt;/a&gt; to SSH into the machine running the master.) &amp;lt;/br&amp;gt;&amp;lt;/br&amp;gt;
-Once connected to the master, download and start Stratosphere for YARN: &lt;/p&gt;
+Once connected to the master, download and start Stratosphere for YARN:&lt;/p&gt;
 &lt;ul&gt;
 	&lt;li&gt;Download and extract Stratosphere-YARN&lt;/li&gt;
 
@@ -2512,11 +2512,11 @@ The arguments have the following meaning
 	&lt;/ul&gt;
 &lt;/ul&gt;
 
-&lt;p&gt;Once the output has changed from &lt;/p&gt;
+&lt;p&gt;Once the output has changed from&lt;/p&gt;
 
 &lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;JobManager is now running on N/A:6123&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 
-&lt;p&gt;to &lt;/p&gt;
+&lt;p&gt;to&lt;/p&gt;
 
 &lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;JobManager is now running on ip-172-31-13-68.us-west-2.compute.internal:6123&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 
@@ -2738,7 +2738,7 @@ You can now press the “Run” button and see how Stratosphere executes the lit
 
 <item>
 <title>Stratosphere 0.4 Released</title>
-<description>&lt;p&gt;We are pleased to announce that version 0.4 of the Stratosphere system has been released. &lt;/p&gt;
+<description>&lt;p&gt;We are pleased to announce that version 0.4 of the Stratosphere system has been released.&lt;/p&gt;
 
 &lt;p&gt;Our team has been working hard during the last few months to create an improved and stable Stratosphere version. The new version comes with many new features, usability and performance improvements in all levels, including a new Scala API for the concise specification of programs, a Pregel-like API, support for Yarn clusters, and major performance improvements. The system features now first-class support for iterative programs and thus covers traditional analytical use cases as well as data mining and graph processing use cases with great performance.&lt;/p&gt;
 
@@ -2766,7 +2766,7 @@ Follow &lt;a href=&quot;/docs/0.4/setup/yarn.html&quot;&gt;our guide&lt;/a&gt; o
 &lt;p&gt;The high-level language Meteor now natively serializes JSON trees for greater performance and offers additional operators and file formats. We greatly empowered the user to write crispier scripts by adding second-order functions, multi-output operators, and other syntactical sugar. For developers of Meteor packages, the API is much more comprehensive and allows to define custom data types that can be easily embedded in JSON trees through ad-hoc byte code generation.&lt;/p&gt;
 
 &lt;h3 id=&quot;spargel-pregel-inspired-graph-processing&quot;&gt;Spargel: Pregel Inspired Graph Processing&lt;/h3&gt;
-&lt;p&gt;Spargel is a vertex-centric API similar to the interface proposed in Google’s Pregel paper and implemented in Apache Giraph. Spargel is implemented in 500 lines of code (including comments) on top of Stratosphere’s delta iterations feature. This confirms the flexibility of Stratosphere’s architecture. &lt;/p&gt;
+&lt;p&gt;Spargel is a vertex-centric API similar to the interface proposed in Google’s Pregel paper and implemented in Apache Giraph. Spargel is implemented in 500 lines of code (including comments) on top of Stratosphere’s delta iterations feature. This confirms the flexibility of Stratosphere’s architecture.&lt;/p&gt;
 
 &lt;h3 id=&quot;web-frontend&quot;&gt;Web Frontend&lt;/h3&gt;
 &lt;p&gt;Using the new web frontend, you can monitor the progress of Stratosphere jobs. For finished jobs, the frontend shows a breakdown of the execution times for each operator. The webclient also visualizes the execution strategies chosen by the optimizer.&lt;/p&gt;
@@ -2794,7 +2794,7 @@ Follow &lt;a href=&quot;/docs/0.4/setup/yarn.html&quot;&gt;our guide&lt;/a&gt; o
 &lt;/ul&gt;
 
 &lt;h3 id=&quot;download-and-get-started-with-stratosphere-v04&quot;&gt;Download and get started with Stratosphere v0.4&lt;/h3&gt;
-&lt;p&gt;There are several options for getting started with Stratosphere. &lt;/p&gt;
+&lt;p&gt;There are several options for getting started with Stratosphere.&lt;/p&gt;
 
 &lt;ul&gt;
   &lt;li&gt;Download it on the &lt;a href=&quot;/downloads&quot;&gt;download page&lt;/a&gt;&lt;/li&gt;

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/blog/page3/index.html
----------------------------------------------------------------------
diff --git a/content/blog/page3/index.html b/content/blog/page3/index.html
index 441e662..fbecfe7 100644
--- a/content/blog/page3/index.html
+++ b/content/blog/page3/index.html
@@ -175,7 +175,7 @@
       <h2 class="blog-title"><a href="/news/2014/01/13/stratosphere-release-0.4.html">Stratosphere 0.4 Released</a></h2>
       <p>13 Jan 2014</p>
 
-      <p><p>We are pleased to announce that version 0.4 of the Stratosphere system has been released. </p>
+      <p><p>We are pleased to announce that version 0.4 of the Stratosphere system has been released.</p>
 
 </p>
 

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/community.html
----------------------------------------------------------------------
diff --git a/content/community.html b/content/community.html
index ce85100..e32d442 100644
--- a/content/community.html
+++ b/content/community.html
@@ -147,17 +147,17 @@
 
 <div class="page-toc">
 <ul id="markdown-toc">
-  <li><a href="#mailing-lists">Mailing Lists</a></li>
-  <li><a href="#irc">IRC</a></li>
-  <li><a href="#stack-overflow">Stack Overflow</a></li>
-  <li><a href="#issue-tracker">Issue Tracker</a></li>
-  <li><a href="#source-code">Source Code</a>    <ul>
-      <li><a href="#main-source-repositories">Main source repositories</a></li>
-      <li><a href="#website-repositories">Website repositories</a></li>
+  <li><a href="#mailing-lists" id="markdown-toc-mailing-lists">Mailing Lists</a></li>
+  <li><a href="#irc" id="markdown-toc-irc">IRC</a></li>
+  <li><a href="#stack-overflow" id="markdown-toc-stack-overflow">Stack Overflow</a></li>
+  <li><a href="#issue-tracker" id="markdown-toc-issue-tracker">Issue Tracker</a></li>
+  <li><a href="#source-code" id="markdown-toc-source-code">Source Code</a>    <ul>
+      <li><a href="#main-source-repositories" id="markdown-toc-main-source-repositories">Main source repositories</a></li>
+      <li><a href="#website-repositories" id="markdown-toc-website-repositories">Website repositories</a></li>
     </ul>
   </li>
-  <li><a href="#people">People</a></li>
-  <li><a href="#former-mentors">Former mentors</a></li>
+  <li><a href="#people" id="markdown-toc-people">People</a></li>
+  <li><a href="#former-mentors" id="markdown-toc-former-mentors">Former mentors</a></li>
 </ul>
 
 </div>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/downloads.html
----------------------------------------------------------------------
diff --git a/content/downloads.html b/content/downloads.html
index 26167a6..566da2e 100644
--- a/content/downloads.html
+++ b/content/downloads.html
@@ -156,9 +156,9 @@ $( document ).ready(function() {
 
 <div class="page-toc">
 <ul id="markdown-toc">
-  <li><a href="#latest-stable-release-v090">Latest stable release (v0.9.0)</a></li>
-  <li><a href="#maven-dependencies">Maven Dependencies</a></li>
-  <li><a href="#all-releases">All releases</a></li>
+  <li><a href="#latest-stable-release-v090" id="markdown-toc-latest-stable-release-v090">Latest stable release (v0.9.0)</a></li>
+  <li><a href="#maven-dependencies" id="markdown-toc-maven-dependencies">Maven Dependencies</a></li>
+  <li><a href="#all-releases" id="markdown-toc-all-releases">All releases</a></li>
 </ul>
 
 </div>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/faq.html
----------------------------------------------------------------------
diff --git a/content/faq.html b/content/faq.html
index 85b5f81..b23114b 100644
--- a/content/faq.html
+++ b/content/faq.html
@@ -166,40 +166,40 @@ under the License.
 
 <div class="page-toc">
 <ul id="markdown-toc">
-  <li><a href="#general">General</a>    <ul>
-      <li><a href="#is-flink-a-hadoop-project">Is Flink a Hadoop Project?</a></li>
-      <li><a href="#do-i-have-to-install-apache-hadoop-to-use-flink">Do I have to install Apache Hadoop to use Flink?</a></li>
+  <li><a href="#general" id="markdown-toc-general">General</a>    <ul>
+      <li><a href="#is-flink-a-hadoop-project" id="markdown-toc-is-flink-a-hadoop-project">Is Flink a Hadoop Project?</a></li>
+      <li><a href="#do-i-have-to-install-apache-hadoop-to-use-flink" id="markdown-toc-do-i-have-to-install-apache-hadoop-to-use-flink">Do I have to install Apache Hadoop to use Flink?</a></li>
     </ul>
   </li>
-  <li><a href="#usage">Usage</a>    <ul>
-      <li><a href="#how-do-i-assess-the-progress-of-a-flink-program">How do I assess the progress of a Flink program?</a></li>
-      <li><a href="#how-can-i-figure-out-why-a-program-failed">How can I figure out why a program failed?</a></li>
-      <li><a href="#how-do-i-debug-flink-programs">How do I debug Flink programs?</a></li>
-      <li><a href="#what-is-the-parallelism-how-do-i-set-it">What is the parallelism? How do I set it?</a></li>
+  <li><a href="#usage" id="markdown-toc-usage">Usage</a>    <ul>
+      <li><a href="#how-do-i-assess-the-progress-of-a-flink-program" id="markdown-toc-how-do-i-assess-the-progress-of-a-flink-program">How do I assess the progress of a Flink program?</a></li>
+      <li><a href="#how-can-i-figure-out-why-a-program-failed" id="markdown-toc-how-can-i-figure-out-why-a-program-failed">How can I figure out why a program failed?</a></li>
+      <li><a href="#how-do-i-debug-flink-programs" id="markdown-toc-how-do-i-debug-flink-programs">How do I debug Flink programs?</a></li>
+      <li><a href="#what-is-the-parallelism-how-do-i-set-it" id="markdown-toc-what-is-the-parallelism-how-do-i-set-it">What is the parallelism? How do I set it?</a></li>
     </ul>
   </li>
-  <li><a href="#errors">Errors</a>    <ul>
-      <li><a href="#why-am-i-getting-a-nonserializableexception-">Why am I getting a “NonSerializableException” ?</a></li>
-      <li><a href="#in-scala-api-i-get-an-error-about-implicit-values-and-evidence-parameters">In Scala API, I get an error about implicit values and evidence parameters</a></li>
-      <li><a href="#i-get-an-error-message-saying-that-not-enough-buffers-are-available-how-do-i-fix-this">I get an error message saying that not enough buffers are available. How do I fix this?</a></li>
-      <li><a href="#my-job-fails-early-with-a-javaioeofexception-what-could-be-the-cause">My job fails early with a java.io.EOFException. What could be the cause?</a></li>
-      <li><a href="#my-job-fails-with-various-exceptions-from-the-hdfshadoop-code-what-can-i-do">My job fails with various exceptions from the HDFS/Hadoop code. What can I do?</a></li>
-      <li><a href="#in-eclipse-i-get-compilation-errors-in-the-scala-projects">In Eclipse, I get compilation errors in the Scala projects</a></li>
-      <li><a href="#my-program-does-not-compute-the-correct-result-why-are-my-custom-key-types">My program does not compute the correct result. Why are my custom key types</a></li>
-      <li><a href="#i-get-a-javalanginstantiationexception-for-my-data-type-what-is-wrong">I get a java.lang.InstantiationException for my data type, what is wrong?</a></li>
-      <li><a href="#i-cant-stop-flink-with-the-provided-stop-scripts-what-can-i-do">I can’t stop Flink with the provided stop-scripts. What can I do?</a></li>
-      <li><a href="#i-got-an-outofmemoryexception-what-can-i-do">I got an OutOfMemoryException. What can I do?</a></li>
-      <li><a href="#why-do-the-taskmanager-log-files-become-so-huge">Why do the TaskManager log files become so huge?</a></li>
+  <li><a href="#errors" id="markdown-toc-errors">Errors</a>    <ul>
+      <li><a href="#why-am-i-getting-a-nonserializableexception-" id="markdown-toc-why-am-i-getting-a-nonserializableexception-">Why am I getting a “NonSerializableException” ?</a></li>
+      <li><a href="#in-scala-api-i-get-an-error-about-implicit-values-and-evidence-parameters" id="markdown-toc-in-scala-api-i-get-an-error-about-implicit-values-and-evidence-parameters">In Scala API, I get an error about implicit values and evidence parameters</a></li>
+      <li><a href="#i-get-an-error-message-saying-that-not-enough-buffers-are-available-how-do-i-fix-this" id="markdown-toc-i-get-an-error-message-saying-that-not-enough-buffers-are-available-how-do-i-fix-this">I get an error message saying that not enough buffers are available. How do I fix this?</a></li>
+      <li><a href="#my-job-fails-early-with-a-javaioeofexception-what-could-be-the-cause" id="markdown-toc-my-job-fails-early-with-a-javaioeofexception-what-could-be-the-cause">My job fails early with a java.io.EOFException. What could be the cause?</a></li>
+      <li><a href="#my-job-fails-with-various-exceptions-from-the-hdfshadoop-code-what-can-i-do" id="markdown-toc-my-job-fails-with-various-exceptions-from-the-hdfshadoop-code-what-can-i-do">My job fails with various exceptions from the HDFS/Hadoop code. What can I do?</a></li>
+      <li><a href="#in-eclipse-i-get-compilation-errors-in-the-scala-projects" id="markdown-toc-in-eclipse-i-get-compilation-errors-in-the-scala-projects">In Eclipse, I get compilation errors in the Scala projects</a></li>
+      <li><a href="#my-program-does-not-compute-the-correct-result-why-are-my-custom-key-types" id="markdown-toc-my-program-does-not-compute-the-correct-result-why-are-my-custom-key-types">My program does not compute the correct result. Why are my custom key types</a></li>
+      <li><a href="#i-get-a-javalanginstantiationexception-for-my-data-type-what-is-wrong" id="markdown-toc-i-get-a-javalanginstantiationexception-for-my-data-type-what-is-wrong">I get a java.lang.InstantiationException for my data type, what is wrong?</a></li>
+      <li><a href="#i-cant-stop-flink-with-the-provided-stop-scripts-what-can-i-do" id="markdown-toc-i-cant-stop-flink-with-the-provided-stop-scripts-what-can-i-do">I can’t stop Flink with the provided stop-scripts. What can I do?</a></li>
+      <li><a href="#i-got-an-outofmemoryexception-what-can-i-do" id="markdown-toc-i-got-an-outofmemoryexception-what-can-i-do">I got an OutOfMemoryException. What can I do?</a></li>
+      <li><a href="#why-do-the-taskmanager-log-files-become-so-huge" id="markdown-toc-why-do-the-taskmanager-log-files-become-so-huge">Why do the TaskManager log files become so huge?</a></li>
     </ul>
   </li>
-  <li><a href="#yarn-deployment">YARN Deployment</a>    <ul>
-      <li><a href="#the-yarn-session-runs-only-for-a-few-seconds">The YARN session runs only for a few seconds</a></li>
-      <li><a href="#the-yarn-session-crashes-with-a-hdfs-permission-exception-during-startup">The YARN session crashes with a HDFS permission exception during startup</a></li>
+  <li><a href="#yarn-deployment" id="markdown-toc-yarn-deployment">YARN Deployment</a>    <ul>
+      <li><a href="#the-yarn-session-runs-only-for-a-few-seconds" id="markdown-toc-the-yarn-session-runs-only-for-a-few-seconds">The YARN session runs only for a few seconds</a></li>
+      <li><a href="#the-yarn-session-crashes-with-a-hdfs-permission-exception-during-startup" id="markdown-toc-the-yarn-session-crashes-with-a-hdfs-permission-exception-during-startup">The YARN session crashes with a HDFS permission exception during startup</a></li>
     </ul>
   </li>
-  <li><a href="#features">Features</a>    <ul>
-      <li><a href="#what-kind-of-fault-tolerance-does-flink-provide">What kind of fault-tolerance does Flink provide?</a></li>
-      <li><a href="#are-hadoop-like-utilities-such-as-counters-and-the-distributedcache-supported">Are Hadoop-like utilities, such as Counters and the DistributedCache supported?</a></li>
+  <li><a href="#features" id="markdown-toc-features">Features</a>    <ul>
+      <li><a href="#what-kind-of-fault-tolerance-does-flink-provide" id="markdown-toc-what-kind-of-fault-tolerance-does-flink-provide">What kind of fault-tolerance does Flink provide?</a></li>
+      <li><a href="#are-hadoop-like-utilities-such-as-counters-and-the-distributedcache-supported" id="markdown-toc-are-hadoop-like-utilities-such-as-counters-and-the-distributedcache-supported">Are Hadoop-like utilities, such as Counters and the DistributedCache supported?</a></li>
     </ul>
   </li>
 </ul>
@@ -429,7 +429,7 @@ cluster.sh</code>). You can kill their processes on Linux/Mac as follows:</p>
 <ul>
   <li>Determine the process id (pid) of the JobManager / TaskManager process. You
 can use the <code>jps</code> command on Linux(if you have OpenJDK installed) or command
-<code>ps -ef | grep java</code> to find all Java processes. </li>
+<code>ps -ef | grep java</code> to find all Java processes.</li>
   <li>Kill the process with <code>kill -9 &lt;pid&gt;</code>, where <code>pid</code> is the process id of the
 affected JobManager or TaskManager process.</li>
 </ul>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/features.html
----------------------------------------------------------------------
diff --git a/content/features.html b/content/features.html
index 6e03303..297e3d0 100644
--- a/content/features.html
+++ b/content/features.html
@@ -367,7 +367,7 @@
 <div class="row">
   <div class="col-sm-5">
     <p class="lead">The <i>DataStream</i> API supports functional transformations on data streams, with user-defined state, and flexible windows.</p>
-    <p class="lead">The example shows how to compute a sliding historam of word occurrences of a data stream of texts.</p>
+    <p class="lead">The example shows how to compute a sliding histogram of word occurrences of a data stream of texts.</p>
   </div>
   <div class="col-sm-7">
     <p class="lead">WindowWordCount in Flink's DataStream API</p>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/how-to-contribute.html
----------------------------------------------------------------------
diff --git a/content/how-to-contribute.html b/content/how-to-contribute.html
index 68208ac..9bfb253 100644
--- a/content/how-to-contribute.html
+++ b/content/how-to-contribute.html
@@ -147,22 +147,22 @@
 
 <div class="page-toc">
 <ul id="markdown-toc">
-  <li><a href="#easy-issues-for-starters">Easy Issues for Starters</a></li>
-  <li><a href="#contributing-code--documentation">Contributing Code &amp; Documentation</a>    <ul>
-      <li><a href="#setting-up-the-infrastructure-and-creating-a-pull-request">Setting up the Infrastructure and Creating a Pull Request</a></li>
-      <li><a href="#verifying-the-compliance-of-your-code">Verifying the Compliance of your Code</a></li>
+  <li><a href="#easy-issues-for-starters" id="markdown-toc-easy-issues-for-starters">Easy Issues for Starters</a></li>
+  <li><a href="#contributing-code--documentation" id="markdown-toc-contributing-code--documentation">Contributing Code &amp; Documentation</a>    <ul>
+      <li><a href="#setting-up-the-infrastructure-and-creating-a-pull-request" id="markdown-toc-setting-up-the-infrastructure-and-creating-a-pull-request">Setting up the Infrastructure and Creating a Pull Request</a></li>
+      <li><a href="#verifying-the-compliance-of-your-code" id="markdown-toc-verifying-the-compliance-of-your-code">Verifying the Compliance of your Code</a></li>
     </ul>
   </li>
-  <li><a href="#contribute-changes-to-the-website">Contribute changes to the Website</a>    <ul>
-      <li><a href="#files-and-directories-in-the-website-git-repository">Files and Directories in the website git repository</a></li>
-      <li><a href="#the-buildsh-script">The <code>build.sh</code> script</a></li>
+  <li><a href="#contribute-changes-to-the-website" id="markdown-toc-contribute-changes-to-the-website">Contribute changes to the Website</a>    <ul>
+      <li><a href="#files-and-directories-in-the-website-git-repository" id="markdown-toc-files-and-directories-in-the-website-git-repository">Files and Directories in the website git repository</a></li>
+      <li><a href="#the-buildsh-script" id="markdown-toc-the-buildsh-script">The <code>build.sh</code> script</a></li>
     </ul>
   </li>
-  <li><a href="#how-to-become-a-committer">How to become a committer</a>    <ul>
-      <li><a href="#how-to-use-git-as-a-committer">How to use git as a committer</a></li>
+  <li><a href="#how-to-become-a-committer" id="markdown-toc-how-to-become-a-committer">How to become a committer</a>    <ul>
+      <li><a href="#how-to-use-git-as-a-committer" id="markdown-toc-how-to-use-git-as-a-committer">How to use git as a committer</a></li>
     </ul>
   </li>
-  <li><a href="#snapshots-nightly-builds">Snapshots (Nightly Builds)</a></li>
+  <li><a href="#snapshots-nightly-builds" id="markdown-toc-snapshots-nightly-builds">Snapshots (Nightly Builds)</a></li>
 </ul>
 
 </div>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/material.html
----------------------------------------------------------------------
diff --git a/content/material.html b/content/material.html
index 5f5a616..e79b068 100644
--- a/content/material.html
+++ b/content/material.html
@@ -145,13 +145,13 @@
 
 <div class="page-toc">
 <ul id="markdown-toc">
-  <li><a href="#apache-flink-logos">Apache Flink Logos</a>    <ul>
-      <li><a href="#portable-network-graphics-png">Portable Network Graphics (PNG)</a></li>
-      <li><a href="#scalable-vector-graphics-svg">Scalable Vector Graphics (SVG)</a></li>
-      <li><a href="#photoshop-psd">Photoshop (PSD)</a></li>
+  <li><a href="#apache-flink-logos" id="markdown-toc-apache-flink-logos">Apache Flink Logos</a>    <ul>
+      <li><a href="#portable-network-graphics-png" id="markdown-toc-portable-network-graphics-png">Portable Network Graphics (PNG)</a></li>
+      <li><a href="#scalable-vector-graphics-svg" id="markdown-toc-scalable-vector-graphics-svg">Scalable Vector Graphics (SVG)</a></li>
+      <li><a href="#photoshop-psd" id="markdown-toc-photoshop-psd">Photoshop (PSD)</a></li>
     </ul>
   </li>
-  <li><a href="#slides">Slides</a></li>
+  <li><a href="#slides" id="markdown-toc-slides">Slides</a></li>
 </ul>
 
 </div>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/news/2014/01/13/stratosphere-release-0.4.html
----------------------------------------------------------------------
diff --git a/content/news/2014/01/13/stratosphere-release-0.4.html b/content/news/2014/01/13/stratosphere-release-0.4.html
index 1be3a53..9845afe 100644
--- a/content/news/2014/01/13/stratosphere-release-0.4.html
+++ b/content/news/2014/01/13/stratosphere-release-0.4.html
@@ -145,7 +145,7 @@
       <article>
         <p>13 Jan 2014</p>
 
-<p>We are pleased to announce that version 0.4 of the Stratosphere system has been released. </p>
+<p>We are pleased to announce that version 0.4 of the Stratosphere system has been released.</p>
 
 <p>Our team has been working hard during the last few months to create an improved and stable Stratosphere version. The new version comes with many new features, usability and performance improvements in all levels, including a new Scala API for the concise specification of programs, a Pregel-like API, support for Yarn clusters, and major performance improvements. The system features now first-class support for iterative programs and thus covers traditional analytical use cases as well as data mining and graph processing use cases with great performance.</p>
 
@@ -173,7 +173,7 @@ Follow <a href="/docs/0.4/setup/yarn.html">our guide</a> on how to start a Strat
 <p>The high-level language Meteor now natively serializes JSON trees for greater performance and offers additional operators and file formats. We greatly empowered the user to write crispier scripts by adding second-order functions, multi-output operators, and other syntactical sugar. For developers of Meteor packages, the API is much more comprehensive and allows to define custom data types that can be easily embedded in JSON trees through ad-hoc byte code generation.</p>
 
 <h3 id="spargel-pregel-inspired-graph-processing">Spargel: Pregel Inspired Graph Processing</h3>
-<p>Spargel is a vertex-centric API similar to the interface proposed in Google’s Pregel paper and implemented in Apache Giraph. Spargel is implemented in 500 lines of code (including comments) on top of Stratosphere’s delta iterations feature. This confirms the flexibility of Stratosphere’s architecture. </p>
+<p>Spargel is a vertex-centric API similar to the interface proposed in Google’s Pregel paper and implemented in Apache Giraph. Spargel is implemented in 500 lines of code (including comments) on top of Stratosphere’s delta iterations feature. This confirms the flexibility of Stratosphere’s architecture.</p>
 
 <h3 id="web-frontend">Web Frontend</h3>
 <p>Using the new web frontend, you can monitor the progress of Stratosphere jobs. For finished jobs, the frontend shows a breakdown of the execution times for each operator. The webclient also visualizes the execution strategies chosen by the optimizer.</p>
@@ -201,7 +201,7 @@ Follow <a href="/docs/0.4/setup/yarn.html">our guide</a> on how to start a Strat
 </ul>
 
 <h3 id="download-and-get-started-with-stratosphere-v04">Download and get started with Stratosphere v0.4</h3>
-<p>There are several options for getting started with Stratosphere. </p>
+<p>There are several options for getting started with Stratosphere.</p>
 
 <ul>
   <li>Download it on the <a href="/downloads">download page</a></li>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/news/2014/02/18/amazon-elastic-mapreduce-cloud-yarn.html
----------------------------------------------------------------------
diff --git a/content/news/2014/02/18/amazon-elastic-mapreduce-cloud-yarn.html b/content/news/2014/02/18/amazon-elastic-mapreduce-cloud-yarn.html
index 664f597..aeec5e7 100644
--- a/content/news/2014/02/18/amazon-elastic-mapreduce-cloud-yarn.html
+++ b/content/news/2014/02/18/amazon-elastic-mapreduce-cloud-yarn.html
@@ -215,7 +215,7 @@
 ssh hadoop@ec2-54-213-61-105.us-west-2.compute.amazonaws.com -i ~/Downloads/work-laptop.pem</code></pre></div>
 
 <p>(Windows users have to follow <a href="http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-connect-master-node-ssh.html">these instructions</a> to SSH into the machine running the master.) &lt;/br&gt;&lt;/br&gt;
-Once connected to the master, download and start Stratosphere for YARN: </p>
+Once connected to the master, download and start Stratosphere for YARN:</p>
 <ul>
 	<li>Download and extract Stratosphere-YARN</li>
 
@@ -238,11 +238,11 @@ The arguments have the following meaning
 	</ul>
 </ul>
 
-<p>Once the output has changed from </p>
+<p>Once the output has changed from</p>
 
 <div class="highlight"><pre><code class="language-bash" data-lang="bash">JobManager is now running on N/A:6123</code></pre></div>
 
-<p>to </p>
+<p>to</p>
 
 <div class="highlight"><pre><code class="language-bash" data-lang="bash">JobManager is now running on ip-172-31-13-68.us-west-2.compute.internal:6123</code></pre></div>
 

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/news/2014/11/04/release-0.7.0.html
----------------------------------------------------------------------
diff --git a/content/news/2014/11/04/release-0.7.0.html b/content/news/2014/11/04/release-0.7.0.html
index 8756b15..d798825 100644
--- a/content/news/2014/11/04/release-0.7.0.html
+++ b/content/news/2014/11/04/release-0.7.0.html
@@ -165,7 +165,7 @@
 
 <p><strong>Record API deprecated:</strong> The (old) Stratosphere Record API has been marked as deprecated and is planned for removal in the 0.9.0 release.</p>
 
-<p><strong>BLOB service:</strong> This release contains a new service to distribute jar files and other binary data among the JobManager, TaskManagers and the client. </p>
+<p><strong>BLOB service:</strong> This release contains a new service to distribute jar files and other binary data among the JobManager, TaskManagers and the client.</p>
 
 <p><strong>Intermediate data sets:</strong> A major rewrite of the system internals introduces intermediate data sets as first class citizens. The internal state machine that tracks the distributed tasks has also been completely rewritten for scalability. While this is not visible as a user-facing feature yet, it is the foundation for several upcoming exciting features.</p>
 

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/news/2014/11/18/hadoop-compatibility.html
----------------------------------------------------------------------
diff --git a/content/news/2014/11/18/hadoop-compatibility.html b/content/news/2014/11/18/hadoop-compatibility.html
index bd5ab3a..0a6418b 100644
--- a/content/news/2014/11/18/hadoop-compatibility.html
+++ b/content/news/2014/11/18/hadoop-compatibility.html
@@ -153,7 +153,7 @@
 <img src="/img/blog/hcompat-logos.png" style="width:30%;margin:15px" />
 </center>
 
-<p>To close this gap, Flink provides a Hadoop Compatibility package to wrap functions implemented against Hadoop’s MapReduce interfaces and embed them in Flink programs. This package was developed as part of a <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a> 2014 project. </p>
+<p>To close this gap, Flink provides a Hadoop Compatibility package to wrap functions implemented against Hadoop’s MapReduce interfaces and embed them in Flink programs. This package was developed as part of a <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a> 2014 project.</p>
 
 <p>With the Hadoop Compatibility package, you can reuse all your Hadoop</p>
 
@@ -166,7 +166,7 @@
 
 <p>in Flink programs without changing a line of code. Moreover, Flink also natively supports all Hadoop data types (<code>Writables</code> and <code>WritableComparable</code>).</p>
 
-<p>The following code snippet shows a simple Flink WordCount program that solely uses Hadoop data types, InputFormat, OutputFormat, Mapper, and Reducer functions. </p>
+<p>The following code snippet shows a simple Flink WordCount program that solely uses Hadoop data types, InputFormat, OutputFormat, Mapper, and Reducer functions.</p>
 
 <div class="highlight"><pre><code class="language-java"><span class="c1">// Definition of Hadoop Mapper function</span>
 <span class="kd">public</span> <span class="kd">class</span> <span class="nc">Tokenizer</span> <span class="kd">implements</span> <span class="n">Mapper</span><span class="o">&lt;</span><span class="n">LongWritable</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">Text</span><span class="o">,</span> <span class="n">LongWritable</span><span class="o">&gt;</span> <span class="o">{</span> <span class="o">...</span> <span class="o">}</span>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/news/2015/01/21/release-0.8.html
----------------------------------------------------------------------
diff --git a/content/news/2015/01/21/release-0.8.html b/content/news/2015/01/21/release-0.8.html
index 3a3a678..65f997f 100644
--- a/content/news/2015/01/21/release-0.8.html
+++ b/content/news/2015/01/21/release-0.8.html
@@ -196,7 +196,7 @@
   <li>Stefan Bunk</li>
   <li>Paris Carbone</li>
   <li>Ufuk Celebi</li>
-  <li>Nils Engelbach </li>
+  <li>Nils Engelbach</li>
   <li>Stephan Ewen</li>
   <li>Gyula Fora</li>
   <li>Gabor Hermann</li>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/news/2015/02/04/january-in-flink.html
----------------------------------------------------------------------
diff --git a/content/news/2015/02/04/january-in-flink.html b/content/news/2015/02/04/january-in-flink.html
index b953924..65ac3ed 100644
--- a/content/news/2015/02/04/january-in-flink.html
+++ b/content/news/2015/02/04/january-in-flink.html
@@ -177,7 +177,7 @@
 
 <h3 id="using-off-heap-memoryhttpsgithubcomapacheflinkpull290"><a href="https://github.com/apache/flink/pull/290">Using off-heap memory</a></h3>
 
-<p>This pull request enables Flink to use off-heap memory for its internal memory uses (sort, hash, caching of intermediate data sets). </p>
+<p>This pull request enables Flink to use off-heap memory for its internal memory uses (sort, hash, caching of intermediate data sets).</p>
 
 <h3 id="gelly-flinks-graph-apihttpsgithubcomapacheflinkpull335"><a href="https://github.com/apache/flink/pull/335">Gelly, Flink’s Graph API</a></h3>
 

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/news/2015/02/09/streaming-example.html
----------------------------------------------------------------------
diff --git a/content/news/2015/02/09/streaming-example.html b/content/news/2015/02/09/streaming-example.html
index 9964f18..75a0d07 100644
--- a/content/news/2015/02/09/streaming-example.html
+++ b/content/news/2015/02/09/streaming-example.html
@@ -181,7 +181,7 @@ found <a href="https://github.com/mbalassi/flink/blob/stockprices/flink-staging/
   <li>Read a socket stream of stock prices</li>
   <li>Parse the text in the stream to create a stream of <code>StockPrice</code> objects</li>
   <li>Add four other sources tagged with the stock symbol.</li>
-  <li>Finally, merge the streams to create a unified stream. </li>
+  <li>Finally, merge the streams to create a unified stream.</li>
 </ol>
 
 <p><img alt="Reading from multiple inputs" src="/img/blog/blog_multi_input.png" width="70%" class="img-responsive center-block" /></p>
@@ -653,7 +653,7 @@ number of mentions of a given stock in the Twitter stream. As both of
 these data streams are potentially infinite, we apply the join on a
 30-second window.</p>
 
-<p><img alt="Streaming joins" src="/img/blog/blog_stream_join.png" width="60%" class="img-responsive center-block" /> </p>
+<p><img alt="Streaming joins" src="/img/blog/blog_stream_join.png" width="60%" class="img-responsive center-block" /></p>
 
 <div class="codetabs">
 

http://git-wip-us.apache.org/repos/asf/flink-web/blob/e5efd40a/content/news/2015/03/13/peeking-into-Apache-Flinks-Engine-Room.html
----------------------------------------------------------------------
diff --git a/content/news/2015/03/13/peeking-into-Apache-Flinks-Engine-Room.html b/content/news/2015/03/13/peeking-into-Apache-Flinks-Engine-Room.html
index b8b0cd1..6eff3b3 100644
--- a/content/news/2015/03/13/peeking-into-Apache-Flinks-Engine-Room.html
+++ b/content/news/2015/03/13/peeking-into-Apache-Flinks-Engine-Room.html
@@ -152,7 +152,7 @@
 <p>In this blog post, we cut through Apache Flink’s layered architecture and take a look at its internals with a focus on how it handles joins. Specifically, I will</p>
 
 <ul>
-  <li>show how easy it is to join data sets using Flink’s fluent APIs, </li>
+  <li>show how easy it is to join data sets using Flink’s fluent APIs,</li>
   <li>discuss basic distributed join strategies, Flink’s join implementations, and its memory management,</li>
   <li>talk about Flink’s optimizer that automatically chooses join strategies,</li>
   <li>show some performance numbers for joining data sets of different sizes, and finally</li>
@@ -163,7 +163,7 @@
 
 <h3 id="how-do-i-join-with-flink">How do I join with Flink?</h3>
 
-<p>Flink provides fluent APIs in Java and Scala to write data flow programs. Flink’s APIs are centered around parallel data collections which are called data sets. data sets are processed by applying Transformations that compute new data sets. Flink’s transformations include Map and Reduce as known from MapReduce <a href="http://research.google.com/archive/mapreduce.html">[1]</a> but also operators for joining, co-grouping, and iterative processing. The documentation gives an overview of all available transformations <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8/dataset_transformations.html">[2]</a>. </p>
+<p>Flink provides fluent APIs in Java and Scala to write data flow programs. Flink’s APIs are centered around parallel data collections which are called data sets. data sets are processed by applying Transformations that compute new data sets. Flink’s transformations include Map and Reduce as known from MapReduce <a href="http://research.google.com/archive/mapreduce.html">[1]</a> but also operators for joining, co-grouping, and iterative processing. The documentation gives an overview of all available transformations <a href="http://ci.apache.org/projects/flink/flink-docs-release-0.8/dataset_transformations.html">[2]</a>.</p>
 
 <p>Joining two Scala case class data sets is very easy as the following example shows:</p>
 
@@ -200,7 +200,7 @@
 
 <ol>
   <li>The data of both inputs is distributed across all parallel instances that participate in the join and</li>
-  <li>each parallel instance performs a standard stand-alone join algorithm on its local partition of the overall data. </li>
+  <li>each parallel instance performs a standard stand-alone join algorithm on its local partition of the overall data.</li>
 </ol>
 
 <p>The distribution of data across parallel instances must ensure that each valid join pair can be locally built by exactly one instance. For both steps, there are multiple valid strategies that can be independently picked and which are favorable in different situations. In Flink terminology, the first phase is called Ship Strategy and the second phase Local Strategy. In the following I will describe Flink’s ship and local strategies to join two data sets <em>R</em> and <em>S</em>.</p>
@@ -219,7 +219,7 @@
 <img src="/img/blog/joins-repartition.png" style="width:90%;margin:15px" />
 </center>
 
-<p>The Broadcast-Forward strategy sends one complete data set (R) to each parallel instance that holds a partition of the other data set (S), i.e., each parallel instance receives the full data set R. Data set S remains local and is not shipped at all. The cost of the BF strategy depends on the size of R and the number of parallel instances it is shipped to. The size of S does not matter because S is not moved. The figure below illustrates how both ship strategies work. </p>
+<p>The Broadcast-Forward strategy sends one complete data set (R) to each parallel instance that holds a partition of the other data set (S), i.e., each parallel instance receives the full data set R. Data set S remains local and is not shipped at all. The cost of the BF strategy depends on the size of R and the number of parallel instances it is shipped to. The size of S does not matter because S is not moved. The figure below illustrates how both ship strategies work.</p>
 
 <center>
 <img src="/img/blog/joins-broadcast.png" style="width:90%;margin:15px" />
@@ -228,7 +228,7 @@
 <p>The Repartition-Repartition and Broadcast-Forward ship strategies establish suitable data distributions to execute a distributed join. Depending on the operations that are applied before the join, one or even both inputs of a join are already distributed in a suitable way across parallel instances. In this case, Flink will reuse such distributions and only ship one or no input at all.</p>
 
 <h4 id="flinks-memory-management">Flink’s Memory Management</h4>
-<p>Before delving into the details of Flink’s local join algorithms, I will briefly discuss Flink’s internal memory management. Data processing algorithms such as joining, grouping, and sorting need to hold portions of their input data in memory. While such algorithms perform best if there is enough memory available to hold all data, it is crucial to gracefully handle situations where the data size exceeds memory. Such situations are especially tricky in JVM-based systems such as Flink because the system needs to reliably recognize that it is short on memory. Failure to detect such situations can result in an <code>OutOfMemoryException</code> and kill the JVM. </p>
+<p>Before delving into the details of Flink’s local join algorithms, I will briefly discuss Flink’s internal memory management. Data processing algorithms such as joining, grouping, and sorting need to hold portions of their input data in memory. While such algorithms perform best if there is enough memory available to hold all data, it is crucial to gracefully handle situations where the data size exceeds memory. Such situations are especially tricky in JVM-based systems such as Flink because the system needs to reliably recognize that it is short on memory. Failure to detect such situations can result in an <code>OutOfMemoryException</code> and kill the JVM.</p>
 
 <p>Flink handles this challenge by actively managing its memory. When a worker node (TaskManager) is started, it allocates a fixed portion (70% by default) of the JVM’s heap memory that is available after initialization as 32KB byte arrays. These byte arrays are distributed as working memory to all algorithms that need to hold significant portions of data in memory. The algorithms receive their input data as Java data objects and serialize them into their working memory.</p>
 
@@ -245,7 +245,7 @@
 <p>After the data has been distributed across all parallel join instances using either a Repartition-Repartition or Broadcast-Forward ship strategy, each instance runs a local join algorithm to join the elements of its local partition. Flink’s runtime features two common join strategies to perform these local joins:</p>
 
 <ul>
-  <li>the <em>Sort-Merge-Join</em> strategy (SM) and </li>
+  <li>the <em>Sort-Merge-Join</em> strategy (SM) and</li>
   <li>the <em>Hybrid-Hash-Join</em> strategy (HH).</li>
 </ul>
 
@@ -290,13 +290,13 @@
 <ul>
   <li>1GB     : 1000GB</li>
   <li>10GB    : 1000GB</li>
-  <li>100GB   : 1000GB </li>
+  <li>100GB   : 1000GB</li>
   <li>1000GB  : 1000GB</li>
 </ul>
 
 <p>The Broadcast-Forward strategy is only executed for up to 10GB. Building a hash table from 100GB broadcasted data in 5GB working memory would result in spilling proximately 95GB (build input) + 950GB (probe input) in each parallel thread and require more than 8TB local disk storage on each machine.</p>
 
-<p>As in the single-core benchmark, we run 1:N joins, generate the data on-the-fly, and immediately discard the result after the join. We run the benchmark on 10 n1-highmem-8 Google Compute Engine instances. Each instance is equipped with 8 cores, 52GB RAM, 40GB of which are configured as working memory (5GB per core), and one local SSD for spilling to disk. All benchmarks are performed using the same configuration, i.e., no fine tuning for the respective data sizes is done. The programs are executed with a parallelism of 80. </p>
+<p>As in the single-core benchmark, we run 1:N joins, generate the data on-the-fly, and immediately discard the result after the join. We run the benchmark on 10 n1-highmem-8 Google Compute Engine instances. Each instance is equipped with 8 cores, 52GB RAM, 40GB of which are configured as working memory (5GB per core), and one local SSD for spilling to disk. All benchmarks are performed using the same configuration, i.e., no fine tuning for the respective data sizes is done. The programs are executed with a parallelism of 80.</p>
 
 <center>
 <img src="/img/blog/joins-dist-perf.png" style="width:70%;margin:15px" />
@@ -313,7 +313,7 @@
 <ul>
   <li>Flink’s fluent Scala and Java APIs make joins and other data transformations easy as cake.</li>
   <li>The optimizer does the hard choices for you, but gives you control in case you know better.</li>
-  <li>Flink’s join implementations perform very good in-memory and gracefully degrade when going to disk. </li>
+  <li>Flink’s join implementations perform very good in-memory and gracefully degrade when going to disk.</li>
   <li>Due to Flink’s robust memory management, there is no need for job- or data-specific memory tuning to avoid a nasty <code>OutOfMemoryException</code>. It just runs out-of-the-box.</li>
 </ul>
 


[22/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/flink_on_tez.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/flink_on_tez.html b/content/docs/0.9/setup/flink_on_tez.html
deleted file mode 100644
index a28aaab..0000000
--- a/content/docs/0.9/setup/flink_on_tez.html
+++ /dev/null
@@ -1,486 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Running Flink on YARN leveraging Tez</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Running Flink on YARN leveraging Tez</h1>
-
-
-
-<p><a href="#top"></a></p>
-
-<p>You can run Flink using Tez as an execution environment. Flink on Tez 
-is currently included in <em>flink-staging</em> in alpha. All classes are
-located in the <em>org.apache.flink.tez</em> package.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#why-flink-on-tez" id="markdown-toc-why-flink-on-tez">Why Flink on Tez</a></li>
-  <li><a href="#local-execution" id="markdown-toc-local-execution">Local execution</a></li>
-  <li><a href="#yarn-execution" id="markdown-toc-yarn-execution">YARN execution</a>    <ul>
-      <li><a href="#setup" id="markdown-toc-setup">Setup</a></li>
-      <li><a href="#packaging-your-program" id="markdown-toc-packaging-your-program">Packaging your program</a></li>
-    </ul>
-  </li>
-  <li><a href="#how-it-works" id="markdown-toc-how-it-works">How it works</a></li>
-  <li><a href="#limitations" id="markdown-toc-limitations">Limitations</a></li>
-</ul>
-
-<h2 id="why-flink-on-tez">Why Flink on Tez</h2>
-
-<p><a href="http://tez.apache.org">Apache Tez</a> is a scalable data processing
-platform. Tez provides an API for specifying a directed acyclic
-graph (DAG), and functionality for placing the DAG vertices in YARN
-containers, as well as data shuffling.  In Flink’s architecture,
-Tez is at about the same level as Flink’s network stack. While Flink’s
-network stack focuses heavily on low latency in order to support 
-pipelining, data streaming, and iterative algorithms, Tez
-focuses on scalability and elastic resource usage.</p>
-
-<p>Thus, by replacing Flink’s network stack with Tez, users can get scalability
-and elastic resource usage in shared clusters while retaining Flink’s 
-APIs, optimizer, and runtime algorithms (local sorts, hash tables, etc).</p>
-
-<p>Flink programs can run almost unmodified using Tez as an execution
-environment. Tez supports local execution (e.g., for debugging), and 
-remote execution on YARN.</p>
-
-<h2 id="local-execution">Local execution</h2>
-
-<p>The <code>LocalTezEnvironment</code> can be used run programs using the local
-mode provided by Tez. This example shows how WordCount can be run using the Tez local mode.
-It is identical to a normal Flink WordCount, except that the <code>LocalTezEnvironment</code> is used.
-To run in local Tez mode, you can simply run a Flink on Tez program
-from your IDE (e.g., right click and run).</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">WordCountExample</span> <span class="o">{</span>
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="kd">final</span> <span class="n">LocalTezEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">LocalTezEnvironment</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
-
-        <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span>
-            <span class="s">&quot;Who&#39;s there?&quot;</span><span class="o">,</span>
-            <span class="s">&quot;I think I hear them. Stand, ho! Who&#39;s there?&quot;</span><span class="o">);</span>
-
-        <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">wordCounts</span> <span class="o">=</span> <span class="n">text</span>
-            <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">LineSplitter</span><span class="o">())</span>
-            <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-            <span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
-
-        <span class="n">wordCounts</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-
-        <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="s">&quot;Word Count Example&quot;</span><span class="o">);</span>
-    <span class="o">}</span>
-
-    <span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">LineSplitter</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-        <span class="nd">@Override</span>
-        <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">line</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">word</span> <span class="o">:</span> <span class="n">line</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">))</span> <span class="o">{</span>
-                <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;(</span><span class="n">word</span><span class="o">,</span> <span class="mi">1</span><span class="o">));</span>
-            <span class="o">}</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<h2 id="yarn-execution">YARN execution</h2>
-
-<h3 id="setup">Setup</h3>
-
-<ul>
-  <li>
-    <p>Install Tez on your Hadoop 2 cluster following the instructions from the
-<a href="http://tez.apache.org/install.html">Apache Tez website</a>. If you are able to run 
-the examples that ship with Tez, then Tez has been successfully installed.</p>
-  </li>
-  <li>
-    <p>Currently, you need to build Flink yourself to obtain Flink on Tez
-(the reason is a Hadoop version compatibility: Tez releases artifacts
-on Maven central with a Hadoop 2.6.0 dependency). Build Flink
-using <code>mvn -DskipTests clean package -Pinclude-tez -Dhadoop.version=X.X.X -Dtez.version=X.X.X</code>.
-Make sure that the Hadoop version matches the version that Tez uses.
-Obtain the jar file contained in the Flink distribution under
-<code>flink-staging/flink-tez/target/flink-tez-x.y.z-flink-fat-jar.jar</code> 
-and upload it to some directory in HDFS. E.g., to upload the file
-to the directory <code>/apps</code>, execute</p>
-  </li>
-</ul>
-
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>hadoop fs -put /path/to/flink-tez-x.y.z-flink-fat-jar.jar /apps</code></pre></div>
-
-<ul>
-  <li>Edit the tez-site.xml configuration file, adding an entry that points to the
-location of the file. E.g., assuming that the file is in the directory <code>/apps/</code>, 
-add the following entry to tez-site.xml:</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;property&gt;</span>
-  <span class="nt">&lt;name&gt;</span>tez.aux.uris<span class="nt">&lt;/name&gt;</span>
-  <span class="nt">&lt;value&gt;</span>${fs.default.name}/apps/flink-tez-x.y.z-flink-fat-jar.jar<span class="nt">&lt;/value&gt;</span>
-<span class="nt">&lt;/property&gt;</span></code></pre></div>
-
-<ul>
-  <li>At this point, you should be able to run the pre-packaged examples, e.g., run WordCount:</li>
-</ul>
-
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>hadoop jar /path/to/flink-tez-x.y.z-flink-fat-jar.jar wc hdfs:/path/to/text hdfs:/path/to/output</code></pre></div>
-
-<h3 id="packaging-your-program">Packaging your program</h3>
-
-<p>Application packaging is currently a bit different than in Flink standalone mode.
-  Flink programs that run on Tez need to be packaged in a “fat jar”
-  file that contain the Flink client. This jar can then be executed via the <code>hadoop jar</code> command.
-  An easy way to do that is to use the provided <code>flink-tez-quickstart</code> maven archetype.
-  Create a new project as</p>
-
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>mvn archetype:generate                             <span class="se">\</span>
-    -DarchetypeGroupId<span class="o">=</span>org.apache.flink              <span class="se">\</span>
-    -DarchetypeArtifactId<span class="o">=</span>flink-tez-quickstart           <span class="se">\</span>
-    -DarchetypeVersion<span class="o">=</span>0.9.0</code></pre></div>
-
-<p>and specify the group id, artifact id, version, and package of your project. For example,
-  let us assume the following options: <code>org.myorganization</code>, <code>flink-on-tez</code>, <code>0.1</code>, and <code>org.myorganization</code>.
-  You should see the following output on your terminal:</p>
-
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>mvn archetype:generate -DarchetypeGroupId<span class="o">=</span>org.apache.flink -DarchetypeArtifactId<span class="o">=</span>flink-tez-quickstart
-  <span class="o">[</span>INFO<span class="o">]</span> Scanning <span class="k">for</span> projects...
-  <span class="o">[</span>INFO<span class="o">]</span>
-  <span class="o">[</span>INFO<span class="o">]</span> ------------------------------------------------------------------------
-  <span class="o">[</span>INFO<span class="o">]</span> Building Maven Stub Project <span class="o">(</span>No POM<span class="o">)</span> 1
-  <span class="o">[</span>INFO<span class="o">]</span> ------------------------------------------------------------------------
-  <span class="o">[</span>INFO<span class="o">]</span>
-  <span class="o">[</span>INFO<span class="o">]</span> &gt;&gt;&gt; maven-archetype-plugin:2.2:generate <span class="o">(</span>default-cli<span class="o">)</span> &gt; generate-sources @ standalone-pom &gt;&gt;&gt;
-  <span class="o">[</span>INFO<span class="o">]</span>
-  <span class="o">[</span>INFO<span class="o">]</span> <span class="o">&lt;&lt;&lt;</span> maven-archetype-plugin:2.2:generate <span class="o">(</span>default-cli<span class="o">)</span> &lt; generate-sources @ standalone-pom <span class="o">&lt;&lt;&lt;</span>
-  <span class="o">[</span>INFO<span class="o">]</span>
-  <span class="o">[</span>INFO<span class="o">]</span> --- maven-archetype-plugin:2.2:generate <span class="o">(</span>default-cli<span class="o">)</span> @ standalone-pom ---
-  <span class="o">[</span>INFO<span class="o">]</span> Generating project in Interactive mode
-  <span class="o">[</span>INFO<span class="o">]</span> Archetype <span class="o">[</span>org.apache.flink:flink-tez-quickstart:0.9-SNAPSHOT<span class="o">]</span> found in catalog <span class="nb">local</span>
-<span class="nb">  </span>Define value <span class="k">for</span> property <span class="s1">&#39;groupId&#39;</span>: : org.myorganization
-  Define value <span class="k">for</span> property <span class="s1">&#39;artifactId&#39;</span>: : flink-on-tez
-  Define value <span class="k">for</span> property <span class="s1">&#39;version&#39;</span>:  1.0-SNAPSHOT: : 0.1
-  Define value <span class="k">for</span> property <span class="s1">&#39;package&#39;</span>:  org.myorganization: :
-  Confirm properties configuration:
-  groupId: org.myorganization
-  artifactId: flink-on-tez
-  version: 0.1
-  package: org.myorganization
-   Y: : Y
-  <span class="o">[</span>INFO<span class="o">]</span> ----------------------------------------------------------------------------
-  <span class="o">[</span>INFO<span class="o">]</span> Using following parameters <span class="k">for</span> creating project from Archetype: flink-tez-quickstart:0.9-SNAPSHOT
-  <span class="o">[</span>INFO<span class="o">]</span> ----------------------------------------------------------------------------
-  <span class="o">[</span>INFO<span class="o">]</span> Parameter: groupId, Value: org.myorganization
-  <span class="o">[</span>INFO<span class="o">]</span> Parameter: artifactId, Value: flink-on-tez
-  <span class="o">[</span>INFO<span class="o">]</span> Parameter: version, Value: 0.1
-  <span class="o">[</span>INFO<span class="o">]</span> Parameter: package, Value: org.myorganization
-  <span class="o">[</span>INFO<span class="o">]</span> Parameter: packageInPathFormat, Value: org/myorganization
-  <span class="o">[</span>INFO<span class="o">]</span> Parameter: package, Value: org.myorganization
-  <span class="o">[</span>INFO<span class="o">]</span> Parameter: version, Value: 0.1
-  <span class="o">[</span>INFO<span class="o">]</span> Parameter: groupId, Value: org.myorganization
-  <span class="o">[</span>INFO<span class="o">]</span> Parameter: artifactId, Value: flink-on-tez
-  <span class="o">[</span>INFO<span class="o">]</span> project created from Archetype in dir: /Users/kostas/Dropbox/flink-tez-quickstart-test/flink-on-tez
-  <span class="o">[</span>INFO<span class="o">]</span> ------------------------------------------------------------------------
-  <span class="o">[</span>INFO<span class="o">]</span> BUILD SUCCESS
-  <span class="o">[</span>INFO<span class="o">]</span> ------------------------------------------------------------------------
-  <span class="o">[</span>INFO<span class="o">]</span> Total <span class="nb">time</span>: 44.130 s
-  <span class="o">[</span>INFO<span class="o">]</span> Finished at: 2015-02-26T17:59:45+01:00
-  <span class="o">[</span>INFO<span class="o">]</span> Final Memory: 15M/309M
-  <span class="o">[</span>INFO<span class="o">]</span> ------------------------------------------------------------------------</code></pre></div>
-
-<p>The project contains an example called <code>YarnJob.java</code> that provides the skeleton 
-  for a Flink-on-Tez job. Program execution is currently done using Hadoop’s <code>ProgramDriver</code>, 
-  see the <code>Driver.java</code> class for an example. Create the fat jar using 
-  <code>mvn -DskipTests clean package</code>. The resulting jar will be located in the <code>target/</code> directory. 
-  You can now execute a job as follows:</p>
-
-<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span>mvn -DskipTests clean package
-<span class="nv">$ </span>hadoop jar flink-on-tez/target/flink-on-tez-0.1-flink-fat-jar.jar yarnjob <span class="o">[</span><span class="nb">command</span>-line parameters<span class="o">]</span></code></pre></div>
-
-<p>Flink programs that run on YARN using Tez as an execution engine need to use the <code>RemoteTezEnvironment</code> and 
-  register the class that contains the <code>main</code> method with that environment:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">WordCountExample</span> <span class="o">{</span>
-      <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-          <span class="kd">final</span> <span class="n">RemoteTezEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">RemoteTezEnvironment</span><span class="o">.</span><span class="na">create</span><span class="o">();</span>
-  
-          <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span>
-              <span class="s">&quot;Who&#39;s there?&quot;</span><span class="o">,</span>
-              <span class="s">&quot;I think I hear them. Stand, ho! Who&#39;s there?&quot;</span><span class="o">);</span>
-  
-          <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">wordCounts</span> <span class="o">=</span> <span class="n">text</span>
-              <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">LineSplitter</span><span class="o">())</span>
-              <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-              <span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
-  
-          <span class="n">wordCounts</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-      
-          <span class="n">env</span><span class="o">.</span><span class="na">registerMainClass</span><span class="o">(</span><span class="n">WordCountExample</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-          <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="s">&quot;Word Count Example&quot;</span><span class="o">);</span>
-      <span class="o">}</span>
-  
-      <span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">LineSplitter</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-          <span class="nd">@Override</span>
-          <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">line</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-              <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">word</span> <span class="o">:</span> <span class="n">line</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">&quot; &quot;</span><span class="o">))</span> <span class="o">{</span>
-                  <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;(</span><span class="n">word</span><span class="o">,</span> <span class="mi">1</span><span class="o">));</span>
-              <span class="o">}</span>
-          <span class="o">}</span>
-      <span class="o">}</span>
-  <span class="o">}</span></code></pre></div>
-
-<h2 id="how-it-works">How it works</h2>
-
-<p>Flink on Tez reuses the Flink APIs, the Flink optimizer,
-and the Flink local runtime, including Flink’s hash table and sort implementations. Tez
-replaces Flink’s network stack and control plan, and is responsible for scheduling and
-network shuffles.</p>
-
-<p>The figure below shows how a Flink program passes through the Flink stack and generates
-a Tez DAG (instead of a JobGraph that would be created using normal Flink execution).</p>
-
-<div style="text-align: center;">
-<img src="fig/flink_on_tez_translation.png" alt="Translation of a Flink program to a Tez DAG." height="600px" vspace="20px" style="text-align: center;" />
-</div>
-
-<p>All local processing, including memory management, sorting, and hashing is performed by
-Flink as usual. Local processing is encapsulated in Tez vertices, as seen in the figure
-below. Tez vertices are connected by edges. Tez is currently based on a key-value data
-model. In the current implementation, the elements that are processed by Flink operators
-are wrapped inside Tez values, and the Tez key field is used to indicate the index of the target task
-that the elements are destined to.</p>
-
-<div style="text-align: center;">
-<img src="fig/flink_tez_vertex.png" alt="Encapsulation of Flink runtime inside Tez vertices." height="200px" vspace="20px" style="text-align: center;" />
-</div>
-
-<h2 id="limitations">Limitations</h2>
-
-<p>Currently, Flink on Tez does not support all features of the Flink API. We are working
-to enable all of the missing features listed below. In the meantime, if your project depends on these features, we suggest
-to use <a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">Flink on YARN</a> or <a href="http://flink.apache.org/docs/0.9/quickstart/setup_quickstart.html">Flink standalone</a>.</p>
-
-<p>The following features are currently missing.</p>
-
-<ul>
-  <li>
-    <p>Dedicated client: jobs need to be submitted via Hadoop’s command-line client</p>
-  </li>
-  <li>
-    <p>Self-joins: currently binary operators that receive the same input are not supported due to 
-<a href="https://issues.apache.org/jira/browse/TEZ-1190">TEZ-1190</a>.</p>
-  </li>
-  <li>
-    <p>Iterative programs are currently not supported.</p>
-  </li>
-  <li>
-    <p>Broadcast variables are currently not supported.</p>
-  </li>
-  <li>
-    <p>Accummulators and counters are currently not supported.</p>
-  </li>
-  <li>
-    <p>Performance: The current implementation has not been heavily tested for performance, and misses several optimizations,
-including task chaining.</p>
-  </li>
-  <li>
-    <p>Streaming API: Streaming programs will not currently compile to Tez DAGs.</p>
-  </li>
-  <li>
-    <p>Scala API: The current implementation has only been tested with the Java API.</p>
-  </li>
-</ul>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/gce_setup.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/gce_setup.html b/content/docs/0.9/setup/gce_setup.html
deleted file mode 100644
index ae929be..0000000
--- a/content/docs/0.9/setup/gce_setup.html
+++ /dev/null
@@ -1,289 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Google Compute Engine Setup</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Google Compute Engine Setup</h1>
-
-
-
-<p>This documentation provides instructions on how to setup Flink fully
-automatically with Hadoop 1 or Hadoop 2 on top of a
-<a href="https://cloud.google.com/compute/">Google Compute Engine</a> cluster. This is made
-possible by Google’s <a href="https://cloud.google.com/hadoop/bdutil">bdutil</a> which
-starts a cluster and deploys Flink with Hadoop. To get started, just follow the
-steps below.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#prerequisites" id="markdown-toc-prerequisites">Prerequisites</a>    <ul>
-      <li><a href="#install-google-cloud-sdk" id="markdown-toc-install-google-cloud-sdk">Install Google Cloud SDK</a></li>
-      <li><a href="#install-bdutil" id="markdown-toc-install-bdutil">Install bdutil</a></li>
-    </ul>
-  </li>
-  <li><a href="#deploying-flink-on-google-compute-engine" id="markdown-toc-deploying-flink-on-google-compute-engine">Deploying Flink on Google Compute Engine</a>    <ul>
-      <li><a href="#set-up-a-bucket" id="markdown-toc-set-up-a-bucket">Set up a bucket</a></li>
-      <li><a href="#adapt-the-bdutil-config" id="markdown-toc-adapt-the-bdutil-config">Adapt the bdutil config</a></li>
-      <li><a href="#adapt-the-flink-config" id="markdown-toc-adapt-the-flink-config">Adapt the Flink config</a></li>
-      <li><a href="#bring-up-a-cluster-with-flink" id="markdown-toc-bring-up-a-cluster-with-flink">Bring up a cluster with Flink</a></li>
-      <li><a href="#run-a-flink-example-job" id="markdown-toc-run-a-flink-example-job">Run a Flink example job:</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h1 id="prerequisites">Prerequisites</h1>
-
-<h2 id="install-google-cloud-sdk">Install Google Cloud SDK</h2>
-
-<p>Please follow the instructions on how to setup the
-<a href="https://cloud.google.com/sdk/">Google Cloud SDK</a>.</p>
-
-<h2 id="install-bdutil">Install bdutil</h2>
-
-<p>At the moment, there is no bdutil release yet which includes the Flink
-extension. However, you can get the latest version of bdutil with Flink support
-from <a href="https://github.com/GoogleCloudPlatform/bdutil">GitHub</a>:</p>
-
-<div class="highlight"><pre><code>git clone https://github.com/GoogleCloudPlatform/bdutil.git
-</code></pre></div>
-
-<p>After you have downloaded the source, change into the newly created <code>bdutil</code>
-directory and continue with the next steps.</p>
-
-<h1 id="deploying-flink-on-google-compute-engine">Deploying Flink on Google Compute Engine</h1>
-
-<h2 id="set-up-a-bucket">Set up a bucket</h2>
-
-<p>If you have not done so, create a bucket for the bdutil config and
-staging files. A new bucket can be created with gsutil:</p>
-
-<div class="highlight"><pre><code>gsutil mb gs://&lt;bucket_name&gt;
-</code></pre></div>
-
-<h2 id="adapt-the-bdutil-config">Adapt the bdutil config</h2>
-
-<p>To deploy Flink with bdutil, adapt at least the following variables in
-bdutil_env.sh.</p>
-
-<div class="highlight"><pre><code>CONFIGBUCKET="&lt;bucket_name&gt;"
-PROJECT="&lt;compute_engine_project_name&gt;"
-NUM_WORKERS=&lt;number_of_workers&gt;
-</code></pre></div>
-
-<h2 id="adapt-the-flink-config">Adapt the Flink config</h2>
-
-<p>bdutil’s Flink extension handles the configuration for you. You may additionally
-adjust configuration variables in <code>extensions/flink/flink_env.sh</code>. If you want
-to make further configuration, please take a look at
-<a href="config.html">configuring Flink</a>. You will have to restart Flink after changing
-its configuration using <code>bin/stop-cluster</code> and <code>bin/start-cluster</code>.</p>
-
-<h2 id="bring-up-a-cluster-with-flink">Bring up a cluster with Flink</h2>
-
-<p>To bring up the Flink cluster on Google Compute Engine, execute:</p>
-
-<div class="highlight"><pre><code>./bdutil -e extensions/flink/flink_env.sh deploy
-</code></pre></div>
-
-<h2 id="run-a-flink-example-job">Run a Flink example job:</h2>
-
-<div class="highlight"><pre><code>./bdutil shell
-cd /home/hadoop/flink-install/bin
-./flink run ../examples/flink-java-examples-*-WordCount.jar gs://dataflow-samples/shakespeare/othello.txt gs://&lt;bucket_name&gt;/output
-</code></pre></div>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/index.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/index.html b/content/docs/0.9/setup/index.html
deleted file mode 100644
index 6080659..0000000
--- a/content/docs/0.9/setup/index.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Setup</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Setup</h1>
-
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/setup/local_setup.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/setup/local_setup.html b/content/docs/0.9/setup/local_setup.html
deleted file mode 100644
index 68ca929..0000000
--- a/content/docs/0.9/setup/local_setup.html
+++ /dev/null
@@ -1,324 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Local Setup</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Local Setup</h1>
-
-
-
-<p>This documentation is intended to provide instructions on how to run Flink locally on a single machine.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#download" id="markdown-toc-download">Download</a></li>
-  <li><a href="#requirements" id="markdown-toc-requirements">Requirements</a></li>
-  <li><a href="#configuration" id="markdown-toc-configuration">Configuration</a></li>
-  <li><a href="#starting-flink" id="markdown-toc-starting-flink">Starting Flink</a></li>
-  <li><a href="#flink-on-windows" id="markdown-toc-flink-on-windows">Flink on Windows</a>    <ul>
-      <li><a href="#starting-with-windows-batch-files" id="markdown-toc-starting-with-windows-batch-files">Starting with Windows Batch Files</a></li>
-      <li><a href="#starting-with-cygwin-and-unix-scripts" id="markdown-toc-starting-with-cygwin-and-unix-scripts">Starting with Cygwin and Unix Scripts</a></li>
-      <li><a href="#installing-flink-from-git" id="markdown-toc-installing-flink-from-git">Installing Flink from Git</a></li>
-    </ul>
-  </li>
-</ul>
-
-<h2 id="download">Download</h2>
-
-<p>Go to the <a href="http://flink.apache.org/downloads.html">downloads page</a> and get the ready to run package. If you want to interact with Hadoop (e.g. HDFS or HBase), make sure to pick the Flink package <strong>matching your Hadoop version</strong>. When in doubt or you plan to just work with the local file system pick the package for Hadoop 1.2.x.</p>
-
-<h2 id="requirements">Requirements</h2>
-
-<p>Flink runs on <strong>Linux</strong>, <strong>Mac OS X</strong> and <strong>Windows</strong>. The only requirement for a local setup is <strong>Java 1.6.x</strong> or higher. The following manual assumes a <em>UNIX-like environment</em>, for Windows see <a href="#flink-on-windows">Flink on Windows</a>.</p>
-
-<p>You can check the correct installation of Java by issuing the following command:</p>
-
-<div class="highlight"><pre><code class="language-bash">java -version</code></pre></div>
-
-<p>The command should output something comparable to the following:</p>
-
-<div class="highlight"><pre><code class="language-bash">java version <span class="s2">&quot;1.6.0_22&quot;</span>
-Java<span class="o">(</span>TM<span class="o">)</span> SE Runtime Environment <span class="o">(</span>build 1.6.0_22-b04<span class="o">)</span>
-Java HotSpot<span class="o">(</span>TM<span class="o">)</span> 64-Bit Server VM <span class="o">(</span>build 17.1-b03, mixed mode<span class="o">)</span></code></pre></div>
-
-<h2 id="configuration">Configuration</h2>
-
-<p><strong>For local mode Flink is ready to go out of the box and you don’t need to change the default configuration.</strong></p>
-
-<p>The out of the box configuration will use your default Java installation. You can manually set the environment variable <code>JAVA_HOME</code> or the configuration key <code>env.java.home</code> in <code>conf/flink-conf.yaml</code> if you want to manually override the Java runtime to use. Consult the <a href="config.html">configuration page</a> for further details about configuring Flink.</p>
-
-<h2 id="starting-flink">Starting Flink</h2>
-
-<p><strong>You are now ready to start Flink.</strong> Unpack the downloaded archive and change to the newly created <code>flink</code> directory. There you can start Flink in local mode:</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nv">$ </span>tar xzf flink-*.tgz
-<span class="nv">$ </span><span class="nb">cd </span>flink
-<span class="nv">$ </span>bin/start-local.sh
-Starting job manager</code></pre></div>
-
-<p>You can check that the system is running by checking the log files in the <code>logs</code> directory:</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nv">$ </span>tail log/flink-*-jobmanager-*.log
-INFO ... - Initializing memory manager with <span class="m">409</span> megabytes of memory
-INFO ... - Trying to load org.apache.flinknephele.jobmanager.scheduler.local.LocalScheduler as scheduler
-INFO ... - Setting up web info server, using web-root directory ...
-INFO ... - Web info server will display information about nephele job-manager on localhost, port 8081.
-INFO ... - Starting web info server <span class="k">for</span> JobManager on port 8081</code></pre></div>
-
-<p>The JobManager will also start a web frontend on port 8081, which you can check with your browser at <code>http://localhost:8081</code>.</p>
-
-<p>Instead of starting Flink with <code>bin/start-local.sh</code> you can also start Flink in an streaming optimized
-mode, using <code>bin/start-local-streaming.sh</code>.</p>
-
-<h2 id="flink-on-windows">Flink on Windows</h2>
-
-<p>If you want to run Flink on Windows you need to download, unpack and configure the Flink archive as mentioned above. After that you can either use the <strong>Windows Batch</strong> file (<code>.bat</code>) or use <strong>Cygwin</strong>  to run the Flink Jobmanager.</p>
-
-<h3 id="starting-with-windows-batch-files">Starting with Windows Batch Files</h3>
-
-<p>To start Flink in local mode from the <em>Windows Batch</em>, open the command window, navigate to the <code>bin/</code> directory of Flink and run <code>start-local.bat</code>.</p>
-
-<p>Note: The <code>bin</code> folder of your Java Runtime Environment must be included in Window’s <code>%PATH%</code> variable. Follow this <a href="http://www.java.com/en/download/help/path.xml">guide</a> to add Java to the <code>%PATH%</code> variable.</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nv">$ </span><span class="nb">cd </span>flink
-<span class="nv">$ </span><span class="nb">cd </span>bin
-<span class="nv">$ </span>start-local.bat
-Starting Flink job manager. Webinterface by default on http://localhost:8081/.
-Do not close this batch window. Stop job manager by pressing Ctrl+C.</code></pre></div>
-
-<p>After that, you need to open a second terminal to run jobs using <code>flink.bat</code>.</p>
-
-<h3 id="starting-with-cygwin-and-unix-scripts">Starting with Cygwin and Unix Scripts</h3>
-
-<p>With <em>Cygwin</em> you need to start the Cygwin Terminal, navigate to your Flink directory and run the <code>start-local.sh</code> script:</p>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nv">$ </span><span class="nb">cd </span>flink
-<span class="nv">$ </span>bin/start-local.sh
-Starting Nephele job manager</code></pre></div>
-
-<h3 id="installing-flink-from-git">Installing Flink from Git</h3>
-
-<p>If you are installing Flink from the git repository and you are using the Windows git shell, Cygwin can produce a failure similiar to this one:</p>
-
-<div class="highlight"><pre><code class="language-bash">c:/flink/bin/start-local.sh: line 30: <span class="s1">$&#39;\r&#39;</span>: <span class="nb">command </span>not found</code></pre></div>
-
-<p>This error occurs, because git is automatically transforming UNIX line endings to Windows style line endings when running in Windows. The problem is, that Cygwin can only deal with UNIX style line endings. The solution is to adjust the Cygwin settings to deal with the correct line endings by following these three steps:</p>
-
-<ol>
-  <li>
-    <p>Start a Cygwin shell.</p>
-  </li>
-  <li>
-    <p>Determine your home directory by entering</p>
-  </li>
-</ol>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nb">cd</span><span class="p">;</span> <span class="nb">pwd</span></code></pre></div>
-
-<p>It will return a path under the Cygwin root path.</p>
-
-<ol>
-  <li>Using NotePad, WordPad or a different text editor open the file <code>.bash_profile</code> in the home directory and append the following: (If the file does not exist you have to create it)</li>
-</ol>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nb">export </span>SHELLOPTS
-<span class="nb">set</span> -o igncr</code></pre></div>
-
-<p>Save the file and open a new bash shell.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>


[59/68] [abbrv] flink-web git commit: Reordering committers list

Posted by an...@apache.org.
Reordering committers list


Project: http://git-wip-us.apache.org/repos/asf/flink-web/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink-web/commit/aa0e01af
Tree: http://git-wip-us.apache.org/repos/asf/flink-web/tree/aa0e01af
Diff: http://git-wip-us.apache.org/repos/asf/flink-web/diff/aa0e01af

Branch: refs/heads/master
Commit: aa0e01afd0f55b3f392da863fceadf7d02e4024c
Parents: b4601f6
Author: Chiwan Park <ch...@apache.org>
Authored: Fri Jul 3 03:28:18 2015 +0900
Committer: Chiwan Park <ch...@apache.org>
Committed: Fri Jul 3 03:28:18 2015 +0900

----------------------------------------------------------------------
 community.md           | 23 +++++++++++------------
 content/community.html | 25 ++++++++++++-------------
 2 files changed, 23 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink-web/blob/aa0e01af/community.md
----------------------------------------------------------------------
diff --git a/community.md b/community.md
index 448a1d3..c17a4b9 100644
--- a/community.md
+++ b/community.md
@@ -183,6 +183,12 @@ Note: Flink does not build with Oracle JDK 6. It runs with Oracle JDK 6.
     <td class="text-center">aljoscha</td>
   </tr>
   <tr>
+    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/2550549?s=50"></td>
+    <td class="text-center">Andra Lungu</td>
+    <td class="text-center">Committer</td>
+    <td class="text-center">andra</td>
+  </tr>
+  <tr>
     <td class="text-center"><img src="https://avatars0.githubusercontent.com/u/89049?s=50"></td>
     <td class="text-center">Robert Metzger</td>
     <td class="text-center">PMC, Committer</td>
@@ -194,6 +200,11 @@ Note: Flink does not build with Oracle JDK 6. It runs with Oracle JDK 6.
     <td class="text-center">Committer</td>
     <td class="text-center">mxm</td>
   </tr>
+  <tr>
+    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1941681?s=50"></td>
+    <td class="text-center">Chiwan Park</td>
+    <td class="text-center">Committer</td>
+    <td class="text-center">chiwanpark</td>
   </tr>
   <tr>
     <td class="text-center"><img src="https://avatars1.githubusercontent.com/u/5756858?s=50"></td>
@@ -231,18 +242,6 @@ Note: Flink does not build with Oracle JDK 6. It runs with Oracle JDK 6.
     <td class="text-center">PMC, Committer</td>
     <td class="text-center">warneke</td>
   </tr>
-  <tr>
-    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/2550549?s=50"></td>
-    <td class="text-center">Andra Lungu</td>
-    <td class="text-center">Committer</td>
-    <td class="text-center">andra</td>
-  </tr>
-  <tr>
-    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1941681?s=50"></td>
-    <td class="text-center">Chiwan Park</td>
-    <td class="text-center">Committer</td>
-    <td class="text-center">chiwanpark</td>
-  </tr>
 </table>
 
 You can reach committers directly at `<apache-id>@apache.org`. A list of all contributors can be found on our [GitHub Contributors]({{ site.FLINK_GITHUB_CONTRIBUTORS_URL }}) page.

http://git-wip-us.apache.org/repos/asf/flink-web/blob/aa0e01af/content/community.html
----------------------------------------------------------------------
diff --git a/content/community.html b/content/community.html
index 79dcb38..ec76633 100644
--- a/content/community.html
+++ b/content/community.html
@@ -343,6 +343,12 @@
     <td class="text-center">aljoscha</td>
   </tr>
   <tr>
+    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/2550549?s=50"></td>
+    <td class="text-center">Andra Lungu</td>
+    <td class="text-center">Committer</td>
+    <td class="text-center">andra</td>
+  </tr>
+  <tr>
     <td class="text-center"><img src="https://avatars0.githubusercontent.com/u/89049?s=50" /></td>
     <td class="text-center">Robert Metzger</td>
     <td class="text-center">PMC, Committer</td>
@@ -354,7 +360,12 @@
     <td class="text-center">Committer</td>
     <td class="text-center">mxm</td>
   </tr>
-  
+  <tr>
+    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1941681?s=50"></td>
+    <td class="text-center">Chiwan Park</td>
+    <td class="text-center">Committer</td>
+    <td class="text-center">chiwanpark</td>
+  </tr>
   <tr>
     <td class="text-center"><img src="https://avatars1.githubusercontent.com/u/5756858?s=50" /></td>
     <td class="text-center">Till Rohrmann</td>
@@ -391,18 +402,6 @@
     <td class="text-center">PMC, Committer</td>
     <td class="text-center">warneke</td>
   </tr>
-  <tr>
-    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/2550549?s=50"></td>
-    <td class="text-center">Andra Lungu</td>
-    <td class="text-center">Committer</td>
-    <td class="text-center">andra</td>
-  </tr>
-  <tr>
-    <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1941681?s=50"></td>
-    <td class="text-center">Chiwan Park</td>
-    <td class="text-center">Committer</td>
-    <td class="text-center">chiwanpark</td>
-  </tr>
 </table>
 
 <p>You can reach committers directly at <code>&lt;apache-id&gt;@apache.org</code>. A list of all contributors can be found on our <a href="https://github.com/apache/flink/graphs/contributors">GitHub Contributors</a> page.</p>


[17/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/examples.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/examples.html b/content/docs/master/apis/examples.html
deleted file mode 100644
index 8355341..0000000
--- a/content/docs/master/apis/examples.html
+++ /dev/null
@@ -1,681 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Bundled Examples</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Bundled Examples</h1>
-
-
-
-<p>The following example programs showcase different applications of Flink 
-from simple word counting to graph algorithms. The code samples illustrate the 
-use of <a href="programming_guide.html">Flink’s API</a>.</p>
-
-<p>The full source code of the following and more examples can be found in the <strong>flink-java-examples</strong>
-or <strong>flink-scala-examples</strong> module of the Flink source repository.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#running-an-example" id="markdown-toc-running-an-example">Running an example</a></li>
-  <li><a href="#word-count" id="markdown-toc-word-count">Word Count</a></li>
-  <li><a href="#page-rank" id="markdown-toc-page-rank">Page Rank</a></li>
-  <li><a href="#connected-components" id="markdown-toc-connected-components">Connected Components</a></li>
-  <li><a href="#relational-query" id="markdown-toc-relational-query">Relational Query</a></li>
-</ul>
-
-<h2 id="running-an-example">Running an example</h2>
-
-<p>In order to run a Flink example, we assume you have a running Flink instance available. The “Setup” tab in the navigation describes various ways of starting Flink.</p>
-
-<p>The easiest way is running the <code>./bin/start-local.sh</code> script, which will start a JobManager locally.</p>
-
-<p>Each binary release of Flink contains an <code>examples</code> directory with jar files for each of the examples on this page.</p>
-
-<p>To run the WordCount example, issue the following command:</p>
-
-<div class="highlight"><pre><code class="language-bash">./bin/flink run ./examples/flink-java-examples-0.10-SNAPSHOT-WordCount.jar</code></pre></div>
-
-<p>The other examples can be started in a similar way.</p>
-
-<p>Note that many examples run without passing any arguments for them, by using build-in data. To run WordCount with real data, you have to pass the path to the data:</p>
-
-<div class="highlight"><pre><code class="language-bash">./bin/flink run ./examples/flink-java-examples-0.10-SNAPSHOT-WordCount.jar /path/to/some/text/data /path/to/result</code></pre></div>
-
-<p>Note that non-local file systems require a schema prefix, such as <code>hdfs://</code>.</p>
-
-<h2 id="word-count">Word Count</h2>
-<p>WordCount is the “Hello World” of Big Data processing systems. It computes the frequency of words in a text collection. The algorithm works in two steps: First, the texts are splits the text to individual words. Second, the words are grouped and counted.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">text</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readTextFile</span><span class="o">(</span><span class="s">&quot;/path/to/file&quot;</span><span class="o">);</span> 
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">counts</span> <span class="o">=</span> 
-        <span class="c1">// split up the lines in pairs (2-tuples) containing: (word,1)</span>
-        <span class="n">text</span><span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">Tokenizer</span><span class="o">())</span>
-        <span class="c1">// group by the tuple field &quot;0&quot; and sum up tuple field &quot;1&quot;</span>
-        <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-        <span class="o">.</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
-
-<span class="n">counts</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">);</span>
-
-<span class="c1">// User-defined functions</span>
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">Tokenizer</span> <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">String</span> <span class="n">value</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-        <span class="c1">// normalize and split the line</span>
-        <span class="n">String</span><span class="o">[]</span> <span class="n">tokens</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="na">toLowerCase</span><span class="o">().</span><span class="na">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">);</span>
-        
-        <span class="c1">// emit the pairs</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">token</span> <span class="o">:</span> <span class="n">tokens</span><span class="o">)</span> <span class="o">{</span>
-            <span class="k">if</span> <span class="o">(</span><span class="n">token</span><span class="o">.</span><span class="na">length</span><span class="o">()</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
-                <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;(</span><span class="n">token</span><span class="o">,</span> <span class="mi">1</span><span class="o">));</span>
-            <span class="o">}</span>   
-        <span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/wordcount/WordCount.java">WordCount example</a> implements the above described algorithm with input parameters: <code>&lt;text input path&gt;, &lt;output path&gt;</code>. As test data, any text file will do.</p>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-
-<span class="c1">// get input data</span>
-<span class="k">val</span> <span class="n">text</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readTextFile</span><span class="o">(</span><span class="s">&quot;/path/to/file&quot;</span><span class="o">)</span>
-
-<span class="k">val</span> <span class="n">counts</span> <span class="k">=</span> <span class="n">text</span><span class="o">.</span><span class="n">flatMap</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">toLowerCase</span><span class="o">.</span><span class="n">split</span><span class="o">(</span><span class="s">&quot;\\W+&quot;</span><span class="o">)</span> <span class="n">filter</span> <span class="o">{</span> <span class="k">_</span><span class="o">.</span><span class="n">nonEmpty</span> <span class="o">}</span> <span class="o">}</span>
-  <span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="o">(</span><span class="k">_</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span> <span class="o">}</span>
-  <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-  <span class="o">.</span><span class="n">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-
-<span class="n">counts</span><span class="o">.</span><span class="n">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">)</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-scala-examples/src/main/scala/org/apache/flink/examples/scala/wordcount/WordCount.scala">WordCount example</a> implements the above described algorithm with input parameters: <code>&lt;text input path&gt;, &lt;output path&gt;</code>. As test data, any text file will do.</p>
-
-  </div>
-</div>
-
-<h2 id="page-rank">Page Rank</h2>
-
-<p>The PageRank algorithm computes the “importance” of pages in a graph defined by links, which point from one pages to another page. It is an iterative graph algorithm, which means that it repeatedly applies the same computation. In each iteration, each page distributes its current rank over all its neighbors, and compute its new rank as a taxed sum of the ranks it received from its neighbors. The PageRank algorithm was popularized by the Google search engine which uses the importance of webpages to rank the results of search queries.</p>
-
-<p>In this simple example, PageRank is implemented with a <a href="iterations.html">bulk iteration</a> and a fixed number of iterations.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-
-<span class="c1">// read the pages and initial ranks by parsing a CSV file</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">pagesWithRanks</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">readCsvFile</span><span class="o">(</span><span class="n">pagesInputPath</span><span class="o">)</span>
-						   <span class="o">.</span><span class="na">types</span><span class="o">(</span><span class="n">Long</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Double</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>
-
-<span class="c1">// the links are encoded as an adjacency list: (page-id, Array(neighbor-ids))</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">[]&gt;&gt;</span> <span class="n">pageLinkLists</span> <span class="o">=</span> <span class="n">getLinksDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">);</span>
-
-<span class="c1">// set iterative data set</span>
-<span class="n">IterativeDataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">iteration</span> <span class="o">=</span> <span class="n">pagesWithRanks</span><span class="o">.</span><span class="na">iterate</span><span class="o">(</span><span class="n">maxIterations</span><span class="o">);</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">newRanks</span> <span class="o">=</span> <span class="n">iteration</span>
-        <span class="c1">// join pages with outgoing edges and distribute rank</span>
-        <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">pageLinkLists</span><span class="o">).</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">JoinVertexWithEdgesMatch</span><span class="o">())</span>
-        <span class="c1">// collect and sum ranks</span>
-        <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">sum</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-        <span class="c1">// apply dampening factor</span>
-        <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="nf">Dampener</span><span class="o">(</span><span class="n">DAMPENING_FACTOR</span><span class="o">,</span> <span class="n">numPages</span><span class="o">));</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">finalPageRanks</span> <span class="o">=</span> <span class="n">iteration</span><span class="o">.</span><span class="na">closeWith</span><span class="o">(</span>
-        <span class="n">newRanks</span><span class="o">,</span> 
-        <span class="n">newRanks</span><span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">iteration</span><span class="o">).</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-        <span class="c1">// termination condition</span>
-        <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="k">new</span> <span class="nf">EpsilonFilter</span><span class="o">()));</span>
-
-<span class="n">finalPageRanks</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">);</span>
-
-<span class="c1">// User-defined functions</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">JoinVertexWithEdgesMatch</span> 
-                    <span class="kd">implements</span> <span class="n">FlatJoinFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">[]&gt;,</span> 
-                                            <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">join</span><span class="o">(&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">page</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">[]&gt;</span> <span class="n">adj</span><span class="o">,</span> 
-                        <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">Long</span><span class="o">[]</span> <span class="n">neigbors</span> <span class="o">=</span> <span class="n">adj</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-        <span class="kt">double</span> <span class="n">rank</span> <span class="o">=</span> <span class="n">page</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-        <span class="kt">double</span> <span class="n">rankToDistribute</span> <span class="o">=</span> <span class="n">rank</span> <span class="o">/</span> <span class="o">((</span><span class="kt">double</span><span class="o">)</span> <span class="n">neigbors</span><span class="o">.</span><span class="na">length</span><span class="o">);</span>
-            
-        <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">neigbors</span><span class="o">.</span><span class="na">length</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> <span class="o">{</span>
-            <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;(</span><span class="n">neigbors</span><span class="o">[</span><span class="n">i</span><span class="o">],</span> <span class="n">rankToDistribute</span><span class="o">));</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">Dampener</span> <span class="kd">implements</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span><span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span><span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-    <span class="kd">private</span> <span class="kd">final</span> <span class="kt">double</span> <span class="n">dampening</span><span class="o">,</span> <span class="n">randomJump</span><span class="o">;</span>
-
-    <span class="kd">public</span> <span class="nf">Dampener</span><span class="o">(</span><span class="kt">double</span> <span class="n">dampening</span><span class="o">,</span> <span class="kt">double</span> <span class="n">numVertices</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">this</span><span class="o">.</span><span class="na">dampening</span> <span class="o">=</span> <span class="n">dampening</span><span class="o">;</span>
-        <span class="k">this</span><span class="o">.</span><span class="na">randomJump</span> <span class="o">=</span> <span class="o">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">dampening</span><span class="o">)</span> <span class="o">/</span> <span class="n">numVertices</span><span class="o">;</span>
-    <span class="o">}</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="nf">map</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">value</span><span class="o">.</span><span class="na">f1</span> <span class="o">=</span> <span class="o">(</span><span class="n">value</span><span class="o">.</span><span class="na">f1</span> <span class="o">*</span> <span class="n">dampening</span><span class="o">)</span> <span class="o">+</span> <span class="n">randomJump</span><span class="o">;</span>
-        <span class="k">return</span> <span class="n">value</span><span class="o">;</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">EpsilonFilter</span> 
-                <span class="kd">implements</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">value</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="n">Math</span><span class="o">.</span><span class="na">abs</span><span class="o">(</span><span class="n">value</span><span class="o">.</span><span class="na">f0</span><span class="o">.</span><span class="na">f1</span> <span class="o">-</span> <span class="n">value</span><span class="o">.</span><span class="na">f1</span><span class="o">.</span><span class="na">f1</span><span class="o">)</span> <span class="o">&gt;</span> <span class="n">EPSILON</span><span class="o">;</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/graph/PageRankBasic.java">PageRank program</a> implements the above example.
-It requires the following parameters to run: <code>&lt;pages input path&gt;, &lt;links input path&gt;, &lt;output path&gt;, &lt;num pages&gt;, &lt;num iterations&gt;</code>.</p>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="c1">// User-defined types</span>
-<span class="k">case</span> <span class="k">class</span> <span class="nc">Link</span><span class="o">(</span><span class="n">sourceId</span><span class="k">:</span> <span class="kt">Long</span><span class="o">,</span> <span class="n">targetId</span><span class="k">:</span> <span class="kt">Long</span><span class="o">)</span>
-<span class="k">case</span> <span class="k">class</span> <span class="nc">Page</span><span class="o">(</span><span class="n">pageId</span><span class="k">:</span> <span class="kt">Long</span><span class="o">,</span> <span class="n">rank</span><span class="k">:</span> <span class="kt">Double</span><span class="o">)</span>
-<span class="k">case</span> <span class="k">class</span> <span class="nc">AdjacencyList</span><span class="o">(</span><span class="n">sourceId</span><span class="k">:</span> <span class="kt">Long</span><span class="o">,</span> <span class="n">targetIds</span><span class="k">:</span> <span class="kt">Array</span><span class="o">[</span><span class="kt">Long</span><span class="o">])</span>
-
-<span class="c1">// set up execution environment</span>
-<span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-
-<span class="c1">// read the pages and initial ranks by parsing a CSV file</span>
-<span class="k">val</span> <span class="n">pages</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readCsvFile</span><span class="o">[</span><span class="kt">Page</span><span class="o">](</span><span class="n">pagesInputPath</span><span class="o">)</span>
-
-<span class="c1">// the links are encoded as an adjacency list: (page-id, Array(neighbor-ids))</span>
-<span class="k">val</span> <span class="n">links</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">readCsvFile</span><span class="o">[</span><span class="kt">Link</span><span class="o">](</span><span class="n">linksInputPath</span><span class="o">)</span>
-
-<span class="c1">// assign initial ranks to pages</span>
-<span class="k">val</span> <span class="n">pagesWithRanks</span> <span class="k">=</span> <span class="n">pages</span><span class="o">.</span><span class="n">map</span><span class="o">(</span><span class="n">p</span> <span class="k">=&gt;</span> <span class="nc">Page</span><span class="o">(</span><span class="n">p</span><span class="o">,</span> <span class="mf">1.0</span> <span class="o">/</span> <span class="n">numPages</span><span class="o">))</span>
-
-<span class="c1">// build adjacency list from link input</span>
-<span class="k">val</span> <span class="n">adjacencyLists</span> <span class="k">=</span> <span class="n">links</span>
-  <span class="c1">// initialize lists</span>
-  <span class="o">.</span><span class="n">map</span><span class="o">(</span><span class="n">e</span> <span class="k">=&gt;</span> <span class="nc">AdjacencyList</span><span class="o">(</span><span class="n">e</span><span class="o">.</span><span class="n">sourceId</span><span class="o">,</span> <span class="nc">Array</span><span class="o">(</span><span class="n">e</span><span class="o">.</span><span class="n">targetId</span><span class="o">)))</span>
-  <span class="c1">// concatenate lists</span>
-  <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="s">&quot;sourceId&quot;</span><span class="o">).</span><span class="n">reduce</span> <span class="o">{</span>
-  <span class="o">(</span><span class="n">l1</span><span class="o">,</span> <span class="n">l2</span><span class="o">)</span> <span class="k">=&gt;</span> <span class="nc">AdjacencyList</span><span class="o">(</span><span class="n">l1</span><span class="o">.</span><span class="n">sourceId</span><span class="o">,</span> <span class="n">l1</span><span class="o">.</span><span class="n">targetIds</span> <span class="o">++</span> <span class="n">l2</span><span class="o">.</span><span class="n">targetIds</span><span class="o">)</span>
-  <span class="o">}</span>
-
-<span class="c1">// start iteration</span>
-<span class="k">val</span> <span class="n">finalRanks</span> <span class="k">=</span> <span class="n">pagesWithRanks</span><span class="o">.</span><span class="n">iterateWithTermination</span><span class="o">(</span><span class="n">maxIterations</span><span class="o">)</span> <span class="o">{</span>
-  <span class="n">currentRanks</span> <span class="k">=&gt;</span>
-    <span class="k">val</span> <span class="n">newRanks</span> <span class="k">=</span> <span class="n">currentRanks</span>
-      <span class="c1">// distribute ranks to target pages</span>
-      <span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">adjacencyLists</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="s">&quot;sourceId&quot;</span><span class="o">)</span> <span class="o">{</span>
-        <span class="o">(</span><span class="n">page</span><span class="o">,</span> <span class="n">adjacent</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[</span><span class="kt">Page</span><span class="o">])</span> <span class="k">=&gt;</span>
-        <span class="k">for</span> <span class="o">(</span><span class="n">targetId</span> <span class="k">&lt;-</span> <span class="n">adjacent</span><span class="o">.</span><span class="n">targetIds</span><span class="o">)</span> <span class="o">{</span>
-          <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="nc">Page</span><span class="o">(</span><span class="n">targetId</span><span class="o">,</span> <span class="n">page</span><span class="o">.</span><span class="n">rank</span> <span class="o">/</span> <span class="n">adjacent</span><span class="o">.</span><span class="n">targetIds</span><span class="o">.</span><span class="n">length</span><span class="o">))</span>
-        <span class="o">}</span>
-      <span class="o">}</span>
-      <span class="c1">// collect ranks and sum them up</span>
-      <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">).</span><span class="n">aggregate</span><span class="o">(</span><span class="nc">SUM</span><span class="o">,</span> <span class="s">&quot;rank&quot;</span><span class="o">)</span>
-      <span class="c1">// apply dampening factor</span>
-      <span class="o">.</span><span class="n">map</span> <span class="o">{</span> <span class="n">p</span> <span class="k">=&gt;</span>
-        <span class="nc">Page</span><span class="o">(</span><span class="n">p</span><span class="o">.</span><span class="n">pageId</span><span class="o">,</span> <span class="o">(</span><span class="n">p</span><span class="o">.</span><span class="n">rank</span> <span class="o">*</span> <span class="nc">DAMPENING_FACTOR</span><span class="o">)</span> <span class="o">+</span> <span class="o">((</span><span class="mi">1</span> <span class="o">-</span> <span class="nc">DAMPENING_FACTOR</span><span class="o">)</span> <span class="o">/</span> <span class="n">numPages</span><span class="o">))</span>
-      <span class="o">}</span>
-
-    <span class="c1">// terminate if no rank update was significant</span>
-    <span class="k">val</span> <span class="n">termination</span> <span class="k">=</span> <span class="n">currentRanks</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">newRanks</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="s">&quot;pageId&quot;</span><span class="o">)</span> <span class="o">{</span>
-      <span class="o">(</span><span class="n">current</span><span class="o">,</span> <span class="n">next</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[</span><span class="kt">Int</span><span class="o">])</span> <span class="k">=&gt;</span>
-        <span class="c1">// check for significant update</span>
-        <span class="k">if</span> <span class="o">(</span><span class="n">math</span><span class="o">.</span><span class="n">abs</span><span class="o">(</span><span class="n">current</span><span class="o">.</span><span class="n">rank</span> <span class="o">-</span> <span class="n">next</span><span class="o">.</span><span class="n">rank</span><span class="o">)</span> <span class="o">&gt;</span> <span class="nc">EPSILON</span><span class="o">)</span> <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-    <span class="o">}</span>
-
-    <span class="o">(</span><span class="n">newRanks</span><span class="o">,</span> <span class="n">termination</span><span class="o">)</span>
-<span class="o">}</span>
-
-<span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">finalRanks</span>
-
-<span class="c1">// emit result</span>
-<span class="n">result</span><span class="o">.</span><span class="n">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">)</span></code></pre></div>
-
-    <p>he <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-scala-examples/src/main/scala/org/apache/flink/examples/scala/graph/PageRankBasic.scala">PageRank program</a> implements the above example.
-It requires the following parameters to run: <code>&lt;pages input path&gt;, &lt;links input path&gt;, &lt;output path&gt;, &lt;num pages&gt;, &lt;num iterations&gt;</code>.</p>
-  </div>
-</div>
-
-<p>Input files are plain text files and must be formatted as follows:
-- Pages represented as an (long) ID separated by new-line characters.
-    * For example <code>"1\n2\n12\n42\n63\n"</code> gives five pages with IDs 1, 2, 12, 42, and 63.
-- Links are represented as pairs of page IDs which are separated by space characters. Links are separated by new-line characters:
-    * For example <code>"1 2\n2 12\n1 12\n42 63\n"</code> gives four (directed) links (1)-&gt;(2), (2)-&gt;(12), (1)-&gt;(12), and (42)-&gt;(63).</p>
-
-<p>For this simple implementation it is required that each page has at least one incoming and one outgoing link (a page can point to itself).</p>
-
-<h2 id="connected-components">Connected Components</h2>
-
-<p>The Connected Components algorithm identifies parts of a larger graph which are connected by assigning all vertices in the same connected part the same component ID. Similar to PageRank, Connected Components is an iterative algorithm. In each step, each vertex propagates its current component ID to all its neighbors. A vertex accepts the component ID from a neighbor, if it is smaller than its own component ID.</p>
-
-<p>This implementation uses a <a href="iterations.html">delta iteration</a>: Vertices that have not changed their component ID do not participate in the next step. This yields much better performance, because the later iterations typically deal only with a few outlier vertices.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// read vertex and edge data</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;</span> <span class="n">vertices</span> <span class="o">=</span> <span class="n">getVertexDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">edges</span> <span class="o">=</span> <span class="n">getEdgeDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">).</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">UndirectEdge</span><span class="o">());</span>
-
-<span class="c1">// assign the initial component IDs (equal to the vertex ID)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">verticesWithInitialId</span> <span class="o">=</span> <span class="n">vertices</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">DuplicateValue</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">&gt;());</span>
-        
-<span class="c1">// open a delta iteration</span>
-<span class="n">DeltaIteration</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">iteration</span> <span class="o">=</span>
-        <span class="n">verticesWithInitialId</span><span class="o">.</span><span class="na">iterateDelta</span><span class="o">(</span><span class="n">verticesWithInitialId</span><span class="o">,</span> <span class="n">maxIterations</span><span class="o">,</span> <span class="mi">0</span><span class="o">);</span>
-
-<span class="c1">// apply the step logic: </span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">changes</span> <span class="o">=</span> <span class="n">iteration</span><span class="o">.</span><span class="na">getWorkset</span><span class="o">()</span>
-        <span class="c1">// join with the edges</span>
-        <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">edges</span><span class="o">).</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">with</span><span class="o">(</span><span class="k">new</span> <span class="nf">NeighborWithComponentIDJoin</span><span class="o">())</span>
-        <span class="c1">// select the minimum neighbor component ID</span>
-        <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">aggregate</span><span class="o">(</span><span class="n">Aggregations</span><span class="o">.</span><span class="na">MIN</span><span class="o">,</span> <span class="mi">1</span><span class="o">)</span>
-        <span class="c1">// update if the component ID of the candidate is smaller</span>
-        <span class="o">.</span><span class="na">join</span><span class="o">(</span><span class="n">iteration</span><span class="o">.</span><span class="na">getSolutionSet</span><span class="o">()).</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-        <span class="o">.</span><span class="na">flatMap</span><span class="o">(</span><span class="k">new</span> <span class="nf">ComponentIdFilter</span><span class="o">());</span>
-
-<span class="c1">// close the delta iteration (delta and new workset are identical)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">iteration</span><span class="o">.</span><span class="na">closeWith</span><span class="o">(</span><span class="n">changes</span><span class="o">,</span> <span class="n">changes</span><span class="o">);</span>
-
-<span class="c1">// emit result</span>
-<span class="n">result</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">);</span>
-
-<span class="c1">// User-defined functions</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">DuplicateValue</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span> <span class="kd">implements</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">T</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-    
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">T</span><span class="o">&gt;</span> <span class="nf">map</span><span class="o">(</span><span class="n">T</span> <span class="n">vertex</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">T</span><span class="o">,</span> <span class="n">T</span><span class="o">&gt;(</span><span class="n">vertex</span><span class="o">,</span> <span class="n">vertex</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">UndirectEdge</span> 
-                    <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-    <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">invertedEdge</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;();</span>
-    
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">edge</span><span class="o">,</span> <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-        <span class="n">invertedEdge</span><span class="o">.</span><span class="na">f0</span> <span class="o">=</span> <span class="n">edge</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-        <span class="n">invertedEdge</span><span class="o">.</span><span class="na">f1</span> <span class="o">=</span> <span class="n">edge</span><span class="o">.</span><span class="na">f0</span><span class="o">;</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">edge</span><span class="o">);</span>
-        <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">invertedEdge</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">NeighborWithComponentIDJoin</span> 
-                <span class="kd">implements</span> <span class="n">JoinFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="nf">join</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">vertexWithComponent</span><span class="o">,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;</span> <span class="n">edge</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">return</span> <span class="k">new</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;(</span><span class="n">edge</span><span class="o">.</span><span class="na">f1</span><span class="o">,</span> <span class="n">vertexWithComponent</span><span class="o">.</span><span class="na">f1</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span>
-
-<span class="kd">public</span> <span class="kd">static</span> <span class="kd">final</span> <span class="kd">class</span> <span class="nc">ComponentIdFilter</span> 
-                    <span class="kd">implements</span> <span class="n">FlatMapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;,</span> 
-                                            <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="o">{</span>
-
-    <span class="nd">@Override</span>
-    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">flatMap</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;,</span> <span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">value</span><span class="o">,</span> 
-                        <span class="n">Collector</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Long</span><span class="o">,</span> <span class="n">Long</span><span class="o">&gt;&gt;</span> <span class="n">out</span><span class="o">)</span> <span class="o">{</span>
-        <span class="k">if</span> <span class="o">(</span><span class="n">value</span><span class="o">.</span><span class="na">f0</span><span class="o">.</span><span class="na">f1</span> <span class="o">&lt;</span> <span class="n">value</span><span class="o">.</span><span class="na">f1</span><span class="o">.</span><span class="na">f1</span><span class="o">)</span> <span class="o">{</span>
-            <span class="n">out</span><span class="o">.</span><span class="na">collect</span><span class="o">(</span><span class="n">value</span><span class="o">.</span><span class="na">f0</span><span class="o">);</span>
-        <span class="o">}</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/graph/ConnectedComponents.java">ConnectedComponents program</a> implements the above example. It requires the following parameters to run: <code>&lt;vertex input path&gt;, &lt;edge input path&gt;, &lt;output path&gt; &lt;max num iterations&gt;</code>.</p>
-
-  </div>
-  <div data-lang="scala">
-
-    <div class="highlight"><pre><code class="language-scala"><span class="c1">// set up execution environment</span>
-<span class="k">val</span> <span class="n">env</span> <span class="k">=</span> <span class="nc">ExecutionEnvironment</span><span class="o">.</span><span class="n">getExecutionEnvironment</span>
-
-<span class="c1">// read vertex and edge data</span>
-<span class="c1">// assign the initial components (equal to the vertex id)</span>
-<span class="k">val</span> <span class="n">vertices</span> <span class="k">=</span> <span class="n">getVerticesDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">).</span><span class="n">map</span> <span class="o">{</span> <span class="n">id</span> <span class="k">=&gt;</span> <span class="o">(</span><span class="n">id</span><span class="o">,</span> <span class="n">id</span><span class="o">)</span> <span class="o">}</span>
-
-<span class="c1">// undirected edges by emitting for each input edge the input edges itself and an inverted</span>
-<span class="c1">// version</span>
-<span class="k">val</span> <span class="n">edges</span> <span class="k">=</span> <span class="n">getEdgesDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">).</span><span class="n">flatMap</span> <span class="o">{</span> <span class="n">edge</span> <span class="k">=&gt;</span> <span class="nc">Seq</span><span class="o">(</span><span class="n">edge</span><span class="o">,</span> <span class="o">(</span><span class="n">edge</span><span class="o">.</span><span class="n">_2</span><span class="o">,</span> <span class="n">edge</span><span class="o">.</span><span class="n">_1</span><span class="o">))</span> <span class="o">}</span>
-
-<span class="c1">// open a delta iteration</span>
-<span class="k">val</span> <span class="n">verticesWithComponents</span> <span class="k">=</span> <span class="n">vertices</span><span class="o">.</span><span class="n">iterateDelta</span><span class="o">(</span><span class="n">vertices</span><span class="o">,</span> <span class="n">maxIterations</span><span class="o">,</span> <span class="nc">Array</span><span class="o">(</span><span class="mi">0</span><span class="o">))</span> <span class="o">{</span>
-  <span class="o">(</span><span class="n">s</span><span class="o">,</span> <span class="n">ws</span><span class="o">)</span> <span class="k">=&gt;</span>
-
-    <span class="c1">// apply the step logic: join with the edges</span>
-    <span class="k">val</span> <span class="n">allNeighbors</span> <span class="k">=</span> <span class="n">ws</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">edges</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span> <span class="o">{</span> <span class="o">(</span><span class="n">vertex</span><span class="o">,</span> <span class="n">edge</span><span class="o">)</span> <span class="k">=&gt;</span>
-      <span class="o">(</span><span class="n">edge</span><span class="o">.</span><span class="n">_2</span><span class="o">,</span> <span class="n">vertex</span><span class="o">.</span><span class="n">_2</span><span class="o">)</span>
-    <span class="o">}</span>
-
-    <span class="c1">// select the minimum neighbor</span>
-    <span class="k">val</span> <span class="n">minNeighbors</span> <span class="k">=</span> <span class="n">allNeighbors</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">min</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-
-    <span class="c1">// update if the component of the candidate is smaller</span>
-    <span class="k">val</span> <span class="n">updatedComponents</span> <span class="k">=</span> <span class="n">minNeighbors</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">s</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="n">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span> <span class="o">{</span>
-      <span class="o">(</span><span class="n">newVertex</span><span class="o">,</span> <span class="n">oldVertex</span><span class="o">,</span> <span class="n">out</span><span class="k">:</span> <span class="kt">Collector</span><span class="o">[(</span><span class="kt">Long</span>, <span class="kt">Long</span><span class="o">)])</span> <span class="k">=&gt;</span>
-        <span class="k">if</span> <span class="o">(</span><span class="n">newVertex</span><span class="o">.</span><span class="n">_2</span> <span class="o">&lt;</span> <span class="n">oldVertex</span><span class="o">.</span><span class="n">_2</span><span class="o">)</span> <span class="n">out</span><span class="o">.</span><span class="n">collect</span><span class="o">(</span><span class="n">newVertex</span><span class="o">)</span>
-    <span class="o">}</span>
-
-    <span class="c1">// delta and new workset are identical</span>
-    <span class="o">(</span><span class="n">updatedComponents</span><span class="o">,</span> <span class="n">updatedComponents</span><span class="o">)</span>
-<span class="o">}</span>
-
-<span class="n">verticesWithComponents</span><span class="o">.</span><span class="n">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">,</span> <span class="s">&quot;\n&quot;</span><span class="o">,</span> <span class="s">&quot; &quot;</span><span class="o">)</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-scala-examples/src/main/scala/org/apache/flink/examples/scala/graph/ConnectedComponents.scala">ConnectedComponents program</a> implements the above example. It requires the following parameters to run: <code>&lt;vertex input path&gt;, &lt;edge input path&gt;, &lt;output path&gt; &lt;max num iterations&gt;</code>.</p>
-  </div>
-</div>
-
-<p>Input files are plain text files and must be formatted as follows:
-- Vertices represented as IDs and separated by new-line characters.
-    * For example <code>"1\n2\n12\n42\n63\n"</code> gives five vertices with (1), (2), (12), (42), and (63).
-- Edges are represented as pairs for vertex IDs which are separated by space characters. Edges are separated by new-line characters:
-    * For example <code>"1 2\n2 12\n1 12\n42 63\n"</code> gives four (undirected) links (1)-(2), (2)-(12), (1)-(12), and (42)-(63).</p>
-
-<h2 id="relational-query">Relational Query</h2>
-
-<p>The Relational Query example assumes two tables, one with <code>orders</code> and the other with <code>lineitems</code> as specified by the <a href="http://www.tpc.org/tpch/">TPC-H decision support benchmark</a>. TPC-H is a standard benchmark in the database industry. See below for instructions how to generate the input data.</p>
-
-<p>The example implements the following SQL query.</p>
-
-<div class="highlight"><pre><code class="language-sql"><span class="k">SELECT</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="n">o_shippriority</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">l_extendedprice</span><span class="p">)</span> <span class="k">as</span> <span class="n">revenue</span>
-    <span class="k">FROM</span> <span class="n">orders</span><span class="p">,</span> <span class="n">lineitem</span>
-<span class="k">WHERE</span> <span class="n">l_orderkey</span> <span class="o">=</span> <span class="n">o_orderkey</span>
-    <span class="k">AND</span> <span class="n">o_orderstatus</span> <span class="o">=</span> <span class="ss">&quot;F&quot;</span> 
-    <span class="k">AND</span> <span class="k">YEAR</span><span class="p">(</span><span class="n">o_orderdate</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1993</span>
-    <span class="k">AND</span> <span class="n">o_orderpriority</span> <span class="k">LIKE</span> <span class="ss">&quot;5%&quot;</span>
-<span class="k">GROUP</span> <span class="k">BY</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="n">o_shippriority</span><span class="p">;</span></code></pre></div>
-
-<p>The Flink program, which implements the above query looks as follows.</p>
-
-<div class="codetabs">
-  <div data-lang="java">
-
-    <div class="highlight"><pre><code class="language-java"><span class="c1">// get orders data set: (orderkey, orderstatus, orderdate, orderpriority, shippriority)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple5</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">orders</span> <span class="o">=</span> <span class="n">getOrdersDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">);</span>
-<span class="c1">// get lineitem data set: (orderkey, extendedprice)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">lineitems</span> <span class="o">=</span> <span class="n">getLineitemDataSet</span><span class="o">(</span><span class="n">env</span><span class="o">);</span>
-
-<span class="c1">// orders filtered by year: (orderkey, custkey)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">ordersFilteredByYear</span> <span class="o">=</span>
-        <span class="c1">// filter orders</span>
-        <span class="n">orders</span><span class="o">.</span><span class="na">filter</span><span class="o">(</span>
-            <span class="k">new</span> <span class="n">FilterFunction</span><span class="o">&lt;</span><span class="n">Tuple5</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;()</span> <span class="o">{</span>
-                <span class="nd">@Override</span>
-                <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Tuple5</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;</span> <span class="n">t</span><span class="o">)</span> <span class="o">{</span>
-                    <span class="c1">// status filter</span>
-                    <span class="k">if</span><span class="o">(!</span><span class="n">t</span><span class="o">.</span><span class="na">f1</span><span class="o">.</span><span class="na">equals</span><span class="o">(</span><span class="n">STATUS_FILTER</span><span class="o">))</span> <span class="o">{</span>
-                        <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
-                    <span class="c1">// year filter</span>
-                    <span class="o">}</span> <span class="k">else</span> <span class="nf">if</span><span class="o">(</span><span class="n">Integer</span><span class="o">.</span><span class="na">parseInt</span><span class="o">(</span><span class="n">t</span><span class="o">.</span><span class="na">f2</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="mi">4</span><span class="o">))</span> <span class="o">&lt;=</span> <span class="n">YEAR_FILTER</span><span class="o">)</span> <span class="o">{</span>
-                        <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
-                    <span class="c1">// order priority filter</span>
-                    <span class="o">}</span> <span class="k">else</span> <span class="nf">if</span><span class="o">(!</span><span class="n">t</span><span class="o">.</span><span class="na">f3</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="n">OPRIO_FILTER</span><span class="o">))</span> <span class="o">{</span>
-                        <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
-                    <span class="o">}</span>
-                    <span class="k">return</span> <span class="kc">true</span><span class="o">;</span>
-                <span class="o">}</span>
-            <span class="o">})</span>
-        <span class="c1">// project fields out that are no longer required</span>
-        <span class="o">.</span><span class="na">project</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span><span class="mi">4</span><span class="o">).</span><span class="na">types</span><span class="o">(</span><span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-
-<span class="c1">// join orders with lineitems: (orderkey, shippriority, extendedprice)</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">lineitemsOfOrders</span> <span class="o">=</span> 
-        <span class="n">ordersFilteredByYear</span><span class="o">.</span><span class="na">joinWithHuge</span><span class="o">(</span><span class="n">lineitems</span><span class="o">)</span>
-                            <span class="o">.</span><span class="na">where</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">equalTo</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span>
-                            <span class="o">.</span><span class="na">projectFirst</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span><span class="mi">1</span><span class="o">).</span><span class="na">projectSecond</span><span class="o">(</span><span class="mi">1</span><span class="o">)</span>
-                            <span class="o">.</span><span class="na">types</span><span class="o">(</span><span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">Double</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-
-<span class="c1">// extendedprice sums: (orderkey, shippriority, sum(extendedprice))</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple3</span><span class="o">&lt;</span><span class="n">Integer</span><span class="o">,</span> <span class="n">Integer</span><span class="o">,</span> <span class="n">Double</span><span class="o">&gt;&gt;</span> <span class="n">priceSums</span> <span class="o">=</span> 
-        <span class="c1">// group by order and sum extendedprice</span>
-        <span class="n">lineitemsOfOrders</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span><span class="mi">1</span><span class="o">).</span><span class="na">aggregate</span><span class="o">(</span><span class="n">Aggregations</span><span class="o">.</span><span class="na">SUM</span><span class="o">,</span> <span class="mi">2</span><span class="o">);</span>
-
-<span class="c1">// emit result</span>
-<span class="n">priceSums</span><span class="o">.</span><span class="na">writeAsCsv</span><span class="o">(</span><span class="n">outputPath</span><span class="o">);</span></code></pre></div>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/relational/TPCHQuery10.java">Relational Query program</a> implements the above query. It requires the following parameters to run: <code>&lt;orders input path&gt;, &lt;lineitem input path&gt;, &lt;output path&gt;</code>.</p>
-
-  </div>
-  <div data-lang="scala">
-    <p>Coming soon…</p>
-
-    <p>The <a href="https://github.com/apache/flink/blob/master//flink-examples/flink-scala-examples/src/main/scala/org/apache/flink/examples/scala/relational/TPCHQuery3.scala">Relational Query program</a> implements the above query. It requires the following parameters to run: <code>&lt;orders input path&gt;, &lt;lineitem input path&gt;, &lt;output path&gt;</code>.</p>
-
-  </div>
-</div>
-
-<p>The orders and lineitem files can be generated using the <a href="http://www.tpc.org/tpch/">TPC-H benchmark</a> suite’s data generator tool (DBGEN). 
-Take the following steps to generate arbitrary large input files for the provided Flink programs:</p>
-
-<ol>
-  <li>Download and unpack DBGEN</li>
-  <li>Make a copy of <em>makefile.suite</em> called <em>Makefile</em> and perform the following changes:</li>
-</ol>
-
-<div class="highlight"><pre><code class="language-bash"><span class="nv">DATABASE</span> <span class="o">=</span> DB2
-<span class="nv">MACHINE</span>  <span class="o">=</span> LINUX
-<span class="nv">WORKLOAD</span> <span class="o">=</span> TPCH
-<span class="nv">CC</span>       <span class="o">=</span> gcc</code></pre></div>
-
-<ol>
-  <li>Build DBGEN using <em>make</em></li>
-  <li>Generate lineitem and orders relations using dbgen. A scale factor
-(-s) of 1 results in a generated data set with about 1 GB size.</li>
-</ol>
-
-<div class="highlight"><pre><code class="language-bash">./dbgen -T o -s 1</code></pre></div>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/fig/LICENSE.txt
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/fig/LICENSE.txt b/content/docs/master/apis/fig/LICENSE.txt
deleted file mode 100644
index 35b8673..0000000
--- a/content/docs/master/apis/fig/LICENSE.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-All image files in the folder and its subfolders are
-licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/fig/iterations_delta_iterate_operator.png
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/fig/iterations_delta_iterate_operator.png b/content/docs/master/apis/fig/iterations_delta_iterate_operator.png
deleted file mode 100644
index 470485a..0000000
Binary files a/content/docs/master/apis/fig/iterations_delta_iterate_operator.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/fig/iterations_delta_iterate_operator_example.png
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/fig/iterations_delta_iterate_operator_example.png b/content/docs/master/apis/fig/iterations_delta_iterate_operator_example.png
deleted file mode 100644
index 15f2b54..0000000
Binary files a/content/docs/master/apis/fig/iterations_delta_iterate_operator_example.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/fig/iterations_iterate_operator.png
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/fig/iterations_iterate_operator.png b/content/docs/master/apis/fig/iterations_iterate_operator.png
deleted file mode 100644
index aaf4158..0000000
Binary files a/content/docs/master/apis/fig/iterations_iterate_operator.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/fig/iterations_iterate_operator_example.png
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/fig/iterations_iterate_operator_example.png b/content/docs/master/apis/fig/iterations_iterate_operator_example.png
deleted file mode 100644
index be4841c..0000000
Binary files a/content/docs/master/apis/fig/iterations_iterate_operator_example.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/fig/iterations_supersteps.png
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/fig/iterations_supersteps.png b/content/docs/master/apis/fig/iterations_supersteps.png
deleted file mode 100644
index 331dbc7..0000000
Binary files a/content/docs/master/apis/fig/iterations_supersteps.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/fig/plan_visualizer.png
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/fig/plan_visualizer.png b/content/docs/master/apis/fig/plan_visualizer.png
deleted file mode 100644
index 85b8c55..0000000
Binary files a/content/docs/master/apis/fig/plan_visualizer.png and /dev/null differ


[38/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/internals/fig/job_and_execution_graph.svg
----------------------------------------------------------------------
diff --git a/content/docs/0.9/internals/fig/job_and_execution_graph.svg b/content/docs/0.9/internals/fig/job_and_execution_graph.svg
deleted file mode 100644
index 2f90ea1..0000000
--- a/content/docs/0.9/internals/fig/job_and_execution_graph.svg
+++ /dev/null
@@ -1,851 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="860.40625"
-   height="541.0625"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.5 r10040">
-  <defs
-     id="defs4" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.35"
-     inkscape:cx="430.20675"
-     inkscape:cy="270.53212"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:window-width="1600"
-     inkscape:window-height="838"
-     inkscape:window-x="1912"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(55.206749,-261.8318)">
-    <g
-       id="g2989"
-       transform="translate(-78.581749,159.5193)">
-      <path
-         id="path2991"
-         d="m 336.57135,443.36045 c 0,-3.6384 2.96324,-6.60164 6.60164,-6.60164 l 500.22462,0 c 3.63841,0 6.60165,2.96324 6.60165,6.60164 l 0,26.36907 c 0,3.63841 -2.96324,6.56414 -6.60165,6.56414 l -500.22462,0 c -3.6384,0 -6.60164,-2.92573 -6.60164,-6.56414 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2993"
-         d="m 336.57135,443.36045 c 0,-3.6384 2.96324,-6.60164 6.60164,-6.60164 l 500.22462,0 c 3.63841,0 6.60165,2.96324 6.60165,6.60164 l 0,26.36907 c 0,3.63841 -2.96324,6.56414 -6.60165,6.56414 l -500.22462,0 c -3.6384,0 -6.60164,-2.92573 -6.60164,-6.56414 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text2995"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="453.48053"
-         x="347.62067"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text2997"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="469.98465"
-         x="347.62067"
-         xml:space="preserve">Result</text>
-      <path
-         id="path2999"
-         d="m 336.57135,550.86223 c 0,-9.33982 7.57689,-16.8792 16.8792,-16.8792 l 479.6695,0 c 9.30232,0 16.87921,7.53938 16.87921,16.8792 l 0,67.51682 c 0,9.30232 -7.57689,16.87921 -16.87921,16.87921 l -479.6695,0 c -9.30231,0 -16.8792,-7.57689 -16.8792,-16.87921 z"
-         style="fill:#c5e0b4;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3001"
-         d="m 336.57135,550.86223 c 0,-9.33982 7.57689,-16.8792 16.8792,-16.8792 l 479.6695,0 c 9.30232,0 16.87921,7.53938 16.87921,16.8792 l 0,67.51682 c 0,9.30232 -7.57689,16.87921 -16.87921,16.87921 l -479.6695,0 c -9.30231,0 -16.8792,-7.57689 -16.8792,-16.87921 z"
-         style="fill:none;stroke:#548235;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3003"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="581.19519"
-         x="350.63596"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3005"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="599.19965"
-         x="350.63596"
-         xml:space="preserve">Job Vertex</text>
-      <path
-         id="path3007"
-         d="m 336.57135,345.1985 c 0,-9.33983 7.57689,-16.87921 16.91671,-16.87921 l 479.59448,0 c 9.33983,0 16.91672,7.53938 16.91672,16.87921 l 0,67.62935 c 0,9.33982 -7.57689,16.91671 -16.91672,16.91671 l -479.59448,0 c -9.33982,0 -16.91671,-7.57689 -16.91671,-16.91671 z"
-         style="fill:#c5e0b4;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3009"
-         d="m 336.57135,345.1985 c 0,-9.33983 7.57689,-16.87921 16.91671,-16.87921 l 479.59448,0 c 9.33983,0 16.91672,7.53938 16.91672,16.87921 l 0,67.62935 c 0,9.33982 -7.57689,16.91671 -16.91672,16.91671 l -479.59448,0 c -9.33982,0 -16.91671,-7.57689 -16.91671,-16.91671 z"
-         style="fill:none;stroke:#548235;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3011"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="375.60931"
-         x="350.63596"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3013"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="393.6138"
-         x="350.63596"
-         xml:space="preserve">Job Vertex</text>
-      <path
-         id="path3015"
-         d="m 336.57135,168.41696 c 0,-9.30232 7.57689,-16.87921 16.8792,-16.87921 l 479.6695,0 c 9.30232,0 16.87921,7.57689 16.87921,16.87921 l 0,67.51682 c 0,9.33982 -7.57689,16.8792 -16.87921,16.8792 l -479.6695,0 c -9.30231,0 -16.8792,-7.53938 -16.8792,-16.8792 z"
-         style="fill:#c5e0b4;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3017"
-         d="m 336.57135,168.41696 c 0,-9.30232 7.57689,-16.87921 16.8792,-16.87921 l 479.6695,0 c 9.30232,0 16.87921,7.57689 16.87921,16.87921 l 0,67.51682 c 0,9.33982 -7.57689,16.8792 -16.87921,16.8792 l -479.6695,0 c -9.30231,0 -16.8792,-7.53938 -16.8792,-16.8792 z"
-         style="fill:none;stroke:#548235;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3019"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="198.77649"
-         x="350.63596"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3021"
-         style="font-size:15.00373745px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="216.78098"
-         x="350.63596"
-         xml:space="preserve">Job Vertex</text>
-      <path
-         id="path3023"
-         d="m 24.643639,116.76659 c 0,-7.31432 5.888967,-13.20329 13.16578,-13.20329 l 211.665231,0 c 7.27681,0 13.20329,5.88897 13.20329,13.20329 l 0,512.1901 c 0,7.27681 -5.92648,13.16578 -13.20329,13.16578 l -211.665231,0 c -7.276813,0 -13.16578,-5.88897 -13.16578,-13.16578 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3025"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="123.25767"
-         x="108.06521"
-         xml:space="preserve">JobGraph</text>
-      <path
-         id="path3027"
-         d="m 181.95783,550.29959 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.04872,17.17928 -62.228,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.04872,-17.17928 62.228,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3029"
-         d="m 181.95783,550.29959 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.04872,17.17928 -62.228,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.04872,-17.17928 62.228,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3031"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="578.25909"
-         x="119.9825"
-         xml:space="preserve">JobVertex</text>
-      <text
-         id="text3033"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="594.76318"
-         x="141.73792"
-         xml:space="preserve">(A)</text>
-      <path
-         id="path3035"
-         d="m 235.24923,198.02121 c 17.15115,17.17928 17.15115,45.02997 0,62.20924 -17.15115,17.18866 -44.95495,17.18866 -62.1061,0 -17.15114,-17.17927 -17.15114,-45.02996 0,-62.20924 17.15115,-17.18866 44.95495,-17.18866 62.1061,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3037"
-         d="m 235.24923,198.02121 c 17.15115,17.17928 17.15115,45.02997 0,62.20924 -17.15115,17.18866 -44.95495,17.18866 -62.1061,0 -17.15114,-17.17927 -17.15114,-45.02996 0,-62.20924 17.15115,-17.18866 44.95495,-17.18866 62.1061,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.50374866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3039"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="226.05666"
-         x="173.28711"
-         xml:space="preserve">JobVertex</text>
-      <text
-         id="text3041"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="242.56078"
-         x="194.59242"
-         xml:space="preserve">(D)</text>
-      <path
-         id="path3043"
-         d="m 127.8506,390.07843 c 17.19804,17.14177 17.19804,44.95495 0,62.09672 -17.17928,17.16052 -45.029967,17.16052 -62.209247,0 -17.17928,-17.14177 -17.17928,-44.95495 0,-62.09672 17.17928,-17.16053 45.029967,-17.16053 62.209247,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3045"
-         d="m 127.8506,390.07843 c 17.19804,17.14177 17.19804,44.95495 0,62.09672 -17.17928,17.16052 -45.029967,17.16052 -62.209247,0 -17.17928,-17.14177 -17.17928,-44.95495 0,-62.09672 17.17928,-17.16053 45.029967,-17.16053 62.209247,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3047"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="418.08206"
-         x="65.897766"
-         xml:space="preserve">JobVertex</text>
-      <text
-         id="text3049"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="434.58615"
-         x="87.653183"
-         xml:space="preserve">(B)</text>
-      <path
-         id="path3051"
-         d="m 495.49844,554.70694 -16.84169,-20.29255 2.88821,-2.4006 16.82295,20.29255 -2.86947,2.4006 z m -18.52962,-16.44785 -2.85071,-12.26555 11.51537,5.08251 -8.66466,7.18304 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3053"
-         d="m 50.412559,493.43543 c 0,-2.982 2.419353,-5.4201 5.4201,-5.4201 l 75.900161,0 c 3.00075,0 5.4201,2.4381 5.4201,5.4201 l 0,21.6804 c 0,2.98199 -2.41935,5.4201 -5.4201,5.4201 l -75.900161,0 c -3.000747,0 -5.4201,-2.43811 -5.4201,-5.4201 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3055"
-         d="m 50.412559,493.43543 c 0,-2.982 2.419353,-5.4201 5.4201,-5.4201 l 75.900161,0 c 3.00075,0 5.4201,2.4381 5.4201,5.4201 l 0,21.6804 c 0,2.98199 -2.41935,5.4201 -5.4201,5.4201 l -75.900161,0 c -3.000747,0 -5.4201,-2.43811 -5.4201,-5.4201 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3057"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="501.16693"
-         x="55.542233"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3059"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="517.67102"
-         x="66.945076"
-         xml:space="preserve">Data Set</text>
-      <path
-         id="path3061"
-         d="m 162.79056,493.43543 c 0,-2.982 2.41935,-5.4201 5.4201,-5.4201 l 75.90015,0 c 2.982,0 5.4201,2.4381 5.4201,5.4201 l 0,21.6804 c 0,2.98199 -2.4381,5.4201 -5.4201,5.4201 l -75.90015,0 c -3.00075,0 -5.4201,-2.43811 -5.4201,-5.4201 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3063"
-         d="m 162.79056,493.43543 c 0,-2.982 2.41935,-5.4201 5.4201,-5.4201 l 75.90015,0 c 2.982,0 5.4201,2.4381 5.4201,5.4201 l 0,21.6804 c 0,2.98199 -2.4381,5.4201 -5.4201,5.4201 l -75.90015,0 c -3.00075,0 -5.4201,-2.43811 -5.4201,-5.4201 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3065"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="501.16693"
-         x="167.96423"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3067"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="517.67102"
-         x="179.36708"
-         xml:space="preserve">Data Set</text>
-      <path
-         id="path3069"
-         d="m 118.47326,152.2223 c 17.18866,17.17928 17.18866,45.03934 0,62.21862 -17.1699,17.17928 -45.029963,17.17928 -62.209243,0 -17.17928,-17.17928 -17.17928,-45.03934 0,-62.21862 17.17928,-17.17928 45.039343,-17.17928 62.209243,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3071"
-         d="m 118.47326,152.2223 c 17.18866,17.17928 17.18866,45.03934 0,62.21862 -17.1699,17.17928 -45.029963,17.17928 -62.209243,0 -17.17928,-17.17928 -17.17928,-45.03934 0,-62.21862 17.17928,-17.17928 45.039343,-17.17928 62.209243,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.50374866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3073"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="180.25125"
-         x="56.508911"
-         xml:space="preserve">JobVertex</text>
-      <text
-         id="text3075"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="196.75536"
-         x="77.814217"
-         xml:space="preserve">(C)</text>
-      <path
-         id="path3077"
-         d="m 181.65776,551.49989 19.26104,-20.78017 -2.73818,-2.55064 -19.26105,20.78018 2.73819,2.55063 z m 20.74266,-16.86045 3.52588,-12.07801 -11.77793,4.42611 8.25205,7.6519 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3079"
-         d="m 95.57381,485.98982 0,-11.57163 -3.750935,0 0,11.57163 3.750935,0 z m 3.750934,-9.69616 -5.626401,-11.25281 -5.626402,11.25281 11.252803,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3081"
-         d="m 115.41625,326.10624 52.00671,-45.40506 -2.45686,-2.8132 -52.02546,45.40506 2.47561,2.8132 z m 53.05697,-41.3353 4.78244,-11.64665 -12.17178,3.16954 7.38934,8.47711 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3083"
-         d="m 217.64797,484.90205 0,-194.74852 -3.75093,0 0,194.74852 3.75093,0 z m 3.75094,-192.87305 -5.62641,-11.2528 -5.6264,11.2528 11.25281,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3085"
-         d="m 95.104943,321.88644 0.28132,-85.16497 -3.750934,-0.0188 -0.28132,85.18372 3.750934,0 z m 4.032255,-83.2895 -5.588893,-11.27156 -5.663911,11.23405 11.252804,0.0375 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3087"
-         d="m 55.101227,332.7829 c 0,-3.00074 2.419353,-5.4201 5.4201,-5.4201 l 75.750123,0 c 2.98199,0 5.4201,2.41936 5.4201,5.4201 l 0,21.66165 c 0,3.00075 -2.43811,5.4201 -5.4201,5.4201 l -75.750123,0 c -3.000747,0 -5.4201,-2.41935 -5.4201,-5.4201 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3089"
-         d="m 55.101227,332.7829 c 0,-3.00074 2.419353,-5.4201 5.4201,-5.4201 l 75.750123,0 c 2.98199,0 5.4201,2.41936 5.4201,5.4201 l 0,21.66165 c 0,3.00075 -2.43811,5.4201 -5.4201,5.4201 l -75.750123,0 c -3.000747,0 -5.4201,-2.41935 -5.4201,-5.4201 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3091"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="340.54807"
-         x="60.154701"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3093"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="357.05219"
-         x="71.557541"
-         xml:space="preserve">Data Set</text>
-      <path
-         id="path3095"
-         d="m 326.59386,117.55429 c 0,-7.72693 6.26406,-13.99099 13.99099,-13.99099 l 527.94402,0 c 7.72693,0 13.99099,6.26406 13.99099,13.99099 l 0,510.6147 c 0,7.68942 -6.26406,13.95348 -13.99099,13.95348 l -527.94402,0 c -7.72693,0 -13.99099,-6.26406 -13.99099,-13.95348 z"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3097"
-         style="font-size:16.20403671px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="123.49081"
-         x="546.51147"
-         xml:space="preserve">ExecutionGraph</text>
-      <path
-         id="path3099"
-         d="m 560.50214,552.51264 c 17.14177,17.17928 17.14177,45.01122 0,62.1905 -17.14178,17.17928 -44.97371,17.17928 -62.11548,0 -17.14177,-17.17928 -17.14177,-45.01122 0,-62.1905 17.14177,-17.21678 44.9737,-17.21678 62.11548,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3101"
-         d="m 560.50214,552.51264 c 17.14177,17.17928 17.14177,45.01122 0,62.1905 -17.14178,17.17928 -44.97371,17.17928 -62.11548,0 -17.14177,-17.17928 -17.14177,-45.01122 0,-62.1905 17.14177,-17.21678 44.9737,-17.21678 62.11548,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3103"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="572.29529"
-         x="499.31607"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3105"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="588.79938"
-         x="509.66867"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3107"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="605.30347"
-         x="508.76843"
-         xml:space="preserve">A (0/2)</text>
-      <path
-         id="path3109"
-         d="m 766.16587,550.29959 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.04872,17.17928 -62.228,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.04872,-17.17928 62.228,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3111"
-         d="m 766.16587,550.29959 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.04872,17.17928 -62.228,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.04872,-17.17928 62.228,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3113"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="570.00702"
-         x="704.90192"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3115"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="586.51111"
-         x="715.25446"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3117"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="603.01526"
-         x="714.35425"
-         xml:space="preserve">A (1/2)</text>
-      <path
-         id="path3119"
-         d="m 336.57135,494.29814 c 0,-3.45086 2.8132,-6.26406 6.30157,-6.26406 l 500.86228,0 c 3.45086,0 6.26406,2.8132 6.26406,6.26406 l 0,25.13126 c 0,3.45086 -2.8132,6.26406 -6.26406,6.26406 l -500.86228,0 c -3.48837,0 -6.30157,-2.8132 -6.30157,-6.26406 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3121"
-         d="m 336.57135,494.29814 c 0,-3.45086 2.8132,-6.26406 6.30157,-6.26406 l 500.86228,0 c 3.45086,0 6.26406,2.8132 6.26406,6.26406 l 0,25.13126 c 0,3.45086 -2.8132,6.26406 -6.26406,6.26406 l -500.86228,0 c -3.48837,0 -6.30157,-2.8132 -6.30157,-6.26406 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3123"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="503.78391"
-         x="347.53018"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3125"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="520.28802"
-         x="347.53018"
-         xml:space="preserve">Result</text>
-      <path
-         id="path3127"
-         d="m 434.09564,496.3424 c 0,-2.79444 2.25056,-5.04501 5.04501,-5.04501 l 79.33226,0 c 2.7757,0 5.02626,2.25057 5.02626,5.04501 l 0,20.10501 c 0,2.77569 -2.25056,5.02625 -5.02626,5.02625 l -79.33226,0 c -2.79445,0 -5.04501,-2.25056 -5.04501,-5.02625 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3129"
-         d="m 434.09564,496.3424 c 0,-2.79444 2.25056,-5.04501 5.04501,-5.04501 l 79.33226,0 c 2.7757,0 5.02626,2.25057 5.02626,5.04501 l 0,20.10501 c 0,2.77569 -2.25056,5.02625 -5.02626,5.02625 l -79.33226,0 c -2.79445,0 -5.04501,-2.25056 -5.04501,-5.02625 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3131"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="503.60291"
-         x="444.14053"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3133"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="518.60663"
-         x="436.7887"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3135"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="518.60663"
-         x="475.49835"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3137"
-         d="m 631.65736,496.36116 c 0,-2.8132 2.25056,-5.06377 5.02625,-5.06377 l 79.33227,0 c 2.77569,0 5.02625,2.25057 5.02625,5.06377 l 0,20.105 c 0,2.7757 -2.25056,5.02626 -5.02625,5.02626 l -79.33227,0 c -2.77569,0 -5.02625,-2.25056 -5.02625,-5.02626 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3139"
-         d="m 631.65736,496.36116 c 0,-2.8132 2.25056,-5.06377 5.02625,-5.06377 l 79.33227,0 c 2.77569,0 5.02625,2.25057 5.02625,5.06377 l 0,20.105 c 0,2.7757 -2.25056,5.02626 -5.02625,5.02626 l -79.33227,0 c -2.77569,0 -5.02625,-2.25056 -5.02625,-5.02626 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3141"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="503.60291"
-         x="641.72223"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3143"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="518.60663"
-         x="634.37042"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3145"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="518.60663"
-         x="673.08008"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3147"
-         d="m 116.78534,552.36261 -16.71041,-20.42384 2.90698,-2.36309 16.71041,20.40508 -2.90698,2.38185 z m -18.417084,-16.59789 -2.794446,-12.26555 11.49661,5.13878 -8.702164,7.12677 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3149"
-         d="m 506.09483,345.06721 c 17.16053,17.14178 17.16053,44.95495 0,62.09672 -17.14177,17.16053 -44.95495,17.16053 -62.09672,0 -17.16052,-17.14177 -17.16052,-44.95494 0,-62.09672 17.14177,-17.16052 44.95495,-17.16052 62.09672,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3151"
-         d="m 506.09483,345.06721 c 17.16053,17.14178 17.16053,44.95495 0,62.09672 -17.14177,17.16053 -44.95495,17.16053 -62.09672,0 -17.16052,-17.14177 -17.16052,-44.95494 0,-62.09672 17.14177,-17.16052 44.95495,-17.16052 62.09672,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.49437141px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3153"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="364.74869"
-         x="444.95163"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3155"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="381.25281"
-         x="455.3042"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3157"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="397.75693"
-         x="454.40399"
-         xml:space="preserve">B (0/2)</text>
-      <path
-         id="path3159"
-         d="m 702.24995,347.56159 c 17.14177,17.17928 17.14177,44.9737 0,62.11547 -17.14177,17.14177 -44.9362,17.14177 -62.11548,0 -17.14177,-17.14177 -17.14177,-44.93619 0,-62.11547 17.17928,-17.14177 44.97371,-17.14177 62.11548,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3161"
-         d="m 702.24995,347.56159 c 17.14177,17.17928 17.14177,44.9737 0,62.11547 -17.14177,17.14177 -44.9362,17.14177 -62.11548,0 -17.14177,-17.14177 -17.14177,-44.93619 0,-62.11547 17.17928,-17.14177 44.97371,-17.14177 62.11548,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3163"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="367.29498"
-         x="641.09949"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3165"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="383.7991"
-         x="651.45203"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3167"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="400.30319"
-         x="650.55182"
-         xml:space="preserve">B (1/2)</text>
-      <path
-         id="path3169"
-         d="m 551.10604,540.0783 14.4411,-53.91969 -3.61965,-0.97524 -14.4411,53.93844 3.61965,0.95649 z m 17.59189,-51.14399 -2.53188,-12.32182 -8.34583,9.41484 10.87771,2.90698 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3171"
-         d="m 770.55446,543.36036 14.4411,-53.90092 -3.6384,-0.97525 -14.4411,53.93844 3.6384,0.93773 z m 17.59189,-51.12523 -2.55064,-12.34058 -8.32707,9.41485 10.87771,2.92573 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3173"
-         d="m 694.448,553.30034 -16.84169,-20.44259 2.88822,-2.36309 16.84169,20.40508 -2.88822,2.4006 z m -18.56712,-16.57913 -2.8132,-12.26555 11.51537,5.10127 -8.70217,7.16428 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3175"
-         d="m 336.57135,275.50614 c 0,-3.63841 2.96324,-6.60165 6.60164,-6.60165 l 500.22462,0 c 3.63841,0 6.60165,2.96324 6.60165,6.60165 l 0,26.36906 c 0,3.63841 -2.96324,6.56414 -6.60165,6.56414 l -500.22462,0 c -3.6384,0 -6.60164,-2.92573 -6.60164,-6.56414 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3177"
-         d="m 336.57135,275.50614 c 0,-3.63841 2.96324,-6.60165 6.60164,-6.60165 l 500.22462,0 c 3.63841,0 6.60165,2.96324 6.60165,6.60165 l 0,26.36906 c 0,3.63841 -2.96324,6.56414 -6.60165,6.56414 l -500.22462,0 c -3.6384,0 -6.60164,-2.92573 -6.60164,-6.56414 z"
-         style="fill:none;stroke:#ed7d31;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3179"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="285.63223"
-         x="347.62067"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3181"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="302.13635"
-         x="347.62067"
-         xml:space="preserve">Result</text>
-      <path
-         id="path3183"
-         d="m 628.39405,278.76945 c 0,-2.77569 2.25056,-5.02625 5.02625,-5.02625 l 79.4823,0 c 2.77569,0 5.02625,2.25056 5.02625,5.02625 l 0,20.14252 c 0,2.77569 -2.25056,5.02625 -5.02625,5.02625 l -79.4823,0 c -2.77569,0 -5.02625,-2.25056 -5.02625,-5.02625 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3185"
-         d="m 628.39405,278.76945 c 0,-2.77569 2.25056,-5.02625 5.02625,-5.02625 l 79.4823,0 c 2.77569,0 5.02625,2.25056 5.02625,5.02625 l 0,20.14252 c 0,2.77569 -2.25056,5.02625 -5.02625,5.02625 l -79.4823,0 c -2.77569,0 -5.02625,-2.25056 -5.02625,-5.02625 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3187"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="286.06693"
-         x="638.53546"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3189"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="301.07068"
-         x="631.18365"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3191"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="301.07068"
-         x="669.89331"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3193"
-         d="m 430.34471,278.7882 c 0,-2.79444 2.25056,-5.045 5.04501,-5.045 l 79.33226,0 c 2.77569,0 5.02625,2.25056 5.02625,5.045 l 0,20.10501 c 0,2.77569 -2.25056,5.02625 -5.02625,5.02625 l -79.33226,0 c -2.79445,0 -5.04501,-2.25056 -5.04501,-5.02625 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3195"
-         d="m 430.34471,278.7882 c 0,-2.79444 2.25056,-5.045 5.04501,-5.045 l 79.33226,0 c 2.77569,0 5.02625,2.25056 5.02625,5.045 l 0,20.10501 c 0,2.77569 -2.25056,5.02625 -5.02625,5.02625 l -79.33226,0 c -2.79445,0 -5.04501,-2.25056 -5.04501,-5.02625 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3197"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="286.06693"
-         x="440.48862"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3199"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="301.07068"
-         x="433.13678"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3201"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="301.07068"
-         x="471.84641"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3203"
-         d="m 475.99358,326.25628 0,-8.73968 -3.75093,0 0,8.73968 3.75093,0 z m 3.75094,-6.86421 -5.62641,-11.2528 -5.6264,11.2528 11.25281,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3205"
-         d="m 674.94315,327.38156 0,-9.86496 -3.75094,0 0,9.86496 3.75094,0 z m 3.75093,-7.98949 -5.6264,-11.2528 -5.6264,11.2528 11.2528,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3207"
-         d="m 458.64551,268.60442 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.62641 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.62641 0,-2.8132 2.8132,-0.0187 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0187 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.81321,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.
 0188 z m -0.0188,-5.62641 -0.0188,-2.8132 2.8132,-0.0187 0.0188,2.8132 -2.8132,0.0187 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0188,-5.62641 -0.0188,-2.8132 2.8132,-0.0187 0.0188,2.8132 -2.8132,0.0187 z m -0.0375,-5.6264 0,-2.8132 2.8132,-0.0188 0,2.8132 -2.8132,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0187 0.0188,2.8132 -2.81321,0.0188 z m -0.0188,-5.6264 -0.0188,-2.8132 2.8132,-0.0188 0.0188,2.8132 -2.8132,0.0188 z m -0.0375,-5.6264 0,-0.16879 2.8132,0 0,0.15003 -2.8132,0.0188 z m -2.79445,1.25656 4.16354,-8.45836 4.27607,8.42085 -8.43961,0.0375 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3209"
-         d="m 654.16297,263.76571 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.0375,-2.8132 2.77569,-0.0375 0.075,2.8132 -2.8132,0.0375 z m -0.11253,-5.6264 -0.0375,-2.81321 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.62641 -0.0375,-2.8132 2.81321,-0.0375 0.0375,2.8132 -2.81321,0.0375 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.075,-2.8132 2.8132,-0.0375 0.075,2.8132 -2.8132,0.0375 z m -0.11253,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.58889 -0.0375,-2.8132 2.8132,-0.075 0.0375,2.8132 -2.8132,0.075 z m -0.075,-5.62641 -0.0375,-2.8132 2.8132,-0.075 0.0375,2.8132 -2.8132,0.075 z m -0.075,-5.6264 -0.075,-2.8132 2.8132,-0.075 0.075,2.8132 -2.8132,0.075 z m -0.11253,-5.6264 -0.0375,-2.8132 2.8132,-0.075 0.0375,2.8132 -2.81321,0.075 z m -0.075,-5.6264 -0.0375,-2.813
 2 2.8132,-0.075 0.0375,2.8132 -2.8132,0.075 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.075 0.0375,2.8132 -2.8132,0.075 z m -0.075,-5.6264 -0.075,-2.8132 2.8132,-0.075 0.075,2.8132 -2.8132,0.075 z m -0.11253,-5.62641 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.7757 -2.8132,0.075 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.075,-2.8132 2.8132,-0.0375 0.075,2.8132 -2.81321,0.0375 z m -0.11252,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -0.075,-5.6264 -0.0375,-2.8132 2.8132,-0.0375 0.0375,2.8132 -2.8132,0.0375 z m -2.85071,-3.75094 4.08852,-8.47711 4.35108,8.36458 -8.4396,0.11253 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3211"
-         d="m 607.35131,168.64201 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.01122,17.17928 -62.1905,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.01122,-17.17928 62.1905,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3213"
-         d="m 607.35131,168.64201 c 17.17928,17.14177 17.17928,44.9362 0,62.07797 -17.17928,17.17928 -45.01122,17.17928 -62.1905,0 -17.17928,-17.14177 -17.17928,-44.9362 0,-62.07797 17.17928,-17.17928 45.01122,-17.17928 62.1905,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3215"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="188.31085"
-         x="546.13019"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3217"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="204.81496"
-         x="556.48279"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3219"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="221.31908"
-         x="555.13245"
-         xml:space="preserve">D (0/2)</text>
-      <path
-         id="path3221"
-         d="m 803.48767,171.11763 c 17.21679,17.14177 17.21679,44.9737 0,62.11547 -17.17928,17.14177 -45.01121,17.14177 -62.19049,0 -17.17928,-17.14177 -17.17928,-44.9737 0,-62.11547 17.17928,-17.14177 45.01121,-17.14177 62.19049,0"
-         style="fill:#d6dce5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3223"
-         d="m 803.48767,171.11763 c 17.21679,17.14177 17.21679,44.9737 0,62.11547 -17.17928,17.14177 -45.01121,17.14177 -62.19049,0 -17.17928,-17.14177 -17.17928,-44.9737 0,-62.11547 17.17928,-17.14177 45.01121,-17.14177 62.19049,0"
-         style="fill:none;stroke:#85888d;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3225"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="190.85715"
-         x="742.27802"
-         xml:space="preserve">Execution</text>
-      <text
-         id="text3227"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="207.36125"
-         x="752.63055"
-         xml:space="preserve">Vertex</text>
-      <text
-         id="text3229"
-         style="font-size:13.80343914px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="223.86537"
-         x="751.28021"
-         xml:space="preserve">D (1/2)</text>
-      <path
-         id="path3231"
-         d="m 789.04657,432.7078 -0.60015,-173.63076 3.75094,0 0.60015,173.63076 -3.75094,0 z m -4.35108,-171.75529 5.58889,-11.2528 5.66391,11.21529 -11.2528,0.0375 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3233"
-         d="m 580.85095,432.7078 -0.43135,-173.64951 3.75093,0 0.43136,173.63075 -3.75094,0.0188 z m -4.18229,-171.75529 5.58889,-11.27156 5.66392,11.23405 -11.25281,0.0375 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3235"
-         d="m 491.55996,267.1228 46.5491,-24.39983 -1.74419,-3.31958 -46.54909,24.39983 1.74418,3.31958 z m 46.62412,-20.19879 7.35183,-10.22129 -12.58439,0.24381 5.23256,9.97748 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3237"
-         d="m 685.37074,265.41612 46.51159,-24.26854 -1.72543,-3.30083 -46.5491,24.23104 1.76294,3.33833 z m 46.58661,-20.0675 7.38934,-10.20254 -12.56563,0.22506 5.17629,9.97748 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3239"
-         d="m 275.46863,368.81063 19.93621,0 0,-24.26855 19.91746,48.5371 -19.91746,48.51833 0,-24.24979 -19.93621,0 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3241"
-         d="m 275.46863,368.81063 19.93621,0 0,-24.26855 19.91746,48.5371 -19.91746,48.51833 0,-24.24979 -19.93621,0 z"
-         style="fill:none;stroke:#000000;stroke-width:1.25656307px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3243"
-         d="m 487.6965,488.55921 157.72679,-54.01345 -1.2003,-3.56339 -157.72679,54.01345 1.2003,3.56339 z m 157.16415,-49.84992 8.85221,-8.96473 -12.49062,-1.68792 3.63841,10.65265 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3245"
-         d="m 657.95141,488.70925 -164.14089,-55.88892 1.2003,-3.56339 164.14089,55.88892 -1.2003,3.56339 z m -163.57825,-51.72539 -8.8522,-8.96473 12.49061,-1.68792 -3.63841,10.65265 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3247"
-         d="m 518.19159,446.64252 c 0,-2.79445 2.25057,-5.04501 5.02626,-5.04501 l 79.33226,0 c 2.77569,0 5.02625,2.25056 5.02625,5.04501 l 0,20.10501 c 0,2.77569 -2.25056,5.02625 -5.02625,5.02625 l -79.33226,0 c -2.77569,0 -5.02626,-2.25056 -5.02626,-5.02625 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3249"
-         d="m 518.19159,446.66127 c 0,-2.8132 2.25057,-5.06376 5.02626,-5.06376 l 79.33226,0 c 2.77569,0 5.02625,2.25056 5.02625,5.06376 l 0,20.10501 c 0,2.77569 -2.25056,5.02626 -5.02625,5.02626 l -79.33226,0 c -2.77569,0 -5.02626,-2.25057 -5.02626,-5.02626 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3251"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="453.91522"
-         x="528.3172"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3253"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="468.91898"
-         x="520.96539"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3255"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="468.91898"
-         x="559.67505"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3257"
-         d="m 746.2109,446.66127 c 0,-2.8132 2.25056,-5.06376 5.02625,-5.06376 l 79.36978,0 c 2.77569,0 5.02625,2.25056 5.02625,5.06376 l 0,20.10501 c 0,2.77569 -2.25056,5.02626 -5.02625,5.02626 l -79.36978,0 c -2.77569,0 -5.02625,-2.25057 -5.02625,-5.02626 z"
-         style="fill:#fbe5d6;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3259"
-         d="m 746.2109,446.66127 c 0,-2.8132 2.25056,-5.06376 5.02625,-5.06376 l 79.36978,0 c 2.77569,0 5.02625,2.25056 5.02625,5.06376 l 0,20.10501 c 0,2.77569 -2.25056,5.02626 -5.02625,5.02626 l -79.36978,0 c -2.77569,0 -5.02625,-2.25057 -5.02625,-5.02626 z"
-         style="fill:none;stroke:#843c0c;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3261"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="453.91522"
-         x="756.29614"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3263"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="468.91898"
-         x="748.94434"
-         xml:space="preserve">Result</text>
-      <text
-         id="text3265"
-         style="font-size:12.45310211px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Arial"
-         y="468.91898"
-         x="787.65393"
-         xml:space="preserve">Partition</text>
-      <path
-         id="path3267"
-         d="m 463.63425,485.7085 -0.78769,-54.38855 3.75093,-0.0563 0.7877,54.38855 -3.75094,0.0563 z m -4.51987,-52.45682 5.45761,-11.34657 5.79519,11.17778 -11.2528,0.16879 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3269"
-         d="m 678.54404,488.03408 0,-54.08847 -3.75093,0 0,54.08847 3.75093,0 z m 3.75094,-52.21301 -5.6264,-11.2528 -5.62641,11.2528 11.25281,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3271"
-         d="m 96.98041,377.21272 0,-7.8207 3.75093,0 0,7.8207 -3.75093,0 z m -3.750934,-5.94523 5.626401,-11.2528 5.626403,11.2528 -11.252804,0 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-    </g>
-  </g>
-</svg>


[27/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/spargel_guide.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/spargel_guide.html b/content/docs/0.9/libs/spargel_guide.html
deleted file mode 100644
index 6e45e00..0000000
--- a/content/docs/0.9/libs/spargel_guide.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Spargel Graph Processing API - DEPRECATED</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Spargel Graph Processing API - DEPRECATED</h1>
-
-
-
-<p>Spargel is our <a href="http://giraph.apache.org">Giraph</a> like <strong>graph processing</strong> Java API. It supports basic graph computations, which are run as a sequence of <a href="http://flink.apache.org/docs/0.9/apis/iterations.html#supersteps">supersteps</a>. Spargel and Giraph both implement the <a href="https://en.wikipedia.org/wiki/Bulk_Synchronous_Parallel">Bulk Synchronous Parallel (BSP)</a> programming model, propsed by Google’s <a href="http://googleresearch.blogspot.de/2009/06/large-scale-graph-computing-at-google.html">Pregel</a>.</p>
-
-<p>The API provides a <strong>vertex-centric</strong> view on graph processing with two basic operations per superstep:</p>
-
-<ol>
-  <li><strong>Send messages</strong> to other vertices, and</li>
-  <li><strong>Receive messages</strong> from other vertices and <strong>update own vertex state</strong>.</li>
-</ol>
-
-<p>This vertex-centric view makes it easy to express a large class of graph problems efficiently. We will list all <em>relevant interfaces</em> of the <strong>Spargel API</strong> to implement and walk through an <strong>example Spargel program</strong>.</p>
-
-<ul id="markdown-toc">
-  <li><a href="#spargel-api---deprecated" id="markdown-toc-spargel-api---deprecated">Spargel API - DEPRECATED</a></li>
-  <li><a href="#example-propagate-minimum-vertex-id-in-graph" id="markdown-toc-example-propagate-minimum-vertex-id-in-graph">Example: Propagate Minimum Vertex ID in Graph</a></li>
-</ul>
-
-<h2 id="spargel-api---deprecated">Spargel API - DEPRECATED</h2>
-<p>The Spargel API is Deprecated. Please check out the new <a href="gelly_guide.html">Gelly API</a> for graph processing with Apache Flink. If you want to port your Spargel code into Gelly,
-please check the <a href="gelly_guide.html#migrating-spargel-code-to-gelly">migration guide</a>.</p>
-
-<p>The Spargel API is part of the <em>addons</em> Maven project. All relevant classes are located in the <em>org.apache.flink.spargel.java</em> package.</p>
-
-<p>Add the following dependency to your <code>pom.xml</code> to use the Spargel.</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-	<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-	<span class="nt">&lt;artifactId&gt;</span>flink-spargel<span class="nt">&lt;/artifactId&gt;</span>
-	<span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<p>Extend <strong>VertexUpdateFunction&lt;</strong><em>VertexKeyType</em>, <em>VertexValueType</em>, <em>MessageType</em><strong>&gt;</strong> to implement your <em>custom vertex update logic</em>.</p>
-
-<p>Extend <strong>MessagingFunction&lt;</strong><em>VertexKeyType</em>, <em>VertexValueType</em>, <em>MessageType</em>, <em>EdgeValueType</em><strong>&gt;</strong> to implement your <em>custom message logic</em>.</p>
-
-<p>Create a <strong>SpargelIteration</strong> operator to include Spargel in your data flow.</p>
-
-<h2 id="example-propagate-minimum-vertex-id-in-graph">Example: Propagate Minimum Vertex ID in Graph</h2>
-
-<p>The Spargel operator <strong>SpargelIteration</strong> includes Spargel graph processing into your data flow. As usual, it can be combined with other operators like <em>map</em>, <em>reduce</em>, <em>join</em>, etc.</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">FileDataSource</span> <span class="n">vertices</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">FileDataSource</span><span class="o">(...);</span>
-<span class="n">FileDataSource</span> <span class="n">edges</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">FileDataSource</span><span class="o">(...);</span>
-
-<span class="n">SpargelIteration</span> <span class="n">iteration</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">SpargelIteration</span><span class="o">(</span><span class="k">new</span> <span class="nf">MinMessager</span><span class="o">(),</span> <span class="k">new</span> <span class="nf">MinNeighborUpdater</span><span class="o">());</span>
-<span class="n">iteration</span><span class="o">.</span><span class="na">setVertexInput</span><span class="o">(</span><span class="n">vertices</span><span class="o">);</span>
-<span class="n">iteration</span><span class="o">.</span><span class="na">setEdgesInput</span><span class="o">(</span><span class="n">edges</span><span class="o">);</span>
-<span class="n">iteration</span><span class="o">.</span><span class="na">setNumberOfIterations</span><span class="o">(</span><span class="n">maxIterations</span><span class="o">);</span>
-
-<span class="n">FileDataSink</span> <span class="n">result</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">FileDataSink</span><span class="o">(...);</span>
-<span class="n">result</span><span class="o">.</span><span class="na">setInput</span><span class="o">(</span><span class="n">iteration</span><span class="o">.</span><span class="na">getOutput</span><span class="o">());</span>
-
-<span class="k">new</span> <span class="nf">Plan</span><span class="o">(</span><span class="n">result</span><span class="o">);</span></code></pre></div>
-
-<p>Besides the <strong>program logic</strong> of vertex updates in <em>MinNeighborUpdater</em> and messages in <em>MinMessager</em>, you have to specify the <strong>initial vertex</strong> and <strong>edge input</strong>. Every vertex has a <strong>key</strong> and <strong>value</strong>. In each superstep, it <strong>receives messages</strong> from other vertices and updates its state:</p>
-
-<ul>
-  <li><strong>Vertex</strong> input: <strong>(id</strong>: <em>VertexKeyType</em>, <strong>value</strong>: <em>VertexValueType</em><strong>)</strong></li>
-  <li><strong>Edge</strong> input: <strong>(source</strong>: <em>VertexKeyType</em>, <strong>target</strong>: <em>VertexKeyType</em>[, <strong>value</strong>: <em>EdgeValueType</em>])</li>
-</ul>
-
-<p>For our example, we set the vertex ID as both <em>id and value</em> (initial minimum) and <em>leave out the edge values</em> as we don’t need them:</p>
-
-<p class="text-center">
-    <img alt="Spargel Example Input" width="75%" src="fig/spargel_example_input.png" />
-</p>
-
-<p>In order to <strong>propagate the minimum vertex ID</strong>, we iterate over all received messages (which contain the neighboring IDs) and update our value, if we found a new minimum:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">MinNeighborUpdater</span> <span class="kd">extends</span> <span class="n">VertexUpdateFunction</span><span class="o">&lt;</span><span class="n">IntValue</span><span class="o">,</span> <span class="n">IntValue</span><span class="o">,</span> <span class="n">IntValue</span><span class="o">&gt;</span> <span class="o">{</span>
-	
-	<span class="nd">@Override</span>
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">updateVertex</span><span class="o">(</span><span class="n">IntValue</span> <span class="n">id</span><span class="o">,</span> <span class="n">IntValue</span> <span class="n">currentMin</span><span class="o">,</span> <span class="n">Iterator</span><span class="o">&lt;</span><span class="n">IntValue</span><span class="o">&gt;</span> <span class="n">messages</span><span class="o">)</span> <span class="o">{</span>
-		<span class="kt">int</span> <span class="n">min</span> <span class="o">=</span> <span class="n">Integer</span><span class="o">.</span><span class="na">MAX_VALUE</span><span class="o">;</span>
-
-		<span class="c1">// iterate over all received messages</span>
-		<span class="k">while</span> <span class="o">(</span><span class="n">messages</span><span class="o">.</span><span class="na">hasNext</span><span class="o">())</span> <span class="o">{</span>
-			<span class="kt">int</span> <span class="n">next</span> <span class="o">=</span> <span class="n">messages</span><span class="o">.</span><span class="na">next</span><span class="o">().</span><span class="na">getValue</span><span class="o">();</span>
-			<span class="n">min</span> <span class="o">=</span> <span class="n">next</span> <span class="o">&lt;</span> <span class="n">min</span> <span class="o">?</span> <span class="n">next</span> <span class="o">:</span> <span class="n">min</span><span class="o">;</span>
-		<span class="o">}</span>
-
-		<span class="c1">// update vertex value, if new minimum</span>
-		<span class="k">if</span> <span class="o">(</span><span class="n">min</span> <span class="o">&lt;</span> <span class="n">currentMin</span><span class="o">.</span><span class="na">getValue</span><span class="o">())</span> <span class="o">{</span>
-			<span class="n">setNewVertexValue</span><span class="o">(</span><span class="k">new</span> <span class="nf">IntValue</span><span class="o">(</span><span class="n">min</span><span class="o">));</span>
-		<span class="o">}</span>
-	<span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The <strong>messages in each superstep</strong> consist of the <strong>current minimum ID</strong> seen by the vertex:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">MinMessager</span> <span class="kd">extends</span> <span class="n">MessagingFunction</span><span class="o">&lt;</span><span class="n">IntValue</span><span class="o">,</span> <span class="n">IntValue</span><span class="o">,</span> <span class="n">IntValue</span><span class="o">,</span> <span class="n">NullValue</span><span class="o">&gt;</span> <span class="o">{</span>
-	
-	<span class="nd">@Override</span>
-	<span class="kd">public</span> <span class="kt">void</span> <span class="nf">sendMessages</span><span class="o">(</span><span class="n">IntValue</span> <span class="n">id</span><span class="o">,</span> <span class="n">IntValue</span> <span class="n">currentMin</span><span class="o">)</span> <span class="o">{</span>
-		<span class="c1">// send current minimum to neighbors</span>
-		<span class="n">sendMessageToAllNeighbors</span><span class="o">(</span><span class="n">currentMin</span><span class="o">);</span>
-    <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The <strong>API-provided method</strong> <code>sendMessageToAllNeighbors(MessageType)</code> sends the message to all neighboring vertices. It is also possible to address specific vertices with <code>sendMessageTo(VertexKeyType, MessageType)</code>.</p>
-
-<p>If the value of a vertex does not change during a superstep, it will <strong>not send</strong> any messages in the superstep. This allows to do incremental updates to the <strong>hot (changing) parts</strong> of the graph, while leaving <strong>cold (steady) parts</strong> untouched.</p>
-
-<p>The computation <strong>terminates</strong> after a specified <em>maximum number of supersteps</em> <strong>-OR-</strong> the <em>vertex states stop changing</em>.</p>
-
-<p class="text-center">
-    <img alt="Spargel Example" width="75%" src="fig/spargel_example.png" />
-</p>
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/libs/table.html
----------------------------------------------------------------------
diff --git a/content/docs/0.9/libs/table.html b/content/docs/0.9/libs/table.html
deleted file mode 100644
index 73bd084..0000000
--- a/content/docs/0.9/libs/table.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.9.0 Documentation: Table API - Relational Queries</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/0.9/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/0.9/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/0.9/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/0.9/index.html">Overview<span class="hidden-sm hidden-xs"> 0.9.0</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/setup/building.html">Get Flink 0.9-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/0.9/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/0.9/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/0.9/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/0.9/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/0.9/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/0.9/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Table API - Relational Queries <span class="badge">Beta</span></h1>
-
-
-
-<p><strong>The Table API an experimental feature</strong></p>
-
-<p>Flink provides an API that allows specifying operations using SQL-like expressions. Instead of 
-manipulating <code>DataSet</code> or <code>DataStream</code> you work with <code>Table</code> on which relational operations can
-be performed.</p>
-
-<p>The following dependency must be added to your project when using the Table API:</p>
-
-<div class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>flink-table<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.9.0<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-<p>Note that the Table API is currently not part of the binary distribution. See linking with it for cluster execution <a href="../apis/cluster_execution.html#linking-with-modules-not-contained-in-the-binary-distribution">here</a>.</p>
-
-<h2 id="scala-table-api">Scala Table API</h2>
-
-<p>The Table API can be enabled by importing <code>org.apache.flink.api.scala.table._</code>.  This enables
-implicit conversions that allow
-converting a DataSet or DataStream to a Table. This example shows how a DataSet can
-be converted, how relational queries can be specified and how a Table can be
-converted back to a DataSet:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">import</span> <span class="nn">org.apache.flink.api.scala._</span>
-<span class="k">import</span> <span class="nn">org.apache.flink.api.scala.table._</span> 
-
-<span class="k">case</span> <span class="k">class</span> <span class="nc">WC</span><span class="o">(</span><span class="n">word</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">count</span><span class="k">:</span> <span class="kt">Int</span><span class="o">)</span>
-<span class="k">val</span> <span class="n">input</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">fromElements</span><span class="o">(</span><span class="nc">WC</span><span class="o">(</span><span class="s">&quot;hello&quot;</span><span class="o">,</span> <span class="mi">1</span><span class="o">),</span> <span class="nc">WC</span><span class="o">(</span><span class="s">&quot;hello&quot;</span><span class="o">,</span> <span class="mi">1</span><span class="o">),</span> <span class="nc">WC</span><span class="o">(</span><span class="s">&quot;ciao&quot;</span><span class="o">,</span> <span class="mi">1</span><span class="o">))</span>
-<span class="k">val</span> <span class="n">expr</span> <span class="k">=</span> <span class="n">input</span><span class="o">.</span><span class="n">toTable</span>
-<span class="k">val</span> <span class="n">result</span> <span class="k">=</span> <span class="n">expr</span><span class="o">.</span><span class="n">groupBy</span><span class="o">(</span><span class="-Symbol">&#39;word</span><span class="o">).</span><span class="n">select</span><span class="o">(</span><span class="-Symbol">&#39;word</span><span class="o">,</span> <span class="-Symbol">&#39;count</span><span class="o">.</span><span class="n">sum</span> <span class="n">as</span> <span class="-Symbol">&#39;count</span><span class="o">).</span><span class="n">toDataSet</span><span class="o">[</span><span class="kt">WC</span><span class="o">]</span></code></pre></div>
-
-<p>The expression DSL uses Scala symbols to refer to field names and we use code generation to
-transform expressions to efficient runtime code. Please note that the conversion to and from
-Tables only works when using Scala case classes or Flink POJOs. Please check out
-the <a href="programming_guide.html">programming guide</a> to learn the requirements for a class to be 
-considered a POJO.</p>
-
-<p>This is another example that shows how you
-can join to Tables:</p>
-
-<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">case</span> <span class="k">class</span> <span class="nc">MyResult</span><span class="o">(</span><span class="n">a</span><span class="k">:</span> <span class="kt">String</span><span class="o">,</span> <span class="n">d</span><span class="k">:</span> <span class="kt">Int</span><span class="o">)</span>
-
-<span class="k">val</span> <span class="n">input1</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">fromElements</span><span class="o">(...).</span><span class="n">toTable</span><span class="o">(</span><span class="-Symbol">&#39;a</span><span class="o">,</span> <span class="-Symbol">&#39;b</span><span class="o">)</span>
-<span class="k">val</span> <span class="n">input2</span> <span class="k">=</span> <span class="n">env</span><span class="o">.</span><span class="n">fromElements</span><span class="o">(...).</span><span class="n">toTable</span><span class="o">(</span><span class="-Symbol">&#39;c</span><span class="o">,</span> <span class="-Symbol">&#39;d</span><span class="o">)</span>
-<span class="k">val</span> <span class="n">joined</span> <span class="k">=</span> <span class="n">input1</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">input2</span><span class="o">).</span><span class="n">where</span><span class="o">(</span><span class="s">&quot;b = a &amp;&amp; d &gt; 42&quot;</span><span class="o">).</span><span class="n">select</span><span class="o">(</span><span class="s">&quot;a, d&quot;</span><span class="o">).</span><span class="n">toDataSet</span><span class="o">[</span><span class="kt">MyResult</span><span class="o">]</span></code></pre></div>
-
-<p>Notice, how a DataSet can be converted to a Table by using <code>as</code> and specifying new
-names for the fields. This can also be used to disambiguate fields before a join operation. Also,
-in this example we see that you can also use Strings to specify relational expressions.</p>
-
-<p>Please refer to the Scaladoc (and Javadoc) for a full list of supported operations and a
-description of the expression syntax.</p>
-
-<h2 id="java-table-api">Java Table API</h2>
-
-<p>When using Java, Tables can be converted to and from DataSet and DataStream using <code>TableEnvironment</code>.
-This example is equivalent to the above Scala Example:</p>
-
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">WC</span> <span class="o">{</span>
-
-  <span class="kd">public</span> <span class="nf">WC</span><span class="o">(</span><span class="n">String</span> <span class="n">word</span><span class="o">,</span> <span class="kt">int</span> <span class="n">count</span><span class="o">)</span> <span class="o">{</span>
-    <span class="k">this</span><span class="o">.</span><span class="na">word</span> <span class="o">=</span> <span class="n">word</span><span class="o">;</span> <span class="k">this</span><span class="o">.</span><span class="na">count</span> <span class="o">=</span> <span class="n">count</span><span class="o">;</span>
-  <span class="o">}</span>
-
-  <span class="kd">public</span> <span class="nf">WC</span><span class="o">()</span> <span class="o">{}</span> <span class="c1">// empty constructor to satisfy POJO requirements</span>
-
-  <span class="kd">public</span> <span class="n">String</span> <span class="n">word</span><span class="o">;</span>
-  <span class="kd">public</span> <span class="kt">int</span> <span class="n">count</span><span class="o">;</span>
-<span class="o">}</span>
-
-<span class="o">...</span>
-
-<span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">createCollectionsEnvironment</span><span class="o">();</span>
-<span class="n">TableEnvironment</span> <span class="n">tableEnv</span> <span class="o">=</span> <span class="k">new</span> <span class="nf">TableEnvironment</span><span class="o">();</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">WC</span><span class="o">&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">fromElements</span><span class="o">(</span>
-        <span class="k">new</span> <span class="nf">WC</span><span class="o">(</span><span class="s">&quot;Hello&quot;</span><span class="o">,</span> <span class="mi">1</span><span class="o">),</span>
-        <span class="k">new</span> <span class="nf">WC</span><span class="o">(</span><span class="s">&quot;Ciao&quot;</span><span class="o">,</span> <span class="mi">1</span><span class="o">),</span>
-        <span class="k">new</span> <span class="nf">WC</span><span class="o">(</span><span class="s">&quot;Hello&quot;</span><span class="o">,</span> <span class="mi">1</span><span class="o">));</span>
-
-<span class="n">Table</span> <span class="n">table</span> <span class="o">=</span> <span class="n">tableEnv</span><span class="o">.</span><span class="na">fromDataSet</span><span class="o">(</span><span class="n">input</span><span class="o">);</span>
-
-<span class="n">Table</span> <span class="n">filtered</span> <span class="o">=</span> <span class="n">table</span>
-        <span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="s">&quot;word&quot;</span><span class="o">)</span>
-        <span class="o">.</span><span class="na">select</span><span class="o">(</span><span class="s">&quot;word.count as count, word&quot;</span><span class="o">)</span>
-        <span class="o">.</span><span class="na">filter</span><span class="o">(</span><span class="s">&quot;count = 2&quot;</span><span class="o">);</span>
-
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">WC</span><span class="o">&gt;</span> <span class="n">result</span> <span class="o">=</span> <span class="n">tableEnv</span><span class="o">.</span><span class="na">toDataSet</span><span class="o">(</span><span class="n">filtered</span><span class="o">,</span> <span class="n">WC</span><span class="o">.</span><span class="na">class</span><span class="o">);</span></code></pre></div>
-
-<p>When using Java, the embedded DSL for specifying expressions cannot be used. Only String expressions
-are supported. They support exactly the same feature set as the expression DSL.</p>
-
-<p>Please refer to the Javadoc for a full list of supported operations and a description of the
-expression syntax.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/0.9/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/css/codetabs.css
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/css/codetabs.css b/content/docs/0.9/page/css/codetabs.css
deleted file mode 100644
index 420d559..0000000
--- a/content/docs/0.9/page/css/codetabs.css
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
-**/
-
-/**
- * Make dropdown menus in nav bars show on hover instead of click
- * using solution at http://stackoverflow.com/questions/8878033/how-
- * to-make-twitter-bootstrap-menu-dropdown-on-hover-rather-than-click
- **/
-ul.nav li.dropdown:hover ul.dropdown-menu{
-  display: block;
-}
-
-a.menu:after, .dropdown-toggle:after {
-  content: none;
-}
-
-/** Make the submenus open on hover on the parent menu item */
-ul.nav li.dropdown ul.dropdown-menu li.dropdown-submenu:hover ul.dropdown-menu {
-  display: block;
-}
-
-/** Make the submenus be invisible until the parent menu item is hovered upon */
-ul.nav li.dropdown ul.dropdown-menu li.dropdown-submenu ul.dropdown-menu {
-  display: none;
-}
-
-/**
- * Made the navigation bar buttons not grey out when clicked.
- * Essentially making nav bar buttons not react to clicks, only hover events.
- */
-.navbar .nav li.dropdown.open > .dropdown-toggle {
-  background-color: transparent;
-}
-
-/**
- * Made the active tab caption blue. Otherwise the active tab is black, and inactive tab is blue.
- * That looks weird. Changed the colors to active - blue, inactive - black, and
- * no color change on hover.
- */
-.nav-tabs > .active > a, .nav-tabs > .active > a:hover {
-  color: #08c;
-}
-
-.nav-tabs > li > a, .nav-tabs > li > a:hover {
-  color: #333;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/css/flink.css
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/css/flink.css b/content/docs/0.9/page/css/flink.css
deleted file mode 100644
index 9074e23..0000000
--- a/content/docs/0.9/page/css/flink.css
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-/*=============================================================================
-                         Navbar at the top of the page
-=============================================================================*/
-
-/* Padding at top because of the fixed navbar. */
-body {
-	padding-top: 70px;
-}
-
-/* Our logo. */
-.navbar-logo {
-	padding: 5px 15px 5px 15px;
-}
-.navbar-logo img {
-	height: 40px;
-}
-
-/* Links */
-.navbar-default .navbar-nav > li > a {
-	color: black;
-	font-weight: bold;
-}
-.navbar-default .navbar-nav > li > a:hover {
-	background: #E7E7E7;
-}
-
-.navbar-collapse .dropdown-header {
-	color: black;
-}
-
-.version {
-	display: block-inline;
-	font-size: 90%;
-}
-
-/*=============================================================================
-                        Navbar at the side of the page
-=============================================================================*/
-
-/* Move the side nav a little bit down to align with the main heading */
-#markdown-toc {
-	font-size: 90%;
-}
-
-/* Custom list styling */
-#markdown-toc, #markdown-toc ul {
-	list-style: none;
-	display: block;
-	position: relative;
-	padding-left: 0;
-	margin-bottom: 0;
-}
-
-/* All element */
-#markdown-toc li > a {
-	display: block;
-	padding: 5px 10px;
-	border: 1px solid #E5E5E5;
-	margin:-1px;
-}
-#markdown-toc li > a:hover,
-#markdown-toc li > a:focus {
-  text-decoration: none;
-  background-color: #eee;
-}
-
-/* 1st-level elements */
-#markdown-toc > li > a {
-	font-weight: bold;
-}
-
-/* 2nd-level element */
-#markdown-toc > li li > a {
-	padding-left: 20px; /* A little more indentation*/
-}
-
-/* >= 3rd-level element */
-#markdown-toc > li li li {
-	display: none; /* hide */
-}
-
-#markdown-toc li:last-child > a {
-	border-bottom: 1px solid #E5E5E5;
-}
-
-/*=============================================================================
-                                    Text
-=============================================================================*/
-
-h2, h3 {
-	padding-top: 1em;
-	padding-bottom: 5px;
-	border-bottom: 1px solid #E5E5E5;
-}
-
-code {
-	background: #f5f5f5;
-  padding: 0;
-  color: #333333;
-  font-family: "Menlo", "Lucida Console", monospace;
-}
-
-pre {
-	font-size: 85%;
-}

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/css/syntax.css
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/css/syntax.css b/content/docs/0.9/page/css/syntax.css
deleted file mode 100644
index ba3c0ba..0000000
--- a/content/docs/0.9/page/css/syntax.css
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
-**/
-
-.highlight  { background: #ffffff; }
-.highlight .c { color: #999988; font-style: italic } /* Comment */
-.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
-.highlight .k { font-weight: bold } /* Keyword */
-.highlight .o { font-weight: bold } /* Operator */
-.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
-.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
-.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
-.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
-.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
-.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
-.highlight .ge { font-style: italic } /* Generic.Emph */
-.highlight .gr { color: #aa0000 } /* Generic.Error */
-.highlight .gh { color: #999999 } /* Generic.Heading */
-.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
-.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
-.highlight .go { color: #888888 } /* Generic.Output */
-.highlight .gp { color: #555555 } /* Generic.Prompt */
-.highlight .gs { font-weight: bold } /* Generic.Strong */
-.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
-.highlight .gt { color: #aa0000 } /* Generic.Traceback */
-.highlight .kc { font-weight: bold } /* Keyword.Constant */
-.highlight .kd { font-weight: bold } /* Keyword.Declaration */
-.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
-.highlight .kr { font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
-.highlight .m { color: #009999 } /* Literal.Number */
-.highlight .s { color: #d14 } /* Literal.String */
-.highlight .na { color: #008080 } /* Name.Attribute */
-.highlight .nb { color: #0086B3 } /* Name.Builtin */
-.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
-.highlight .no { color: #008080 } /* Name.Constant */
-.highlight .ni { color: #800080 } /* Name.Entity */
-.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
-.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
-.highlight .nn { color: #555555 } /* Name.Namespace */
-.highlight .nt { color: #000080 } /* Name.Tag */
-.highlight .nv { color: #008080 } /* Name.Variable */
-.highlight .ow { font-weight: bold } /* Operator.Word */
-.highlight .w { color: #bbbbbb } /* Text.Whitespace */
-.highlight .mf { color: #009999 } /* Literal.Number.Float */
-.highlight .mh { color: #009999 } /* Literal.Number.Hex */
-.highlight .mi { color: #009999 } /* Literal.Number.Integer */
-.highlight .mo { color: #009999 } /* Literal.Number.Oct */
-.highlight .sb { color: #d14 } /* Literal.String.Backtick */
-.highlight .sc { color: #d14 } /* Literal.String.Char */
-.highlight .sd { color: #d14 } /* Literal.String.Doc */
-.highlight .s2 { color: #d14 } /* Literal.String.Double */
-.highlight .se { color: #d14 } /* Literal.String.Escape */
-.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
-.highlight .si { color: #d14 } /* Literal.String.Interpol */
-.highlight .sx { color: #d14 } /* Literal.String.Other */
-.highlight .sr { color: #009926 } /* Literal.String.Regex */
-.highlight .s1 { color: #d14 } /* Literal.String.Single */
-.highlight .ss { color: #990073 } /* Literal.String.Symbol */
-.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
-.highlight .vc { color: #008080 } /* Name.Variable.Class */
-.highlight .vg { color: #008080 } /* Name.Variable.Global */
-.highlight .vi { color: #008080 } /* Name.Variable.Instance */
-.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/favicon.ico
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/favicon.ico b/content/docs/0.9/page/favicon.ico
deleted file mode 100644
index 34a467a..0000000
Binary files a/content/docs/0.9/page/favicon.ico and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/LICENSE.txt
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/LICENSE.txt b/content/docs/0.9/page/img/LICENSE.txt
deleted file mode 100644
index 35b8673..0000000
--- a/content/docs/0.9/page/img/LICENSE.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-All image files in the folder and its subfolders are
-licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/navbar-brand-logo.jpg
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/navbar-brand-logo.jpg b/content/docs/0.9/page/img/navbar-brand-logo.jpg
deleted file mode 100644
index 5993ee8..0000000
Binary files a/content/docs/0.9/page/img/navbar-brand-logo.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/quickstart-example/compiler-webclient-new.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/quickstart-example/compiler-webclient-new.png b/content/docs/0.9/page/img/quickstart-example/compiler-webclient-new.png
deleted file mode 100644
index e60689e..0000000
Binary files a/content/docs/0.9/page/img/quickstart-example/compiler-webclient-new.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/quickstart-example/jobmanager-running-new.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/quickstart-example/jobmanager-running-new.png b/content/docs/0.9/page/img/quickstart-example/jobmanager-running-new.png
deleted file mode 100644
index 6255022..0000000
Binary files a/content/docs/0.9/page/img/quickstart-example/jobmanager-running-new.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/quickstart-example/kmeans003.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/quickstart-example/kmeans003.png b/content/docs/0.9/page/img/quickstart-example/kmeans003.png
deleted file mode 100644
index 32f8dbb..0000000
Binary files a/content/docs/0.9/page/img/quickstart-example/kmeans003.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/quickstart-example/kmeans008.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/quickstart-example/kmeans008.png b/content/docs/0.9/page/img/quickstart-example/kmeans008.png
deleted file mode 100644
index b372fd1..0000000
Binary files a/content/docs/0.9/page/img/quickstart-example/kmeans008.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/quickstart-example/kmeans015.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/quickstart-example/kmeans015.png b/content/docs/0.9/page/img/quickstart-example/kmeans015.png
deleted file mode 100644
index 8b6fb51..0000000
Binary files a/content/docs/0.9/page/img/quickstart-example/kmeans015.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/quickstart-example/result003.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/quickstart-example/result003.png b/content/docs/0.9/page/img/quickstart-example/result003.png
deleted file mode 100644
index bdcef44..0000000
Binary files a/content/docs/0.9/page/img/quickstart-example/result003.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/quickstart-example/result008.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/quickstart-example/result008.png b/content/docs/0.9/page/img/quickstart-example/result008.png
deleted file mode 100644
index 921c73c..0000000
Binary files a/content/docs/0.9/page/img/quickstart-example/result008.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/quickstart-example/result015.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/quickstart-example/result015.png b/content/docs/0.9/page/img/quickstart-example/result015.png
deleted file mode 100644
index 9dbc6c4..0000000
Binary files a/content/docs/0.9/page/img/quickstart-example/result015.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/quickstart-example/run-webclient.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/quickstart-example/run-webclient.png b/content/docs/0.9/page/img/quickstart-example/run-webclient.png
deleted file mode 100644
index 8b3d535..0000000
Binary files a/content/docs/0.9/page/img/quickstart-example/run-webclient.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/img/quickstart_cluster.png
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/img/quickstart_cluster.png b/content/docs/0.9/page/img/quickstart_cluster.png
deleted file mode 100644
index 9e24795..0000000
Binary files a/content/docs/0.9/page/img/quickstart_cluster.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/0.9/page/js/codetabs.js
----------------------------------------------------------------------
diff --git a/content/docs/0.9/page/js/codetabs.js b/content/docs/0.9/page/js/codetabs.js
deleted file mode 100644
index 878aa32..0000000
--- a/content/docs/0.9/page/js/codetabs.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* Note: This file is originally from the Apache Spark project. */
-
-/* Custom JavaScript code in the MarkDown docs */
-
-// Enable language-specific code tabs
-function codeTabs() {
-  var counter = 0;
-  var langImages = {
-    "scala": "img/scala-sm.png",
-    "python": "img/python-sm.png",
-    "java": "img/java-sm.png"
-  };
-  $("div.codetabs").each(function() {
-    $(this).addClass("tab-content");
-
-    // Insert the tab bar
-    var tabBar = $('<ul class="nav nav-tabs" data-tabs="tabs"></ul>');
-    $(this).before(tabBar);
-
-    // Add each code sample to the tab bar:
-    var codeSamples = $(this).children("div");
-    codeSamples.each(function() {
-      $(this).addClass("tab-pane");
-      var lang = $(this).data("lang");
-      var image = $(this).data("image");
-      var notabs = $(this).data("notabs");
-      var capitalizedLang = lang.substr(0, 1).toUpperCase() + lang.substr(1);
-      var id = "tab_" + lang + "_" + counter;
-      $(this).attr("id", id);
-      if (image != null && langImages[lang]) {
-        var buttonLabel = "<img src='" +langImages[lang] + "' alt='" + capitalizedLang + "' />";
-      } else if (notabs == null) {
-        var buttonLabel = "<b>" + capitalizedLang + "</b>";
-      } else {
-        var buttonLabel = ""
-      }
-      tabBar.append(
-        '<li><a class="tab_' + lang + '" href="#' + id + '">' + buttonLabel + '</a></li>'
-      );
-    });
-
-    codeSamples.first().addClass("active");
-    tabBar.children("li").first().addClass("active");
-    counter++;
-  });
-  $("ul.nav-tabs a").click(function (e) {
-    // Toggling a tab should switch all tabs corresponding to the same language
-    // while retaining the scroll position
-    e.preventDefault();
-    var scrollOffset = $(this).offset().top - $(document).scrollTop();
-    $("." + $(this).attr('class')).tab('show');
-    $(document).scrollTop($(this).offset().top - scrollOffset);
-  });
-}
-
-function makeCollapsable(elt, accordionClass, accordionBodyId, title) {
-  $(elt).addClass("accordion-inner");
-  $(elt).wrap('<div class="accordion ' + accordionClass + '"></div>')
-  $(elt).wrap('<div class="accordion-group"></div>')
-  $(elt).wrap('<div id="' + accordionBodyId + '" class="accordion-body collapse"></div>')
-  $(elt).parent().before(
-    '<div class="accordion-heading">' +
-      '<a class="accordion-toggle" data-toggle="collapse" href="#' + accordionBodyId + '">' +
-             title +
-      '</a>' +
-    '</div>'
-  );
-}
-
-// Enable "view solution" sections (for exercises)
-function viewSolution() {
-  var counter = 0
-  $("div.solution").each(function() {
-    var id = "solution_" + counter
-    makeCollapsable(this, "", id,
-      '<i class="icon-ok-sign" style="text-decoration: none; color: #0088cc">' +
-      '</i>' + "View Solution");
-    counter++;
-  });
-}
-
-// A script to fix internal hash links because we have an overlapping top bar.
-// Based on https://github.com/twitter/bootstrap/issues/193#issuecomment-2281510
-function maybeScrollToHash() {
-  console.log("HERE");
-  if (window.location.hash && $(window.location.hash).length) {
-    console.log("HERE2", $(window.location.hash), $(window.location.hash).offset().top);
-    var newTop = $(window.location.hash).offset().top - 57;
-    $(window).scrollTop(newTop);
-  }
-}
-
-$(function() {
-  codeTabs();
-  viewSolution();
-
-  $(window).bind('hashchange', function() {
-    maybeScrollToHash();
-  });
-
-  // Scroll now too in case we had opened the page on a hash, but wait a bit because some browsers
-  // will try to do *their* initial scroll after running the onReady handler.
-  $(window).load(function() { setTimeout(function() { maybeScrollToHash(); }, 25); }); 
-});


[09/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/fig/ClientJmTm.svg
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/fig/ClientJmTm.svg b/content/docs/master/internals/fig/ClientJmTm.svg
deleted file mode 100644
index b158b7d..0000000
--- a/content/docs/master/internals/fig/ClientJmTm.svg
+++ /dev/null
@@ -1,348 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="817.49274"
-   height="463.47787"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.5 r10040">
-  <defs
-     id="defs4" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.7"
-     inkscape:cx="118.68649"
-     inkscape:cy="265.49231"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:window-width="1600"
-     inkscape:window-height="838"
-     inkscape:window-x="1912"
-     inkscape:window-y="-8"
-     inkscape:window-maximized="1" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(0.17493185,-2.7660971)">
-    <g
-       id="g2989"
-       transform="translate(-24.016809,-116.88402)">
-      <path
-         id="path2991"
-         d="m 400.33723,121.08016 0,124.38099 248.19934,0 0,-124.38099 -248.19934,0 z"
-         style="fill:#f2dcdb;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2993"
-         d="m 400.33723,121.08016 248.19934,0 0,124.38099 -248.19934,0 z"
-         style="fill:none;stroke:#000000;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text2995"
-         style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="162.61018"
-         x="447.93558"
-         xml:space="preserve">JobManager</text>
-      <path
-         id="path2997"
-         d="m 40.510092,137.88435 164.103378,0 0,37.75316 163.46573,0 0,-12.58439 25.16877,25.16877 -25.16877,25.16877 0,-12.58438 -163.46573,0 0,37.75315 -164.103378,0 z"
-         style="fill:#b9cde5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path2999"
-         d="m 40.510092,137.88435 164.103378,0 0,37.75316 163.46573,0 0,-12.58439 25.16877,25.16877 -25.16877,25.16877 0,-12.58438 -163.46573,0 0,37.75315 -164.103378,0 z"
-         style="fill:none;stroke:#000000;stroke-width:2.55063534px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3001"
-         d="m 55.288774,144.86109 0,36.45908 132.483006,0 0,-36.45908 -132.483006,0 z"
-         style="fill:#b9cde5;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3003"
-         style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="171.84125"
-         x="85.103935"
-         xml:space="preserve">Client</text>
-      <path
-         id="path3005"
-         d="m 24.46547,120.27371 42.507465,0 0,42.46058 -7.079889,7.07989 -35.427576,0 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3007"
-         d="m 59.893046,169.81418 1.415978,-5.66391 5.663911,-1.41598 z"
-         style="fill:#cdcdcd;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3009"
-         d="m 59.893046,169.81418 1.415978,-5.66391 5.663911,-1.41598 -7.079889,7.07989 -35.427576,0 0,-49.54047 42.507465,0 0,42.46058"
-         style="fill:none;stroke:#000000;stroke-width:1.24718571px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3011"
-         d="m 29.78242,124.80297 26.584747,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3013"
-         d="m 29.78242,129.18218 31.901697,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3015"
-         d="m 29.78242,133.71144 21.267798,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3017"
-         d="m 29.78242,138.24069 31.901697,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3019"
-         d="m 29.78242,142.77932 31.901697,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3021"
-         d="m 29.78242,147.30857 13.287685,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3023"
-         d="m 29.78242,151.83783 26.556615,0"
-         style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3025"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="229.55898"
-         x="239.21106"
-         xml:space="preserve">Submit Job</text>
-      <text
-         id="text3027"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.73724"
-         x="78.214714"
-         xml:space="preserve">Compiler/</text>
-      <text
-         id="text3029"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="227.74248"
-         x="78.814865"
-         xml:space="preserve">Optimizer</text>
-      <text
-         id="text3031"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="206.94733"
-         x="473.13199"
-         xml:space="preserve">Scheduling,</text>
-      <text
-         id="text3033"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="227.95258"
-         x="424.21982"
-         xml:space="preserve">Resource Management</text>
-      <path
-         id="path3035"
-         d="m 591.89746,422.65529 0,124.38099 248.16182,0 0,-124.38099 -248.16182,0 z"
-         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3037"
-         d="m 591.89746,422.65529 248.16182,0 0,124.38099 -248.16182,0 z"
-         style="fill:none;stroke:#000000;stroke-width:2.55063534px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3039"
-         d="m 621.82991,437.28394 0,36.30904 187.99684,0 0,-36.30904 -187.99684,0 z"
-         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3041"
-         style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="464.15421"
-         x="631.76624"
-         xml:space="preserve">TaskManager</text>
-      <path
-         id="path3043"
-         d="m 177.34418,422.65529 0,124.38099 248.16182,0 0,-124.38099 -248.16182,0 z"
-         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3045"
-         d="m 177.34418,422.65529 248.16182,0 0,124.38099 -248.16182,0 z"
-         style="fill:none;stroke:#000000;stroke-width:2.55063534px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3047"
-         d="m 207.42668,437.28394 0,36.30904 187.84679,0 0,-36.30904 -187.84679,0 z"
-         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3049"
-         style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="464.15421"
-         x="217.23552"
-         xml:space="preserve">TaskManager</text>
-      <path
-         id="path3051"
-         d="m 416.89761,258.47689 -147.58052,146.38022 3.95724,3.99475 147.58052,-146.38022 z m -143.26694,128.76958 -6.30157,23.53712 23.59338,-6.11403 c 1.50037,-0.37509 2.40059,-1.91297 2.0255,-3.41335 -0.39385,-1.51913 -1.93173,-2.41935 -3.4321,-2.0255 l -18.92347,4.89497 3.43211,3.45086 5.045,-18.8672 c 0.39385,-1.51913 -0.48762,-3.05701 -1.98799,-3.45086 -1.50038,-0.41261 -3.05701,0.48762 -3.45086,1.98799 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3053"
-         d="m 612.90269,257.57667 140.0974,144.26094 -4.05101,3.93848 -140.0974,-144.26094 z m 136.12141,126.59404 5.85146,23.63088 -23.48085,-6.52662 c -1.50038,-0.45011 -2.36309,-1.988 -1.95049,-3.48837 0.41261,-1.50038 1.95049,-2.36309 3.45086,-1.95049 l 18.82969,5.25131 -3.48837,3.37584 -4.68866,-18.94222 c -0.3751,-1.53788 0.56264,-3.03825 2.06301,-3.41335 1.50037,-0.37509 3.03826,0.52513 3.41335,2.06302 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3055"
-         d="m 320.29229,409.69582 134.95862,-137.19043 -4.0135,-3.93848 -134.93986,137.19042 z m 130.85135,-119.52353 6.0015,-23.61213 -23.49961,6.39534 c -1.50037,0.39385 -2.38184,1.95049 -1.96924,3.45086 0.39385,1.50037 1.95049,2.38184 3.45086,1.96924 l 18.84845,-5.12003 -3.46962,-3.41335 -4.80119,18.94222 c -0.39385,1.50038 0.52513,3.03826 2.0255,3.41335 1.50037,0.3751 3.03826,-0.52513 3.41335,-2.0255 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3057"
-         d="m 713.84034,414.29071 -141.48525,-148.76206 4.08852,-3.90097 141.48524,148.79957 z m -137.69681,-131.05765 -5.58889,-23.70591 23.40583,6.7892 c 1.46286,0.45011 2.32558,1.98799 1.91298,3.48837 -0.45012,1.50037 -1.988,2.36308 -3.48837,1.91297 l -18.79218,-5.43885 3.52587,-3.33833 4.50113,19.01723 c 0.37509,1.50038 -0.56264,3.00075 -2.10053,3.37584 -1.50037,0.33759 -3.00074,-0.60015 -3.37584,-2.10052 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3059"
-         d="m 294.48586,342.57284 c 0.95649,1.01276 1.61291,2.21305 1.95049,3.6009 0.35634,1.38785 0.31883,2.75694 -0.11253,4.08852 -0.26256,0.8252 -0.63766,1.53788 -1.10652,2.1943 -0.48763,0.63765 -1.08777,1.29407 -1.80045,1.98799 l -2.49437,2.38184 -6.67667,-11.27155 2.15679,-2.04426 c 0.67517,-0.63766 1.33158,-1.18155 1.96924,-1.6129 0.63766,-0.43136 1.33158,-0.71268 2.08177,-0.84396 0.73143,-0.13129 1.42535,-0.0563 2.10052,0.18754 0.69393,0.26257 1.33158,0.69392 1.93173,1.33158 z m -1.2003,1.33159 c -0.45011,-0.46887 -0.91897,-0.7877 -1.4066,-0.97525 -0.50637,-0.18754 -1.01275,-0.22505 -1.57539,-0.13128 -0.54388,0.0938 -1.05026,0.28132 -1.50037,0.58139 -0.46887,0.28132 -0.97524,0.69393 -1.55664,1.25657 l -1.03151,0.97524 5.19505,8.8147 1.29407,-1.21906 c 0.58139,-0.56264 1.06902,-1.12528 1.44411,-1.66916 0.37509,-0.52513 0.65641,-1.12528 0.84396,-1.74419 0.30007,-1.01275 0.28132,-2.04426 -0.0563,-3.09452 -0.33759,-1.05026 -0.88147,-1.98799 -1.65042,-2.79444 z m 8.90847,-5.87022 
 c -0.0938,-0.13128 -0.16879,-0.24381 -0.24381,-0.33758 -0.0563,-0.0938 -0.15003,-0.18755 -0.24381,-0.28132 -0.4126,-0.45011 -0.86271,-0.67517 -1.35033,-0.69392 -0.46887,-0.0188 -0.97525,0.22505 -1.51913,0.73143 -0.5814,0.56264 -0.93774,1.23781 -1.05026,2.04426 -0.0938,0.78769 0.0563,1.55664 0.45011,2.30682 z m 1.85672,6.60165 c -0.97525,0.91898 -1.93173,1.4066 -2.90698,1.48162 -0.97524,0.075 -1.87546,-0.33759 -2.70067,-1.2003 -1.21905,-1.27532 -1.85671,-2.73818 -1.91298,-4.42611 -0.0563,-1.66916 0.50638,-3.05701 1.68792,-4.18229 0.7877,-0.75018 1.5754,-1.12528 2.36309,-1.14403 0.7877,0 1.51913,0.35634 2.1943,1.06901 0.11253,0.11253 0.28132,0.33759 0.50638,0.63766 0.22505,0.30008 0.45011,0.65642 0.71267,1.08777 l -5.10127,4.87622 c 0.0938,0.13128 0.18755,0.26256 0.28132,0.39385 0.0938,0.13128 0.18755,0.24381 0.28132,0.33758 0.56264,0.5814 1.18155,0.88147 1.85671,0.86272 0.67517,0 1.33159,-0.31883 1.988,-0.93774 0.45011,-0.43136 0.84396,-0.95649 1.14403,-1.59414 0.31883,-0.63766 0.525
 14,-1.23781 0.63766,-1.76294 l 0.075,-0.075 0.95649,1.51913 c -0.15004,0.26256 -0.26256,0.50637 -0.37509,0.73143 -0.11253,0.22505 -0.26257,0.48762 -0.45011,0.78769 -0.20631,0.30008 -0.3751,0.56264 -0.54389,0.7877 -0.16879,0.22506 -0.4126,0.46887 -0.69392,0.75019 z m 6.69541,-15.71642 c 0.65642,0.67517 1.16279,1.42536 1.51913,2.23181 0.3751,0.80645 0.5814,1.59415 0.61891,2.34433 0.0563,0.7877 -0.0188,1.51913 -0.26257,2.21305 -0.22505,0.71268 -0.6189,1.31283 -1.14403,1.81921 -0.3751,0.35634 -0.75019,0.63766 -1.14404,0.84396 -0.39385,0.2063 -0.80645,0.35634 -1.21905,0.45011 l 2.11928,3.56339 -1.18155,1.10652 -6.8267,-11.59039 1.16279,-1.10652 0.52513,0.88147 c 0.13128,-0.63766 0.30008,-1.21905 0.50638,-1.74419 0.2063,-0.52513 0.54388,-0.99399 0.994,-1.42535 0.67516,-0.63766 1.38784,-0.91898 2.13803,-0.84396 0.75018,0.075 1.48162,0.50638 2.19429,1.25656 z m -1.01275,1.38785 c -0.46886,-0.48762 -0.93773,-0.76894 -1.4066,-0.84396 -0.46886,-0.0563 -0.93773,0.13128 -1.4066,0.58139 -0.33758,
 0.33759 -0.6189,0.75019 -0.8252,1.27532 -0.20631,0.52513 -0.35634,1.03151 -0.48763,1.55664 l 2.83196,4.80119 c 0.4126,-0.11252 0.76894,-0.24381 1.08777,-0.4126 0.30008,-0.16879 0.63766,-0.4126 0.994,-0.73143 0.4126,-0.4126 0.71268,-0.88147 0.84396,-1.4066 0.15004,-0.54389 0.16879,-1.06902 0.075,-1.6129 -0.0938,-0.5814 -0.28132,-1.14404 -0.56264,-1.66917 -0.30008,-0.54388 -0.67517,-1.05026 -1.14404,-1.53788 z m 0.63766,-10.39009 6.95798,11.77793 -1.16279,1.10653 -6.95798,-11.77793 z m 11.81544,-1.38785 c 0.5814,0.63766 1.05027,1.31283 1.40661,2.06302 0.35633,0.75018 0.56264,1.51913 0.6189,2.26931 0.0563,0.76894 -0.0375,1.51913 -0.28132,2.21305 -0.22506,0.69393 -0.65641,1.33159 -1.29407,1.93174 -0.82521,0.78769 -1.68792,1.16279 -2.58815,1.14403 -0.91898,-0.0375 -1.76294,-0.46887 -2.55063,-1.29407 -0.60015,-0.61891 -1.06902,-1.31283 -1.4066,-2.04426 -0.35634,-0.75019 -0.56264,-1.50037 -0.61891,-2.28807 -0.0563,-0.75019 0.0375,-1.48162 0.30008,-2.21305 0.26256,-0.73143 0.69392,-1.36909 
 1.27531,-1.93173 0.80646,-0.76895 1.65042,-1.14404 2.56939,-1.12528 0.90023,0 1.76294,0.43135 2.56939,1.27531 z m 0.5814,4.44486 c -0.075,-0.54388 -0.28132,-1.10652 -0.5814,-1.65041 -0.28132,-0.54389 -0.65641,-1.05026 -1.12528,-1.53788 -0.54388,-0.5814 -1.10652,-0.88147 -1.66916,-0.91898 -0.56264,-0.0375 -1.08777,0.18754 -1.59415,0.65641 -0.4126,0.39385 -0.67517,0.82521 -0.80645,1.33158 -0.13128,0.48762 -0.16879,1.01276 -0.075,1.5754 0.0938,0.54388 0.28132,1.08777 0.5814,1.63165 0.30007,0.56264 0.65641,1.06902 1.10652,1.53789 0.54389,0.58139 1.10653,0.88146 1.66917,0.91897 0.58139,0.0563 1.10652,-0.16879 1.63165,-0.65641 0.39385,-0.37509 0.65642,-0.82521 0.80646,-1.31283 0.13128,-0.50637 0.15003,-1.0315 0.0563,-1.57539 z m 8.27081,0.56264 -1.29407,1.21905 -0.80645,-4.89496 -7.46436,-5.32633 1.2003,-1.14404 5.90772,4.23856 -1.59415,-8.32708 1.25656,-1.21905 z m 8.92722,-29.01348 -3.28206,3.13203 5.90772,10.015 -1.23781,1.18154 -5.92648,-10.01499 -3.28206,3.15078 -0.76895,-1.27531 7.8
 3946,-7.46436 z m 8.66466,0.43136 c -0.6189,0.63766 -1.14403,1.21905 -1.57539,1.76294 -0.4126,0.54389 -0.73143,1.03151 -0.91898,1.48162 -0.2063,0.45011 -0.28132,0.88147 -0.24381,1.27532 0.0563,0.4126 0.24381,0.78769 0.5814,1.12528 0.28132,0.30007 0.60014,0.43135 0.95648,0.39385 0.33759,-0.0375 0.73144,-0.26257 1.16279,-0.65642 0.3751,-0.35634 0.67517,-0.80645 0.91898,-1.35033 0.22506,-0.54389 0.39385,-1.08778 0.50638,-1.65042 z m 2.10053,3.56339 c -0.0563,0.16879 -0.11253,0.4126 -0.18755,0.71268 -0.075,0.31883 -0.18755,0.60015 -0.30008,0.88147 -0.11252,0.30007 -0.28132,0.60015 -0.46886,0.90022 -0.2063,0.31883 -0.46887,0.63766 -0.82521,0.95649 -0.54388,0.52513 -1.14403,0.78769 -1.78169,0.80645 -0.65642,0 -1.23781,-0.26257 -1.72543,-0.76894 -0.52513,-0.56264 -0.84396,-1.14404 -0.95649,-1.74419 -0.11253,-0.60015 -0.0563,-1.25656 0.18755,-1.95048 0.24381,-0.67517 0.65641,-1.38785 1.2003,-2.11928 0.56264,-0.73143 1.25656,-1.51913 2.08176,-2.34434 -0.0938,-0.15003 -0.16879,-0.26256 -0.225
 05,-0.37509 -0.0563,-0.0938 -0.13128,-0.18755 -0.22506,-0.28132 -0.18754,-0.2063 -0.37509,-0.31883 -0.58139,-0.37509 -0.18755,-0.0375 -0.39385,-0.0375 -0.61891,0.0187 -0.2063,0.075 -0.43135,0.18755 -0.65641,0.33759 -0.2063,0.15003 -0.43136,0.33758 -0.67517,0.56264 -0.33758,0.33758 -0.69392,0.76894 -1.03151,1.31282 -0.33758,0.54389 -0.60014,1.01276 -0.78769,1.38785 l -0.0563,0.0563 -0.88147,-1.38784 c 0.1688,-0.28132 0.45012,-0.67517 0.84396,-1.18155 0.3751,-0.52513 0.76895,-0.97524 1.2003,-1.36909 0.84396,-0.8252 1.63166,-1.29407 2.30683,-1.44411 0.69392,-0.13128 1.31283,0.075 1.87547,0.65642 0.0938,0.11252 0.2063,0.24381 0.30007,0.39384 0.11253,0.15004 0.2063,0.28132 0.28132,0.41261 l 3.3946,5.73893 -1.16279,1.10652 z m 6.22655,-4.20105 c -0.50638,0.48762 -1.03151,0.86272 -1.5754,1.12528 -0.52513,0.26257 -0.99399,0.45011 -1.4066,0.56264 l -0.93773,-1.50037 0.075,-0.0563 c 0.15004,-0.0188 0.35634,-0.0375 0.58139,-0.0563 0.24381,-0.0375 0.50638,-0.11253 0.82521,-0.2063 0.28132,-0.093
 8 0.58139,-0.22506 0.90022,-0.39385 0.31883,-0.16879 0.61891,-0.39385 0.90023,-0.65641 0.58139,-0.56264 0.93773,-1.10653 1.06901,-1.63166 0.11253,-0.52513 -0.0188,-1.01275 -0.4126,-1.42535 -0.2063,-0.22506 -0.45011,-0.30008 -0.73143,-0.26257 -0.28132,0.0375 -0.6189,0.16879 -1.01275,0.4126 -0.2063,0.11253 -0.43136,0.24381 -0.69393,0.41261 -0.28132,0.16879 -0.56264,0.33758 -0.84396,0.50637 -0.6189,0.31883 -1.16279,0.46887 -1.63165,0.43136 -0.48762,-0.0563 -0.90023,-0.24381 -1.25657,-0.6189 -0.30007,-0.33759 -0.52513,-0.69393 -0.65641,-1.10653 -0.13128,-0.43136 -0.16879,-0.88147 -0.11253,-1.38785 0.0563,-0.46886 0.22506,-0.97524 0.50638,-1.50037 0.26256,-0.52513 0.65641,-1.03151 1.16279,-1.50037 0.4126,-0.39385 0.88147,-0.73144 1.38784,-1.03151 0.50638,-0.28132 0.97525,-0.46887 1.3691,-0.5814 l 0.88147,1.44411 -0.0563,0.0563 c -0.11253,0 -0.28132,0.0375 -0.50637,0.0563 -0.22506,0.0375 -0.48763,0.11253 -0.76895,0.22506 -0.26256,0.075 -0.52513,0.2063 -0.8252,0.37509 -0.30008,0.16879 -0.5
 6264,0.3751 -0.82521,0.61891 -0.52513,0.50637 -0.84396,1.01275 -0.95649,1.53788 -0.11252,0.52513 0.0188,0.97524 0.3751,1.35034 0.18754,0.2063 0.43136,0.30007 0.73143,0.28132 0.28132,0 0.6189,-0.13129 1.01275,-0.35634 0.26257,-0.13129 0.50638,-0.30008 0.76894,-0.46887 0.28132,-0.15004 0.52513,-0.31883 0.7877,-0.46887 0.60015,-0.33758 1.12528,-0.48762 1.6129,-0.46886 0.48762,0.0187 0.90023,0.22505 1.27532,0.60015 0.30007,0.31883 0.50638,0.71267 0.65641,1.16279 0.13129,0.45011 0.16879,0.91897 0.0938,1.4066 -0.075,0.52513 -0.24381,1.0315 -0.54389,1.57539 -0.28132,0.52513 -0.69392,1.03151 -1.21905,1.53788 z m 10.67141,-10.48386 -1.4066,1.35034 -5.12003,-0.93774 -0.22506,1.76294 1.61291,2.71943 -1.18155,1.12528 -6.95798,-11.77793 1.18154,-1.12528 4.46361,7.55813 0.75019,-7.33308 1.53788,-1.46286 -0.84396,7.05175 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         inkscape:connector-curvature="0" />
-      <path
-         id="path3061"
-         d="m 383.62682,392.9854 c -0.58139,0.60015 -1.2003,1.08777 -1.83796,1.50038 -0.65641,0.4126 -1.35033,0.75018 -2.11927,1.01275 l -1.10653,-1.65041 0.0938,-0.0938 c 0.75019,-0.0188 1.50038,-0.22505 2.26932,-0.60015 0.75019,-0.37509 1.38784,-0.8252 1.91297,-1.35033 0.84397,-0.88147 1.33159,-1.70668 1.44411,-2.51313 0.0938,-0.80645 -0.11252,-1.46286 -0.63765,-1.98799 -0.28132,-0.28132 -0.60015,-0.41261 -0.95649,-0.43136 -0.35634,-0.0188 -0.73143,0.075 -1.12528,0.30007 -0.33759,0.20631 -0.71268,0.45012 -1.14404,0.75019 -0.4126,0.30008 -0.8252,0.5814 -1.23781,0.82521 -0.76894,0.50637 -1.50037,0.75018 -2.19429,0.76894 -0.69393,0.0188 -1.29408,-0.22506 -1.80045,-0.73143 -0.86272,-0.86272 -1.23781,-1.93174 -1.08777,-3.24456 0.15003,-1.29407 0.78769,-2.53188 1.93173,-3.69467 0.6189,-0.63766 1.25656,-1.16279 1.89422,-1.53789 0.65641,-0.39384 1.23781,-0.69392 1.80045,-0.90022 l 1.03151,1.55664 -0.0938,0.0938 c -0.54388,0.0188 -1.18154,0.22506 -1.89422,0.56264 -0.71268,0.35634 -1.36909,
 0.82521 -1.95048,1.4066 -0.73144,0.75019 -1.14404,1.50038 -1.25657,2.26932 -0.11253,0.75018 0.0938,1.38784 0.60015,1.87546 0.26257,0.26257 0.5814,0.41261 0.93774,0.46887 0.35633,0.0375 0.78769,-0.0938 1.29407,-0.4126 0.31883,-0.2063 0.73143,-0.46887 1.23781,-0.82521 0.52513,-0.33758 0.95648,-0.6189 1.31282,-0.84396 0.73144,-0.4126 1.4066,-0.6189 2.00675,-0.6189 0.61891,0 1.16279,0.24381 1.63166,0.71268 0.39385,0.39384 0.71268,0.88147 0.90022,1.46286 0.20631,0.58139 0.28132,1.2003 0.22506,1.8192 -0.075,0.67517 -0.26257,1.35034 -0.5814,2.00675 -0.33758,0.67517 -0.8252,1.35034 -1.50037,2.04426 z m 6.32033,-15.11626 c -0.0938,-0.13129 -0.1688,-0.24381 -0.24382,-0.33759 -0.075,-0.075 -0.16879,-0.16879 -0.26256,-0.26256 -0.43136,-0.43136 -0.90022,-0.65642 -1.36909,-0.65642 -0.48762,0 -0.97524,0.26257 -1.50038,0.7877 -0.56264,0.58139 -0.90022,1.27532 -0.97524,2.08177 -0.075,0.78769 0.0938,1.55664 0.52513,2.30682 z m 2.08176,6.54538 c -0.93773,0.93773 -1.87546,1.46286 -2.85071,1.57539 -0.97
 524,0.0938 -1.89422,-0.28132 -2.75693,-1.10653 -1.23781,-1.2378 -1.93173,-2.68191 -2.04426,-4.35108 -0.13128,-1.66917 0.37509,-3.09452 1.51913,-4.25731 0.76894,-0.76894 1.53788,-1.18154 2.32558,-1.21905 0.78769,-0.0188 1.53788,0.30007 2.2318,0.97524 0.13128,0.13128 0.30008,0.33758 0.52513,0.63766 0.24381,0.28132 0.48762,0.63766 0.76894,1.06901 l -4.93247,5.04501 c 0.0938,0.13128 0.18754,0.26257 0.28132,0.39385 0.11252,0.11253 0.2063,0.22505 0.31882,0.31883 0.56265,0.56264 1.2003,0.8252 1.85672,0.80645 0.67517,-0.0375 1.33158,-0.37509 1.96924,-1.01275 0.43136,-0.45012 0.80645,-0.994 1.08777,-1.65041 0.30007,-0.63766 0.48762,-1.23781 0.58139,-1.7817 l 0.075,-0.0563 0.994,1.46286 c -0.13128,0.28132 -0.24381,0.52513 -0.33758,0.75019 -0.0938,0.22506 -0.24381,0.48762 -0.43136,0.80645 -0.18755,0.31883 -0.35634,0.58139 -0.52513,0.80645 -0.15004,0.22506 -0.3751,0.48762 -0.65642,0.7877 z m 5.45761,-16.44785 c 0.0938,0.0938 0.22506,0.24381 0.3751,0.4126 0.13128,0.18755 0.26256,0.35634 0.35634,
 0.50638 l 3.4321,5.38259 -1.12528,1.14403 -3.0195,-4.70742 c -0.16879,-0.26256 -0.31883,-0.48762 -0.45011,-0.67517 -0.13129,-0.16879 -0.28132,-0.33758 -0.45012,-0.50637 -0.33758,-0.33759 -0.67516,-0.50638 -1.01275,-0.50638 -0.33758,0 -0.73143,0.22506 -1.16279,0.67517 -0.30007,0.30007 -0.54388,0.73143 -0.75018,1.27532 -0.18755,0.54388 -0.33759,1.10652 -0.45012,1.68792 l 3.93848,6.18904 -1.12528,1.14403 -5.28881,-8.28956 1.12528,-1.14404 0.58139,0.91898 c 0.13128,-0.73143 0.30008,-1.36909 0.50638,-1.91297 0.2063,-0.54389 0.50637,-1.01276 0.91898,-1.42536 0.58139,-0.58139 1.18154,-0.90022 1.80045,-0.93773 0.63765,-0.0375 1.2378,0.2063 1.80044,0.76894 z m 4.40735,-12.99699 7.35183,11.55288 -1.12528,1.14403 -0.54388,-0.86271 c -0.15004,0.86271 -0.33759,1.51913 -0.50638,1.95049 -0.18755,0.43135 -0.46887,0.84396 -0.8252,1.21905 -0.63766,0.63766 -1.35034,0.95649 -2.11928,0.93773 -0.7877,-0.0375 -1.55664,-0.43135 -2.34434,-1.18154 -0.65641,-0.65641 -1.18154,-1.36909 -1.55663,-2.13803 -0.3938
 5,-0.7877 -0.63766,-1.55664 -0.73144,-2.34434 -0.0938,-0.76894 -0.0375,-1.51913 0.1688,-2.25056 0.2063,-0.71268 0.58139,-1.35033 1.10652,-1.87547 0.35634,-0.35633 0.71268,-0.65641 1.08777,-0.88147 0.3751,-0.24381 0.76894,-0.4126 1.2003,-0.52513 l -2.30682,-3.58214 z m 1.89422,5.90772 c -0.4126,0.13129 -0.78769,0.30008 -1.10652,0.48763 -0.31883,0.2063 -0.63766,0.45011 -0.91898,0.75018 -0.4126,0.4126 -0.69392,0.90023 -0.80645,1.42536 -0.13128,0.54388 -0.13128,1.10652 0,1.68792 0.11253,0.52513 0.33758,1.06901 0.67517,1.63165 0.33758,0.56264 0.71267,1.05027 1.14403,1.46287 0.48762,0.48762 0.97524,0.75019 1.46287,0.80645 0.46886,0.0375 0.93773,-0.18755 1.4066,-0.65641 0.33758,-0.35634 0.60015,-0.7877 0.76894,-1.31283 0.18754,-0.52513 0.31883,-1.03151 0.4126,-1.53788 z m 15.2288,-3.99474 c -0.5814,0.58139 -1.18155,1.08777 -1.83796,1.50037 -0.63766,0.4126 -1.35034,0.75019 -2.11928,1.01275 l -1.08777,-1.65041 0.075,-0.0938 c 0.75019,-0.0187 1.51913,-0.22506 2.26931,-0.60015 0.75019,-0.37509
  1.38785,-0.82521 1.91298,-1.35034 0.86272,-0.88147 1.33158,-1.70667 1.44411,-2.51312 0.11253,-0.80645 -0.11253,-1.46287 -0.63766,-1.988 -0.28132,-0.28132 -0.60015,-0.43135 -0.95649,-0.45011 -0.33758,-0.0188 -0.71267,0.0938 -1.12528,0.31883 -0.31883,0.2063 -0.71267,0.45011 -1.12528,0.75019 -0.43135,0.30007 -0.84396,0.56264 -1.23781,0.8252 -0.78769,0.50638 -1.51912,0.75019 -2.19429,0.76894 -0.69392,0 -1.29407,-0.24381 -1.8192,-0.75018 -0.86272,-0.84396 -1.21906,-1.91298 -1.08778,-3.22581 0.15004,-1.29407 0.7877,-2.53188 1.93174,-3.69467 0.63765,-0.63766 1.25656,-1.16279 1.91297,-1.55663 0.63766,-0.3751 1.23781,-0.67517 1.7817,-0.88147 l 1.0315,1.55663 -0.075,0.0938 c -0.56264,0.0187 -1.20029,0.2063 -1.91297,0.56264 -0.71268,0.35634 -1.36909,0.8252 -1.95049,1.4066 -0.71268,0.75018 -1.14403,1.50037 -1.23781,2.26931 -0.11252,0.75019 0.075,1.38785 0.5814,1.87547 0.26256,0.26257 0.58139,0.4126 0.93773,0.45011 0.3751,0.0375 0.80645,-0.0938 1.29407,-0.39385 0.31883,-0.2063 0.73144,-0.46886 
 1.25657,-0.8252 0.50637,-0.33759 0.93773,-0.61891 1.31282,-0.84396 0.73144,-0.43136 1.38785,-0.63766 2.00675,-0.61891 0.60015,0 1.14404,0.24381 1.61291,0.71268 0.4126,0.39385 0.71267,0.88147 0.91897,1.46287 0.20631,0.58139 0.26257,1.18154 0.20631,1.8192 -0.0563,0.67517 -0.26257,1.33158 -0.5814,2.00675 -0.31883,0.67517 -0.8252,1.35034 -1.50037,2.04426 z m 3.26331,-17.32932 0.73143,1.12528 -2.34433,2.36309 2.43811,3.82595 c 0.13128,0.2063 0.28132,0.41261 0.45011,0.65642 0.16879,0.22505 0.31883,0.4126 0.45011,0.52513 0.30008,0.30007 0.5814,0.43136 0.88147,0.43136 0.30007,-0.0188 0.63766,-0.22506 1.03151,-0.61891 0.16879,-0.16879 0.33758,-0.39385 0.50637,-0.69392 0.1688,-0.28132 0.28132,-0.48762 0.31883,-0.60015 l 0.0563,-0.0563 0.78769,1.18155 c -0.16879,0.28132 -0.35634,0.58139 -0.58139,0.86271 -0.2063,0.30008 -0.43136,0.54389 -0.61891,0.75019 -0.54388,0.56264 -1.10652,0.88147 -1.65041,0.93773 -0.54388,0.075 -1.08777,-0.15003 -1.63165,-0.67516 -0.13129,-0.13129 -0.24381,-0.26257 -0.35
 634,-0.41261 -0.11253,-0.15003 -0.22506,-0.31883 -0.35634,-0.50637 l -2.85071,-4.44486 -0.75019,0.76894 -0.73143,-1.12528 0.76894,-0.76894 -1.51913,-2.38184 1.12528,-1.16279 1.51913,2.38184 z m 7.95198,-1.63166 c -0.60015,0.63766 -1.10652,1.25657 -1.50037,1.80045 -0.4126,0.56264 -0.71268,1.06902 -0.88147,1.51913 -0.18755,0.46887 -0.26257,0.90023 -0.18755,1.29407 0.0563,0.39385 0.26257,0.75019 0.60015,1.08778 0.30008,0.30007 0.61891,0.4126 0.97524,0.37509 0.33759,-0.0563 0.73144,-0.28132 1.14404,-0.71268 0.35634,-0.37509 0.65641,-0.8252 0.86271,-1.36909 0.20631,-0.54389 0.35634,-1.10653 0.45012,-1.66917 z m 2.21305,3.48837 c -0.0375,0.1688 -0.0938,0.41261 -0.16879,0.71268 -0.0563,0.30008 -0.15004,0.60015 -0.24381,0.88147 -0.11253,0.30008 -0.26257,0.61891 -0.45011,0.93773 -0.18755,0.31883 -0.45011,0.63766 -0.7877,0.97525 -0.52513,0.54388 -1.12528,0.8252 -1.76294,0.86271 -0.65641,0.0188 -1.23781,-0.2063 -1.74418,-0.71268 -0.54389,-0.54388 -0.88147,-1.10652 -1.01275,-1.70667 -0.15004,-0
 .60015 -0.0938,-1.25656 0.11252,-1.96924 0.22506,-0.67517 0.60015,-1.4066 1.14404,-2.15679 0.52513,-0.75019 1.18154,-1.55664 1.98799,-2.41935 -0.0938,-0.13128 -0.16879,-0.24381 -0.24381,-0.33758 -0.0563,-0.11253 -0.13128,-0.20631 -0.22505,-0.28133 -0.2063,-0.2063 -0.39385,-0.31882 -0.60015,-0.35633 -0.18755,-0.0375 -0.39385,-0.0375 -0.61891,0.0375 -0.2063,0.075 -0.43135,0.18754 -0.63766,0.35633 -0.2063,0.1688 -0.43135,0.35634 -0.65641,0.5814 -0.33758,0.35634 -0.67517,0.80645 -0.994,1.35034 -0.31883,0.56264 -0.56264,1.0315 -0.73143,1.42535 l -0.0563,0.0563 -0.93774,-1.35033 c 0.1688,-0.30008 0.43136,-0.71268 0.80645,-1.23781 0.35634,-0.52513 0.73144,-0.994 1.14404,-1.4066 0.82521,-0.84396 1.59415,-1.35034 2.26931,-1.51913 0.67517,-0.15004 1.31283,0.0375 1.89423,0.60015 0.0938,0.11253 0.2063,0.24381 0.31883,0.37509 0.11252,0.15004 0.2063,0.28132 0.28132,0.41261 l 3.60089,5.6264 -1.12528,1.12528 z m 2.02551,-14.29106 0.71268,1.12528 -2.32558,2.38185 2.4381,3.82595 c 0.13129,0.18755 0.2
 6257,0.4126 0.45012,0.63766 0.16879,0.24381 0.31882,0.4126 0.43135,0.54388 0.30008,0.28132 0.60015,0.43136 0.90023,0.41261 0.28132,0 0.63766,-0.2063 1.0315,-0.61891 0.1688,-0.16879 0.33759,-0.39384 0.50638,-0.67516 0.16879,-0.30008 0.26257,-0.48763 0.31883,-0.60015 l 0.0563,-0.075 0.7877,1.18154 c -0.16879,0.30008 -0.37509,0.5814 -0.5814,0.88147 -0.22505,0.28132 -0.43135,0.54389 -0.6189,0.73143 -0.56264,0.56264 -1.10652,0.88147 -1.65041,0.95649 -0.56264,0.0563 -1.10653,-0.16879 -1.63166,-0.69392 -0.13128,-0.13128 -0.24381,-0.26257 -0.35634,-0.4126 -0.11252,-0.13129 -0.24381,-0.30008 -0.37509,-0.50638 l -2.83195,-4.44486 -0.76895,0.76894 -0.71267,-1.10652 0.76894,-0.7877 -1.51913,-2.38184 1.12528,-1.16279 1.51913,2.38184 z m 6.88296,-7.033 5.30757,8.27081 -1.12528,1.14404 -0.60015,-0.90023 c -0.13128,0.71268 -0.28132,1.35034 -0.48762,1.89422 -0.2063,0.54389 -0.50637,1.03151 -0.91898,1.44411 -0.58139,0.5814 -1.18154,0.90023 -1.80044,0.93774 -0.61891,0.0375 -1.21906,-0.22506 -1.7817,-0
 .76894 -0.13128,-0.13129 -0.26256,-0.28132 -0.37509,-0.43136 -0.11253,-0.15004 -0.24381,-0.31883 -0.3751,-0.50638 l -3.4321,-5.38259 1.12528,-1.14403 3.0195,4.70742 c 0.11253,0.2063 0.26257,0.4126 0.43136,0.63766 0.18755,0.24381 0.31883,0.4126 0.45011,0.52513 0.33759,0.35634 0.69392,0.52513 1.05026,0.50638 0.33759,0 0.73144,-0.20631 1.14404,-0.63766 0.30007,-0.30008 0.54388,-0.73144 0.75019,-1.29408 0.2063,-0.56264 0.35633,-1.12528 0.45011,-1.66916 l -3.95724,-6.18904 z m 9.78994,4.03226 c -0.50637,0.50637 -1.01275,0.90022 -1.53788,1.18154 -0.52513,0.28132 -0.994,0.48762 -1.4066,0.6189 l -0.97525,-1.46286 0.0563,-0.075 c 0.16879,0 0.35634,-0.0375 0.60015,-0.075 0.22505,-0.0375 0.50637,-0.11253 0.80645,-0.22505 0.28132,-0.11253 0.58139,-0.24381 0.88147,-0.43136 0.31883,-0.16879 0.60015,-0.4126 0.88147,-0.69392 0.56264,-0.56264 0.90022,-1.12528 1.01275,-1.65041 0.11253,-0.54389 -0.0563,-1.01276 -0.46887,-1.42536 -0.2063,-0.2063 -0.45011,-0.28132 -0.73143,-0.22506 -0.28132,0.0563 -0.61
 89,0.18755 -0.994,0.43136 -0.18754,0.13128 -0.43135,0.28132 -0.69392,0.46887 -0.26256,0.16879 -0.52513,0.33758 -0.80645,0.50637 -0.6189,0.35634 -1.14403,0.50638 -1.63166,0.48763 -0.48762,-0.0188 -0.90022,-0.20631 -1.27531,-0.56264 -0.31883,-0.31883 -0.54389,-0.67517 -0.67517,-1.08778 -0.15004,-0.4126 -0.2063,-0.86271 -0.16879,-1.36909 0.0375,-0.48762 0.18754,-0.99399 0.45011,-1.51912 0.24381,-0.54389 0.6189,-1.06902 1.10652,-1.55664 0.39385,-0.41261 0.84396,-0.76894 1.35034,-1.06902 0.50638,-0.30007 0.95649,-0.50638 1.35034,-0.6189 l 0.93773,1.38784 -0.0563,0.075 c -0.11253,0 -0.28132,0.0375 -0.50638,0.075 -0.22506,0.0563 -0.46887,0.13128 -0.76894,0.24381 -0.24381,0.0938 -0.52513,0.22506 -0.80645,0.4126 -0.28132,0.18755 -0.56264,0.39385 -0.80645,0.65642 -0.48763,0.50637 -0.7877,1.01275 -0.90023,1.55663 -0.0938,0.52514 0.0375,0.97525 0.4126,1.33159 0.20631,0.2063 0.45012,0.28132 0.75019,0.26256 0.28132,-0.0188 0.61891,-0.15004 1.01275,-0.39385 0.24381,-0.15003 0.48763,-0.31883 0.7501
 9,-0.48762 0.26257,-0.16879 0.50638,-0.33758 0.76894,-0.50637 0.5814,-0.35634 1.10653,-0.52513 1.59415,-0.52513 0.48762,0 0.90022,0.18754 1.27532,0.56264 0.31883,0.30007 0.56264,0.69392 0.71267,1.12528 0.15004,0.45011 0.20631,0.91897 0.15004,1.4066 -0.0563,0.52513 -0.22505,1.05026 -0.48762,1.59414 -0.28132,0.54389 -0.67517,1.06902 -1.16279,1.5754 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3063"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="507.19437"
-         x="233.59662"
-         xml:space="preserve">Task Execution,</text>
-      <text
-         id="text3065"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="528.19958"
-         x="236.89745"
-         xml:space="preserve">Data Exchange</text>
-      <text
-         id="text3067"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="507.19437"
-         x="646.51672"
-         xml:space="preserve">Task Execution,</text>
-      <text
-         id="text3069"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="528.19958"
-         x="649.8175"
-         xml:space="preserve">Data Exchange</text>
-      <path
-         id="path3071"
-         d="m 564.90948,478.2629 -122.78684,1.87546 0.0938,5.62641 122.76808,-1.87547 z m -15.24755,15.32256 20.8552,-12.60314 -21.23029,-11.94672 c -1.35034,-0.76894 -3.05701,-0.28132 -3.82595,1.06901 -0.75019,1.35034 -0.28132,3.07577 1.06901,3.84471 l 17.02925,9.58364 -0.075,-4.85746 -16.72917,10.09001 c -1.33158,0.80645 -1.74418,2.53188 -0.93773,3.86347 0.78769,1.33158 2.53188,1.76294 3.8447,0.95648 z m -92.21672,-23.14326 -20.85519,12.60314 21.23028,11.94672 c 1.35034,0.76895 3.07577,0.28133 3.82596,-1.06901 0.76894,-1.35034 0.28132,-3.07577 -1.06902,-3.82595 l 0,0 -17.02924,-9.6024 0.075,4.87622 16.72917,-10.10877 c 1.33158,-0.80645 1.76293,-2.53188 0.95648,-3.86346 -0.80645,-1.33158 -2.53188,-1.76294 -3.86346,-0.95649 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
-         inkscape:connector-curvature="0" />
-      <text
-         id="text3073"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="516.58087"
-         x="466.24557"
-         xml:space="preserve">Exchange </text>
-      <text
-         id="text3075"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="537.58606"
-         x="451.39188"
-         xml:space="preserve">Intermediate</text>
-      <text
-         id="text3077"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="558.59131"
-         x="476.7482"
-         xml:space="preserve">Results</text>
-      <text
-         id="text3079"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="579.59656"
-         x="418.08359"
-         xml:space="preserve">(</text>
-      <text
-         id="text3081"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="579.59656"
-         x="426.03558"
-         xml:space="preserve">shuffle</text>
-      <text
-         id="text3083"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="579.59656"
-         x="490.85172"
-         xml:space="preserve">/ </text>
-      <text
-         id="text3085"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="579.59656"
-         x="504.95523"
-         xml:space="preserve">broadcast</text>
-      <text
-         id="text3087"
-         style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
-         y="579.59656"
-         x="591.22675"
-         xml:space="preserve">) </text>
-    </g>
-  </g>
-</svg>

http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/internals/fig/LICENSE.txt
----------------------------------------------------------------------
diff --git a/content/docs/master/internals/fig/LICENSE.txt b/content/docs/master/internals/fig/LICENSE.txt
deleted file mode 100644
index 35b8673..0000000
--- a/content/docs/master/internals/fig/LICENSE.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-All image files in the folder and its subfolders are
-licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
\ No newline at end of file


[18/68] [abbrv] [partial] flink-web git commit: Revert "[hotfix] Manual build of docs"

Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/flink-web/blob/f0ac0cdb/content/docs/master/apis/example_connectors.html
----------------------------------------------------------------------
diff --git a/content/docs/master/apis/example_connectors.html b/content/docs/master/apis/example_connectors.html
deleted file mode 100644
index a31be1a..0000000
--- a/content/docs/master/apis/example_connectors.html
+++ /dev/null
@@ -1,404 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<!DOCTYPE html>
-
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
-    
-    <title>Apache Flink 0.10-SNAPSHOT Documentation: Connecting to other systems</title>
-    
-    <link rel="shortcut icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-    <link rel="icon" href="http://flink.apache.org/docs/master/page/favicon.ico" type="image/x-icon">
-
-    <!-- Bootstrap -->
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/flink.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/syntax.css">
-    <link rel="stylesheet" href="http://flink.apache.org/docs/master/page/css/codetabs.css">
-    
-    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
-    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
-    <!--[if lt IE 9]>
-      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-    <![endif]-->
-  </head>
-  <body>
-    
-    
-
-
-
-
-    <!-- Top navbar. -->
-    <nav class="navbar navbar-default navbar-fixed-top">
-      <div class="container">
-        <!-- The logo. -->
-        <div class="navbar-header">
-          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <div class="navbar-logo">
-            <a href="http://flink.apache.org"><img alt="Apache Flink" src="http://flink.apache.org/docs/master/page/img/navbar-brand-logo.jpg"></a>
-          </div>
-        </div><!-- /.navbar-header -->
-
-        <!-- The navigation links. -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-          <ul class="nav navbar-nav">
-            <li><a href="http://flink.apache.org/docs/master/index.html">Overview<span class="hidden-sm hidden-xs"> 0.10</span></a></li>
-
-            <!-- Setup -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/setup" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Setup <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/setup/building.html">Get Flink 0.10-SNAPSHOT</a></li>
-
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Deployment</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/local_setup.html" class="active">Local</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/cluster_setup.html">Cluster (Standalone)</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/yarn_setup.html">YARN</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/gce_setup.html">GCloud</a></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/flink_on_tez.html">Flink on Tez <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="http://flink.apache.org/docs/master/setup/config.html">Configuration</a></li>
-              </ul>
-            </li>
-
-            <!-- Programming Guides -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/apis" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Programming Guides <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li><a href="http://flink.apache.org/docs/master/apis/programming_guide.html"><strong>Batch: DataSet API</strong></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/streaming_guide.html"><strong>Streaming: DataStream API</strong> <span class="badge">Beta</span></a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/python.html">Python API <span class="badge">Beta</span></a></li>
-
-                <li class="divider"></li>
-                <li><a href="scala_shell.html">Interactive Scala Shell</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/dataset_transformations.html">Dataset Transformations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/best_practices.html">Best Practices</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/example_connectors.html">Connectors</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/examples.html">Examples</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/local_execution.html">Local Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cluster_execution.html">Cluster Execution</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/cli.html">Command Line Interface</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/web_client.html">Web Client</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/iterations.html">Iterations</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/java8.html">Java 8</a></li>
-                <li><a href="http://flink.apache.org/docs/master/apis/hadoop_compatibility.html">Hadoop Compatability <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Libraries -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/libs" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Libraries <span class="caret"></span></a>
-                <ul class="dropdown-menu" role="menu">
-                  <li><a href="http://flink.apache.org/docs/master/libs/spargel_guide.html">Graphs: Spargel</a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/gelly_guide.html">Graphs: Gelly <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/ml/">Machine Learning <span class="badge">Beta</span></a></li>
-                  <li><a href="http://flink.apache.org/docs/master/libs/table.html">Relational: Table <span class="badge">Beta</span></a></li>
-              </ul>
-            </li>
-
-            <!-- Internals -->
-            <li class="dropdown">
-              <a href="http://flink.apache.org/docs/master/internals" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Internals <span class="caret"></span></a>
-              <ul class="dropdown-menu" role="menu">
-                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/how_to_contribute.html">How to Contribute</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/coding_guidelines.html">Coding Guidelines</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/ide_setup.html">IDE Setup</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/logging.html">Logging</a></li>
-                <li class="divider"></li>
-                <li role="presentation" class="dropdown-header"><strong>Internals</strong></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/general_arch.html">Architecture &amp; Process Model</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/types_serialization.html">Type Extraction &amp; Serialization</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/job_scheduling.html">Jobs &amp; Scheduling</a></li>
-                <li><a href="http://flink.apache.org/docs/master/internals/add_operator.html">How-To: Add an Operator</a></li>
-              </ul>
-            </li>
-          </ul>
-          <form class="navbar-form navbar-right hidden-sm hidden-md" role="search" action="http://flink.apache.org/docs/master/search-results.html">
-            <div class="form-group">
-              <input type="text" class="form-control" name="q" placeholder="Search all pages">
-            </div>
-            <button type="submit" class="btn btn-default">Search</button>
-          </form>
-        </div><!-- /.navbar-collapse -->
-      </div><!-- /.container -->
-    </nav>
-
-
-    
-
-    <!-- Main content. -->
-    <div class="container">
-      
-      
-<div class="row">
-  <div class="col-sm-10 col-sm-offset-1">
-    <h1>Connecting to other systems</h1>
-
-
-
-<h2 id="reading-from-filesystems">Reading from filesystems.</h2>
-
-<p>Flink has build-in support for the following file systems:</p>
-
-<table>
-  <thead>
-    <tr>
-      <th>Filesystem</th>
-      <th>Since</th>
-      <th>Scheme</th>
-      <th>Notes</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td>Hadoop Distributed File System (HDFS)</td>
-      <td>0.2</td>
-      <td><code>hdfs://</code></td>
-      <td>All HDFS versions are supported</td>
-    </tr>
-    <tr>
-      <td>Amazon S3</td>
-      <td>0.2</td>
-      <td><code>s3://</code></td>
-      <td> </td>
-    </tr>
-    <tr>
-      <td>MapR file system</td>
-      <td>0.7-incubating</td>
-      <td><code>maprfs://</code></td>
-      <td>The user has to manually place the required jar files in the <code>lib/</code> dir</td>
-    </tr>
-    <tr>
-      <td>Tachyon</td>
-      <td>0.9</td>
-      <td><code>tachyon://</code></td>
-      <td>Support through Hadoop file system implementation (see below)</td>
-    </tr>
-  </tbody>
-</table>
-
-<h3 id="using-hadoop-file-systems-with-apache-flink">Using Hadoop file systems with Apache Flink</h3>
-
-<p>Apache Flink allows users to use any file system implementing the <code>org.apache.hadoop.fs.FileSystem</code>
-interface. Hadoop ships adapters for FTP, <a href="http://hadoop.apache.org/docs/r1.2.1/hftp.html">Hftp</a>, and others.</p>
-
-<p>Flink has integrated testcases to validate the integration with <a href="http://tachyon-project.org/">Tachyon</a>.
-Other file systems we tested the integration is the
-<a href="https://cloud.google.com/hadoop/google-cloud-storage-connector">Google Cloud Storage Connector for Hadoop</a> and <a href="http://www.xtreemfs.org/">XtreemFS</a>.</p>
-
-<p>In order to use a Hadoop file system with Flink, make sure that the <code>flink-conf.yaml</code> has set the
-<code>fs.hdfs.hadoopconf</code> property set to the Hadoop configuration directory.
-In addition to that, the Hadoop configuration (in that directory) needs to have an entry for each supported file system.
-For example for tachyon support, there must be the following entry in the <code>core-site.xml</code> file:</p>
-
-<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;property&gt;</span>
-  <span class="nt">&lt;name&gt;</span>fs.tachyon.impl<span class="nt">&lt;/name&gt;</span>
-  <span class="nt">&lt;value&gt;</span>tachyon.hadoop.TFS<span class="nt">&lt;/value&gt;</span>
-<span class="nt">&lt;/property&gt;</span></code></pre></div>
-
-<p>Also, the required classes for using the file system need to be placed in the <code>lib/</code> folder of the Flink installation (on all machines running Flink). If putting the files into the directory is not possible, Flink is also respecting the <code>HADOOP_CLASSPATH</code> environment variable to add Hadoop jar files to the classpath.</p>
-
-<h2 id="connecting-to-other-systems-using-input--output-format-wrappers-for-hadoop">Connecting to other systems using Input / Output Format wrappers for Hadoop</h2>
-
-<p>Apache Flink allows users to access many different systems as data sources or sinks.
-The system is designed for very easy extensibility. Similar to Apache Hadoop, Flink has the concept
-of so called <code>InputFormat</code>s and <code>OutputFormat</code>s.</p>
-
-<p>One implementation of these <code>InputFormat</code>s is the <code>HadoopInputFormat</code>. This is a wrapper that allows
-users to use all existing Hadoop input formats with Flink.</p>
-
-<p>This section shows some examples for connecting Flink to other systems.
-<a href="hadoop_compatibility.html">Read more about Hadoop compatibility in Flink</a>.</p>
-
-<h2 id="avro-support-in-flink">Avro support in Flink</h2>
-
-<p>Flink has extensive build-in support for <a href="http://avro.apache.org/">Apache Avro</a>. This allows to easily read from Avro files with Flink.
-Also, the serialization framework of Flink is able to handle classes generated from Avro schemas.</p>
-
-<p>In order to read data from an Avro file, you have to specify an <code>AvroInputFormat</code>.</p>
-
-<p><strong>Example</strong>:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">AvroInputFormat</span><span class="o">&lt;</span><span class="n">User</span><span class="o">&gt;</span> <span class="n">users</span> <span class="o">=</span> <span class="k">new</span> <span class="n">AvroInputFormat</span><span class="o">&lt;</span><span class="n">User</span><span class="o">&gt;(</span><span class="n">in</span><span class="o">,</span> <span class="n">User</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
-<span class="n">DataSet</span><span class="o">&lt;</span><span class="n">User</span><span class="o">&gt;</span> <span class="n">usersDS</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">createInput</span><span class="o">(</span><span class="n">users</span><span class="o">);</span></code></pre></div>
-
-<p>Note that <code>User</code> is a POJO generated by Avro. Flink also allows to perform string-based key selection of these POJOs. For example:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="n">usersDS</span><span class="o">.</span><span class="na">groupBy</span><span class="o">(</span><span class="s">&quot;name&quot;</span><span class="o">)</span></code></pre></div>
-
-<p>Note that using the <code>GenericData.Record</code> type is possible with Flink, but not recommended. Since the record contains the full schema, its very data intensive and thus probably slow to use.</p>
-
-<p>Flink’s POJO field selection also works with POJOs generated from Avro. However, the usage is only possible if the field types are written correctly to the generated class. If a field is of type <code>Object</code> you can not use the field as a join or grouping key.
-Specifying a field in Avro like this <code>{"name": "type_double_test", "type": "double"},</code> works fine, however specifying it as a UNION-type with only one field (<code>{"name": "type_double_test", "type": ["double"]},</code>) will generate a field of type <code>Object</code>. Note that specifying nullable types (<code>{"name": "type_double_test", "type": ["null", "double"]},</code>) is possible!</p>
-
-<h3 id="access-microsoft-azure-table-storage">Access Microsoft Azure Table Storage</h3>
-
-<p><em>Note: This example works starting from Flink 0.6-incubating</em></p>
-
-<p>This example is using the <code>HadoopInputFormat</code> wrapper to use an existing Hadoop input format implementation for accessing <a href="https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/">Azure’s Table Storage</a>.</p>
-
-<ol>
-  <li>
-    <p>Download and compile the <code>azure-tables-hadoop</code> project. The input format developed by the project is not yet available in Maven Central, therefore, we have to build the project ourselves.
-Execute the following commands:</p>
-
-    <div class="highlight"><pre><code class="language-bash">git clone https://github.com/mooso/azure-tables-hadoop.git
-<span class="nb">cd </span>azure-tables-hadoop
-mvn clean install</code></pre></div>
-  </li>
-  <li>
-    <p>Setup a new Flink project using the quickstarts:</p>
-
-    <div class="highlight"><pre><code class="language-bash">curl http://flink.apache.org/q/quickstart.sh <span class="p">|</span> bash</code></pre></div>
-  </li>
-  <li>
-    <p>Add the following dependencies (in the <code>&lt;dependencies&gt;</code> section) to your <code>pom.xml</code> file:</p>
-
-    <div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
-    <span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
-    <span class="nt">&lt;artifactId&gt;</span>flink-hadoop-compatibility<span class="nt">&lt;/artifactId&gt;</span>
-    <span class="nt">&lt;version&gt;</span>0.10-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-<span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>com.microsoft.hadoop<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>microsoft-hadoop-azure<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>0.0.4<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
-
-    <p><code>flink-hadoop-compatibility</code> is a Flink package that provides the Hadoop input format wrappers.
-<code>microsoft-hadoop-azure</code> is adding the project we’ve build before to our project.</p>
-  </li>
-</ol>
-
-<p>The project is now prepared for starting to code. We recommend to import the project into an IDE, such as Eclipse or IntelliJ. (Import as a Maven project!).
-Browse to the code of the <code>Job.java</code> file. Its an empty skeleton for a Flink job.</p>
-
-<p>Paste the following code into it:</p>
-
-<div class="highlight"><pre><code class="language-java"><span class="kn">import</span> <span class="nn">java.util.Map</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.flink.api.common.functions.MapFunction</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.flink.api.java.DataSet</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.flink.api.java.ExecutionEnvironment</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.flink.api.java.tuple.Tuple2</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.flink.hadoopcompatibility.mapreduce.HadoopInputFormat</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.hadoop.io.Text</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">org.apache.hadoop.mapreduce.Job</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.microsoft.hadoop.azure.AzureTableConfiguration</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.microsoft.hadoop.azure.AzureTableInputFormat</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.microsoft.hadoop.azure.WritableEntity</span><span class="o">;</span>
-<span class="kn">import</span> <span class="nn">com.microsoft.windowsazure.storage.table.EntityProperty</span><span class="o">;</span>
-
-<span class="kd">public</span> <span class="kd">class</span> <span class="nc">AzureTableExample</span> <span class="o">{</span>
-
-  <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-    <span class="c1">// set up the execution environment</span>
-    <span class="kd">final</span> <span class="n">ExecutionEnvironment</span> <span class="n">env</span> <span class="o">=</span> <span class="n">ExecutionEnvironment</span><span class="o">.</span><span class="na">getExecutionEnvironment</span><span class="o">();</span>
-    
-    <span class="c1">// create a  AzureTableInputFormat, using a Hadoop input format wrapper</span>
-    <span class="n">HadoopInputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">WritableEntity</span><span class="o">&gt;</span> <span class="n">hdIf</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HadoopInputFormat</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">WritableEntity</span><span class="o">&gt;(</span><span class="k">new</span> <span class="nf">AzureTableInputFormat</span><span class="o">(),</span> <span class="n">Text</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">WritableEntity</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="k">new</span> <span class="nf">Job</span><span class="o">());</span>
-
-    <span class="c1">// set the Account URI, something like: https://apacheflink.table.core.windows.net</span>
-    <span class="n">hdIf</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">().</span><span class="na">set</span><span class="o">(</span><span class="n">AzureTableConfiguration</span><span class="o">.</span><span class="na">Keys</span><span class="o">.</span><span class="na">ACCOUNT_URI</span><span class="o">.</span><span class="na">getKey</span><span class="o">(),</span> <span class="s">&quot;TODO&quot;</span><span class="o">);</span> 
-    <span class="c1">// set the secret storage key here</span>
-    <span class="n">hdIf</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">().</span><span class="na">set</span><span class="o">(</span><span class="n">AzureTableConfiguration</span><span class="o">.</span><span class="na">Keys</span><span class="o">.</span><span class="na">STORAGE_KEY</span><span class="o">.</span><span class="na">getKey</span><span class="o">(),</span> <span class="s">&quot;TODO&quot;</span><span class="o">);</span>
-    <span class="c1">// set the table name here</span>
-    <span class="n">hdIf</span><span class="o">.</span><span class="na">getConfiguration</span><span class="o">().</span><span class="na">set</span><span class="o">(</span><span class="n">AzureTableConfiguration</span><span class="o">.</span><span class="na">Keys</span><span class="o">.</span><span class="na">TABLE_NAME</span><span class="o">.</span><span class="na">getKey</span><span class="o">(),</span> <span class="s">&quot;TODO&quot;</span><span class="o">);</span>
-    
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">WritableEntity</span><span class="o">&gt;&gt;</span> <span class="n">input</span> <span class="o">=</span> <span class="n">env</span><span class="o">.</span><span class="na">createInput</span><span class="o">(</span><span class="n">hdIf</span><span class="o">);</span>
-    <span class="c1">// a little example how to use the data in a mapper.</span>
-    <span class="n">DataSet</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">fin</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="k">new</span> <span class="n">MapFunction</span><span class="o">&lt;</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span><span class="n">WritableEntity</span><span class="o">&gt;,</span> <span class="n">String</span><span class="o">&gt;()</span> <span class="o">{</span>
-      <span class="nd">@Override</span>
-      <span class="kd">public</span> <span class="n">String</span> <span class="nf">map</span><span class="o">(</span><span class="n">Tuple2</span><span class="o">&lt;</span><span class="n">Text</span><span class="o">,</span> <span class="n">WritableEntity</span><span class="o">&gt;</span> <span class="n">arg0</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
-        <span class="n">System</span><span class="o">.</span><span class="na">err</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;--------------------------------\nKey = &quot;</span><span class="o">+</span><span class="n">arg0</span><span class="o">.</span><span class="na">f0</span><span class="o">);</span>
-        <span class="n">WritableEntity</span> <span class="n">we</span> <span class="o">=</span> <span class="n">arg0</span><span class="o">.</span><span class="na">f1</span><span class="o">;</span>
-
-        <span class="k">for</span><span class="o">(</span><span class="n">Map</span><span class="o">.</span><span class="na">Entry</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">EntityProperty</span><span class="o">&gt;</span> <span class="n">prop</span> <span class="o">:</span> <span class="n">we</span><span class="o">.</span><span class="na">getProperties</span><span class="o">().</span><span class="na">entrySet</span><span class="o">())</span> <span class="o">{</span>
-          <span class="n">System</span><span class="o">.</span><span class="na">err</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;key=&quot;</span><span class="o">+</span><span class="n">prop</span><span class="o">.</span><span class="na">getKey</span><span class="o">()</span> <span class="o">+</span> <span class="s">&quot; ; value (asString)=&quot;</span><span class="o">+</span><span class="n">prop</span><span class="o">.</span><span class="na">getValue</span><span class="o">().</span><span class="na">getValueAsString</span><span class="o">());</span>
-        <span class="o">}</span>
-
-        <span class="k">return</span> <span class="n">arg0</span><span class="o">.</span><span class="na">f0</span><span class="o">.</span><span class="na">toString</span><span class="o">();</span>
-      <span class="o">}</span>
-    <span class="o">});</span>
-
-    <span class="c1">// emit result (this works only locally)</span>
-    <span class="n">fin</span><span class="o">.</span><span class="na">print</span><span class="o">();</span>
-
-    <span class="c1">// execute program</span>
-    <span class="n">env</span><span class="o">.</span><span class="na">execute</span><span class="o">(</span><span class="s">&quot;Azure Example&quot;</span><span class="o">);</span>
-  <span class="o">}</span>
-<span class="o">}</span></code></pre></div>
-
-<p>The example shows how to access an Azure table and turn data into Flink’s <code>DataSet</code> (more specifically, the type of the set is <code>DataSet&lt;Tuple2&lt;Text, WritableEntity&gt;&gt;</code>). With the <code>DataSet</code>, you can apply all known transformations to the DataSet.</p>
-
-<h2 id="access-mongodb">Access MongoDB</h2>
-
-<p>This <a href="https://github.com/okkam-it/flink-mongodb-test">GitHub repository documents how to use MongoDB with Apache Flink (starting from 0.7-incubating)</a>.</p>
-
-
-  </div>
-
-  <div class="col-sm-10 col-sm-offset-1">
-    <!-- Disqus thread and some vertical offset -->
-    <div style="margin-top: 75px; margin-bottom: 50px" id="disqus_thread"></div>
-  </div>
-</div>
-
-    </div><!-- /.container -->
-
-    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-    <!-- Include all compiled plugins (below), or include individual files as needed -->
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
-    <script src="http://flink.apache.org/docs/master/page/js/codetabs.js"></script>
-
-    <!-- Google Analytics -->
-    <script>
-      (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-52545728-1', 'auto');
-      ga('send', 'pageview');
-    </script>
-
-    <!-- Disqus -->
-    <script type="text/javascript">
-    var disqus_shortname = 'stratosphere-eu';
-    (function() {
-        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
-        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
-        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-    })();
-</script>
-  </body>
-</html>