This is an automated email from the ASF dual-hosted git repository. mergebot-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/beam-site.git
commit 7cbd122113c98ce7438388e9f7d2489b03a20e1e Author: Mergebot <[email protected]> AuthorDate: Mon Jul 23 07:58:35 2018 +0000 Prepare repository for deployment. --- content/contribute/portability/index.html | 32 ++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/content/contribute/portability/index.html b/content/contribute/portability/index.html index 30b3958..f0f247d 100644 --- a/content/contribute/portability/index.html +++ b/content/contribute/portability/index.html @@ -226,7 +226,10 @@ limitations under the License. <li><a href="#development" id="markdown-toc-development">Development</a> <ul> <li><a href="#roadmap" id="markdown-toc-roadmap">Roadmap</a></li> <li><a href="#issues" id="markdown-toc-issues">Issues</a></li> - <li><a href="#status" id="markdown-toc-status">Status</a></li> + <li><a href="#status" id="markdown-toc-status">Status</a> <ul> + <li><a href="#running-python-wordcount-on-flink" id="markdown-toc-running-python-wordcount-on-flink">Running Python wordcount on Flink</a></li> + </ul> + </li> </ul> </li> </ul> @@ -364,7 +367,7 @@ portably.</p> for remaining execution-side features, so that any pipeline from any SDK can run portably on any runner. These features include side inputs -[<a href="https://issues.apache.org/jira/browse/BEAM-2863">BEAM-2863</a>], User +[<a href="https://issues.apache.org/jira/browse/BEAM-2863">BEAM-2863</a>], User state [<a href="https://issues.apache.org/jira/browse/BEAM-2862">BEAM-2862</a>], User timers [<a href="https://issues.apache.org/jira/browse/BEAM-2925">BEAM-2925</a>], Splittable DoFn @@ -403,10 +406,33 @@ their respective components.</p> <h3 id="status">Status</h3> -<p>MVP in progress. See the +<p>MVP in progress (near completion for Flink runner). See the <a href="https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI/edit?usp=sharing">Portability support table</a> for details.</p> +<h4 id="running-python-wordcount-on-flink">Running Python wordcount on Flink</h4> + +<p>The Flink runner is currently the only runner to support portable pipeline execution. +To run a basic Python wordcount (in batch mode) with embedded Flink:</p> + +<ol> + <li>Run once to build the SDK harness container: <code class="highlighter-rouge">./gradlew -p sdks/python/container +docker</code></li> + <li>Start the Flink portable JobService endpoint: <code class="highlighter-rouge">./gradlew :beam-runners-flink_2.11-job-server:runShadow</code></li> + <li>Submit the wordcount pipeline to above endpoint: <code class="highlighter-rouge">./gradlew :beam-sdks-python:portableWordCount</code></li> +</ol> + +<p>To run on a separate <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.5/quickstart/setup_quickstart.html">Flink cluster</a>:</p> + +<ol> + <li>Start local Flink cluster</li> + <li>Create shaded JobService jar: <code class="highlighter-rouge">./gradlew :beam-runners-flink_2.11-job-server:installShadowDist</code></li> + <li>Start JobService with Flink web service endpoint: <code class="highlighter-rouge">java -jar ./runners/flink/job-server/build/install/beam-runners-flink_2.11-job-server-shadow/lib/beam-runners-flink_2.11-job-server-*.jar--job-host=localhost:8099" "--artifacts-dir=/tmp/flink-artifacts" "--flink-master-url=localhost:8081"</code></li> + <li>Submit the pipeline.</li> +</ol> + +<p>Note: A subset of the functionality is also supported in streaming mode; use <code class="highlighter-rouge">--streaming</code> in the command line to enable it.</p> + </div> </div> <!--
