You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by fh...@apache.org on 2020/06/15 14:20:31 UTC

[flink-web] 04/04: Rebuild website

This is an automated email from the ASF dual-hosted git repository.

fhueske pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/flink-web.git

commit ac41805001489cdf211456f131cca4c397188ec2
Author: Fabian Hueske <fh...@apache.org>
AuthorDate: Mon Jun 15 16:19:40 2020 +0200

    Rebuild website
---
 content/blog/feed.xml                              | 135 +++++---
 content/blog/index.html                            |  43 ++-
 content/blog/page10/index.html                     |  36 ++-
 content/blog/page11/index.html                     |  38 ++-
 content/blog/page12/index.html                     |  25 ++
 content/blog/page2/index.html                      |  39 ++-
 content/blog/page3/index.html                      |  38 ++-
 content/blog/page4/index.html                      |  38 ++-
 content/blog/page5/index.html                      |  38 ++-
 content/blog/page6/index.html                      |  40 ++-
 content/blog/page7/index.html                      |  40 ++-
 content/blog/page8/index.html                      |  40 ++-
 content/blog/page9/index.html                      |  38 ++-
 .../2020-06-15-flink-on-zeppelin/create_sink.png   | Bin 0 -> 138803 bytes
 .../2020-06-15-flink-on-zeppelin/create_source.png | Bin 0 -> 147213 bytes
 .../img/blog/2020-06-15-flink-on-zeppelin/etl.png  | Bin 0 -> 55319 bytes
 .../blog/2020-06-15-flink-on-zeppelin/preview.png  | Bin 0 -> 89756 bytes
 content/index.html                                 |  10 +-
 .../news/2020/06/15/flink-on-zeppelin-part1.html   | 351 +++++++++++++++++++++
 content/zh/index.html                              |  10 +-
 20 files changed, 756 insertions(+), 203 deletions(-)

diff --git a/content/blog/feed.xml b/content/blog/feed.xml
index 23b09f0..eabf57c 100644
--- a/content/blog/feed.xml
+++ b/content/blog/feed.xml
@@ -7,6 +7,102 @@
 <atom:link href="https://flink.apache.org/blog/feed.xml" rel="self" type="application/rss+xml" />
 
 <item>
+<title>Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</title>
+<description>&lt;p&gt;The latest release of &lt;a href=&quot;https://zeppelin.apache.org/&quot;&gt;Apache Zeppelin&lt;/a&gt; comes with a redesigned interpreter for Apache Flink (version Flink 1.10+ is only supported moving forward) 
+that allows developers to use Flink directly on Zeppelin notebooks for interactive data analysis. I wrote 2 posts about how to use Flink in Zeppelin. This is part-1 where I explain how the Flink interpreter in Zeppelin works, 
+and provide a tutorial for running Streaming ETL with Flink on Zeppelin.&lt;/p&gt;
+
+&lt;h1 id=&quot;the-flink-interpreter-in-zeppelin-09&quot;&gt;The Flink Interpreter in Zeppelin 0.9&lt;/h1&gt;
+
+&lt;p&gt;The Flink interpreter can be accessed and configured from Zeppelin’s interpreter settings page. 
+The interpreter has been refactored so that Flink users can now take advantage of Zeppelin to write Flink applications in three languages, 
+namely Scala, Python (PyFlink) and SQL (for both batch &amp;amp; streaming executions). 
+Zeppelin 0.9 now comes with the Flink interpreter group, consisting of the below five interpreters:&lt;/p&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;%flink     - Provides a Scala environment&lt;/li&gt;
+  &lt;li&gt;%flink.pyflink   - Provides a python environment&lt;/li&gt;
+  &lt;li&gt;%flink.ipyflink   - Provides an ipython environment&lt;/li&gt;
+  &lt;li&gt;%flink.ssql     - Provides a stream sql environment&lt;/li&gt;
+  &lt;li&gt;%flink.bsql     - Provides a batch sql environment&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;Not only has the interpreter been extended to support writing Flink applications in three languages, but it has also extended the available execution modes for Flink that now include:&lt;/p&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;Running Flink in Local Mode&lt;/li&gt;
+  &lt;li&gt;Running Flink in Remote Mode&lt;/li&gt;
+  &lt;li&gt;Running Flink in Yarn Mode&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;You can find more information about how to get started with Zeppelin and all the execution modes for Flink applications in &lt;a href=&quot;https://github.com/apache/zeppelin/tree/master/notebook/Flink%20Tutorial&quot;&gt;Zeppelin notebooks&lt;/a&gt; in this post.&lt;/p&gt;
+
+&lt;h1 id=&quot;flink-on-zeppelin-for-stream-processing&quot;&gt;Flink on Zeppelin for Stream processing&lt;/h1&gt;
+
+&lt;p&gt;Performing stream processing jobs with Apache Flink on Zeppelin allows you to run most major streaming cases, 
+such as streaming ETL and real time data analytics, with the use of Flink SQL and specific UDFs. 
+Below we showcase how you can execute streaming ETL using Flink on Zeppelin:&lt;/p&gt;
+
+&lt;p&gt;You can use Flink SQL to perform streaming ETL by following the steps below 
+(for the full tutorial, please refer to the &lt;a href=&quot;https://github.com/apache/zeppelin/blob/master/notebook/Flink%20Tutorial/4.%20Streaming%20ETL_2EYD56B9B.zpln&quot;&gt;Flink Tutorial/Streaming ETL tutorial&lt;/a&gt; of the Zeppelin distribution):&lt;/p&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;Step 1. Create source table to represent the source data.&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;center&gt;
+&lt;img src=&quot;/img/blog/2020-06-15-flink-on-zeppelin/create_source.png&quot; width=&quot;80%&quot; alt=&quot;Create Source Table&quot; /&gt;
+&lt;/center&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;Step 2. Create a sink table to represent the processed data.&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;center&gt;
+&lt;img src=&quot;/img/blog/2020-06-15-flink-on-zeppelin/create_sink.png&quot; width=&quot;80%&quot; alt=&quot;Create Sink Table&quot; /&gt;
+&lt;/center&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;Step 3. After creating the source and sink table, we can insert them to our statement to trigger the stream processing job as the following:&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;center&gt;
+&lt;img src=&quot;/img/blog/2020-06-15-flink-on-zeppelin/etl.png&quot; width=&quot;80%&quot; alt=&quot;ETL&quot; /&gt;
+&lt;/center&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;Step 4. After initiating the streaming job, you can use another SQL statement to query the sink table to verify the results of your job. Here you can see the top 10 records which will be refreshed every 3 seconds.&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;center&gt;
+&lt;img src=&quot;/img/blog/2020-06-15-flink-on-zeppelin/preview.png&quot; width=&quot;80%&quot; alt=&quot;Preview&quot; /&gt;
+&lt;/center&gt;
+
+&lt;h1 id=&quot;summary&quot;&gt;Summary&lt;/h1&gt;
+
+&lt;p&gt;In this post, we explained how the redesigned Flink interpreter works in Zeppelin 0.9.0 and provided some examples for performing streaming ETL jobs with 
+Flink and Zeppelin. In the next post, I will talk about how to do streaming data visualization via Flink on Zeppelin.
+Besides that, you can find an additional &lt;a href=&quot;https://medium.com/@zjffdu/flink-on-zeppelin-part-2-batch-711731df5ad9&quot;&gt;tutorial for batch processing with Flink on Zeppelin&lt;/a&gt; as well as using Flink on Zeppelin for 
+more advance operations like resource isolation, job concurrency &amp;amp; parallelism, multiple Hadoop &amp;amp; Hive environments and more on our series of posts on Medium.
+And here’s a list of &lt;a href=&quot;https://www.youtube.com/watch?v=YxPo0Fosjjg&amp;amp;list=PL4oy12nnS7FFtg3KV1iS5vDb0pTz12VcX&quot;&gt;Flink on Zeppelin tutorial videos&lt;/a&gt; for your reference.&lt;/p&gt;
+
+&lt;h1 id=&quot;references&quot;&gt;References&lt;/h1&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;&lt;a href=&quot;http://zeppelin.apache.org&quot;&gt;Apache Zeppelin official website&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;Flink on Zeppelin tutorials - &lt;a href=&quot;https://medium.com/@zjffdu/flink-on-zeppelin-part-1-get-started-2591aaa6aa47&quot;&gt;Part 1&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;Flink on Zeppelin tutorials - &lt;a href=&quot;https://medium.com/@zjffdu/flink-on-zeppelin-part-2-batch-711731df5ad9&quot;&gt;Part 2&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;Flink on Zeppelin tutorials - &lt;a href=&quot;https://medium.com/@zjffdu/flink-on-zeppelin-part-3-streaming-5fca1e16754&quot;&gt;Part 3&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;Flink on Zeppelin tutorials - &lt;a href=&quot;https://medium.com/@zjffdu/flink-on-zeppelin-part-4-advanced-usage-998b74908cd9&quot;&gt;Part 4&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=YxPo0Fosjjg&amp;amp;list=PL4oy12nnS7FFtg3KV1iS5vDb0pTz12VcX&quot;&gt;Flink on Zeppelin tutorial videos&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</description>
+<pubDate>Mon, 15 Jun 2020 10:00:00 +0200</pubDate>
+<link>https://flink.apache.org/news/2020/06/15/flink-on-zeppelin-part1.html</link>
+<guid isPermaLink="true">/news/2020/06/15/flink-on-zeppelin-part1.html</guid>
+</item>
+
+<item>
 <title>Flink Community Update - June&#39;20</title>
 <description>&lt;p&gt;And suddenly it’s June. The previous month has been calm on the surface, but quite hectic underneath — the final testing phase for Flink 1.11 is moving at full speed, Stateful Functions 2.1 is out in the wild and Flink has made it into Google Season of Docs 2020.&lt;/p&gt;
 
@@ -16915,44 +17011,5 @@ tools, graph database systems and sampling techniques.&lt;/p&gt;
 <guid isPermaLink="true">/news/2015/06/24/announcing-apache-flink-0.9.0-release.html</guid>
 </item>
 
-<item>
-<title>April 2015 in the Flink community</title>
-<description>&lt;p&gt;April was an packed month for Apache Flink.&lt;/p&gt;
-
-&lt;h3 id=&quot;flink-runner-for-google-cloud-dataflow&quot;&gt;Flink runner for Google Cloud Dataflow&lt;/h3&gt;
-
-&lt;p&gt;A Flink runner for Google Cloud Dataflow was announced. See the blog
-posts by &lt;a href=&quot;http://data-artisans.com/announcing-google-cloud-dataflow-on-flink-and-easy-flink-deployment-on-google-cloud/&quot;&gt;data Artisans&lt;/a&gt; and
-the &lt;a href=&quot;http://googlecloudplatform.blogspot.de/2015/03/announcing-Google-Cloud-Dataflow-runner-for-Apache-Flink.html&quot;&gt;Google Cloud Platform Blog&lt;/a&gt;.
-Google Cloud Dataflow programs can be written using and open-source
-SDK and run in multiple backends, either as a managed service inside
-Google’s infrastructure, or leveraging open source runners,
-including Apache Flink.&lt;/p&gt;
-
-&lt;h2 id=&quot;flink-090-milestone1-release&quot;&gt;Flink 0.9.0-milestone1 release&lt;/h2&gt;
-
-&lt;p&gt;The highlight of April was of course the availability of &lt;a href=&quot;/news/2015/04/13/release-0.9.0-milestone1.html&quot;&gt;Flink 0.9-milestone1&lt;/a&gt;. This was a release packed with new features, including, a Python DataSet API, the new SQL-like Table API, FlinkML, a machine learning library on Flink, Gelly, FLink’s Graph API, as well as a mode to run Flink on YARN leveraging Tez. In case you missed it, check out the &lt;a href=&quot;/news/2015/04/13/release-0.9.0-mil [...]
-
-&lt;h2 id=&quot;conferences-and-meetups&quot;&gt;Conferences and meetups&lt;/h2&gt;
-
-&lt;p&gt;April kicked off the conference season. Apache Flink was presented at ApacheCon in Texas (&lt;a href=&quot;http://www.slideshare.net/fhueske/apache-flink&quot;&gt;slides&lt;/a&gt;), the Hadoop Summit in Brussels featured two talks on Flink (see slides &lt;a href=&quot;http://www.slideshare.net/AljoschaKrettek/data-analysis-with-apache-flink-hadoop-summit-2015&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.slideshare.net/GyulaFra/flink-streaming-hadoopsummit&quot;&gt;her [...]
-
-&lt;h2 id=&quot;google-summer-of-code&quot;&gt;Google Summer of Code&lt;/h2&gt;
-
-&lt;p&gt;Three students will work on Flink during Google’s &lt;a href=&quot;https://www.google-melange.com/gsoc/homepage/google/gsoc2015&quot;&gt;Summer of Code program&lt;/a&gt; on distributed pattern matching, exact and approximate statistics for data streams and windows, as well as asynchronous iterations and updates.&lt;/p&gt;
-
-&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;h2 id=&quot;upcoming-events&quot;&gt;Upcoming events&lt;/h2&gt;
-
-&lt;p&gt;Stay tuned for a wealth of upcoming events! Two Flink talsk will be presented at &lt;a href=&quot;http://berlinbuzzwords.de/15/sessions&quot;&gt;Berlin Buzzwords&lt;/a&gt;, Flink will be presented at the &lt;a href=&quot;http://2015.hadoopsummit.org/san-jose/&quot;&gt;Hadoop Summit in San Jose&lt;/a&gt;. A &lt;a href=&quot;http://www.meetup.com/Apache-Flink-Meetup/events/220557545/&quot;&gt;training workshop on Apache Flink&lt;/a&gt; is being organized in Berlin. Finally, &lt;a  [...]
-</description>
-<pubDate>Thu, 14 May 2015 12:00:00 +0200</pubDate>
-<link>https://flink.apache.org/news/2015/05/14/Community-update-April.html</link>
-<guid isPermaLink="true">/news/2015/05/14/Community-update-April.html</guid>
-</item>
-
 </channel>
 </rss>
diff --git a/content/blog/index.html b/content/blog/index.html
index eb6fba3..d89dc1c 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -196,6 +196,23 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></h2>
+
+      <p>15 Jun 2020
+       Jeff Zhang (<a href="https://twitter.com/zjffdu">@zjffdu</a>)</p>
+
+      <p><p>The latest release of <a href="https://zeppelin.apache.org/">Apache Zeppelin</a> comes with a redesigned interpreter for Apache Flink (version Flink 1.10+ is only supported moving forward) 
+that allows developers to use Flink directly on Zeppelin notebooks for interactive data analysis. I wrote 2 posts about how to use Flink in Zeppelin. This is part-1 where I explain how the Flink interpreter in Zeppelin works, 
+and provide a tutorial for running Streaming ETL with Flink on Zeppelin.</p>
+
+</p>
+
+      <p><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></h2>
 
       <p>11 Jun 2020
@@ -318,22 +335,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2020/04/07/release-statefun-2.0.0.html">Stateful Functions 2.0 - An Event-driven Database on Apache Flink</a></h2>
-
-      <p>07 Apr 2020
-       Stephan Ewen (<a href="https://twitter.com/stephanewen">@stephanewen</a>)</p>
-
-      <p><p>Today, we are announcing the release of Stateful Functions (StateFun) 2.0 — the first release of Stateful Functions as part of the Apache Flink project.
-This release marks a big milestone: Stateful Functions 2.0 is not only an API update, but the <strong>first version of an event-driven database</strong> that is built on Apache Flink.</p>
-
-</p>
-
-      <p><a href="/news/2020/04/07/release-statefun-2.0.0.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -366,6 +367,16 @@ This release marks a big milestone: Stateful Functions 2.0 is not only an API up
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page10/index.html b/content/blog/page10/index.html
index bdc80d3..77fe9a8 100644
--- a/content/blog/page10/index.html
+++ b/content/blog/page10/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2015/12/18/a-year-in-review.html">Flink 2015: A year in review, and a lookout to 2016</a></h2>
+
+      <p>18 Dec 2015 by Robert Metzger (<a href="https://twitter.com/">@rmetzger_</a>)
+      </p>
+
+      <p><p>With 2015 ending, we thought that this would be good time to reflect on the amazing work done by the Flink community over this past year, and how much this community has grown.</p></p>
+
+      <p><a href="/news/2015/12/18/a-year-in-review.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2015/12/11/storm-compatibility.html">Storm Compatibility in Apache Flink: How to run existing Storm topologies on Flink</a></h2>
 
       <p>11 Dec 2015 by Matthias J. Sax (<a href="https://twitter.com/">@MatthiasJSax</a>)
@@ -333,19 +346,6 @@ vertex-centric or gather-sum-apply to Flink dataflows.</p>
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2015/05/14/Community-update-April.html">April 2015 in the Flink community</a></h2>
-
-      <p>14 May 2015 by Kostas Tzoumas (<a href="https://twitter.com/">@kostas_tzoumas</a>)
-      </p>
-
-      <p><p>The monthly update from the Flink community. Including the availability of a new preview release, lots of meetups and conference talks and a great interview about Flink.</p></p>
-
-      <p><a href="/news/2015/05/14/Community-update-April.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -378,6 +378,16 @@ vertex-centric or gather-sum-apply to Flink dataflows.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page11/index.html b/content/blog/page11/index.html
index a78b694..2ee6290 100644
--- a/content/blog/page11/index.html
+++ b/content/blog/page11/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2015/05/14/Community-update-April.html">April 2015 in the Flink community</a></h2>
+
+      <p>14 May 2015 by Kostas Tzoumas (<a href="https://twitter.com/">@kostas_tzoumas</a>)
+      </p>
+
+      <p><p>The monthly update from the Flink community. Including the availability of a new preview release, lots of meetups and conference talks and a great interview about Flink.</p></p>
+
+      <p><a href="/news/2015/05/14/Community-update-April.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2015/05/11/Juggling-with-Bits-and-Bytes.html">Juggling with Bits and Bytes</a></h2>
 
       <p>11 May 2015 by Fabian Hüske (<a href="https://twitter.com/">@fhueske</a>)
@@ -339,21 +352,6 @@ and offers a new API including definition of flexible windows.</p>
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2014/11/18/hadoop-compatibility.html">Hadoop Compatibility in Flink</a></h2>
-
-      <p>18 Nov 2014 by Fabian Hüske (<a href="https://twitter.com/">@fhueske</a>)
-      </p>
-
-      <p><p><a href="http://hadoop.apache.org">Apache Hadoop</a> is an industry standard for scalable analytical data processing. Many data analysis applications have been implemented as Hadoop MapReduce jobs and run in clusters around the world. Apache Flink can be an alternative to MapReduce and improves it in many dimensions. Among other features, Flink provides much better performance and offers APIs in Java and Scala, which are very easy to use. Similar to Hadoop, Flink’s APIs provi [...]
-
-</p>
-
-      <p><a href="/news/2014/11/18/hadoop-compatibility.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -386,6 +384,16 @@ and offers a new API including definition of flexible windows.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page12/index.html b/content/blog/page12/index.html
index da58d39..e42e317 100644
--- a/content/blog/page12/index.html
+++ b/content/blog/page12/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2014/11/18/hadoop-compatibility.html">Hadoop Compatibility in Flink</a></h2>
+
+      <p>18 Nov 2014 by Fabian Hüske (<a href="https://twitter.com/">@fhueske</a>)
+      </p>
+
+      <p><p><a href="http://hadoop.apache.org">Apache Hadoop</a> is an industry standard for scalable analytical data processing. Many data analysis applications have been implemented as Hadoop MapReduce jobs and run in clusters around the world. Apache Flink can be an alternative to MapReduce and improves it in many dimensions. Among other features, Flink provides much better performance and offers APIs in Java and Scala, which are very easy to use. Similar to Hadoop, Flink’s APIs provi [...]
+
+</p>
+
+      <p><a href="/news/2014/11/18/hadoop-compatibility.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2014/11/04/release-0.7.0.html">Apache Flink 0.7.0 available</a></h2>
 
       <p>04 Nov 2014
@@ -290,6 +305,16 @@ academic and open source project that Flink originates from.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page2/index.html b/content/blog/page2/index.html
index 9460f41..21766ce 100644
--- a/content/blog/page2/index.html
+++ b/content/blog/page2/index.html
@@ -196,6 +196,22 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2020/04/07/release-statefun-2.0.0.html">Stateful Functions 2.0 - An Event-driven Database on Apache Flink</a></h2>
+
+      <p>07 Apr 2020
+       Stephan Ewen (<a href="https://twitter.com/stephanewen">@stephanewen</a>)</p>
+
+      <p><p>Today, we are announcing the release of Stateful Functions (StateFun) 2.0 — the first release of Stateful Functions as part of the Apache Flink project.
+This release marks a big milestone: Stateful Functions 2.0 is not only an API update, but the <strong>first version of an event-driven database</strong> that is built on Apache Flink.</p>
+
+</p>
+
+      <p><a href="/news/2020/04/07/release-statefun-2.0.0.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2020/04/01/community-update.html">Flink Community Update - April'20</a></h2>
 
       <p>01 Apr 2020
@@ -318,19 +334,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2020/01/15/demo-fraud-detection.html">Advanced Flink Application Patterns Vol.1: Case Study of a Fraud Detection System</a></h2>
-
-      <p>15 Jan 2020
-       Alexander Fedulov (<a href="https://twitter.com/alex_fedulov">@alex_fedulov</a>)</p>
-
-      <p>In this series of blog posts you will learn about three powerful Flink patterns for building streaming applications.</p>
-
-      <p><a href="/news/2020/01/15/demo-fraud-detection.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -363,6 +366,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page3/index.html b/content/blog/page3/index.html
index fb8404e..a1808b9 100644
--- a/content/blog/page3/index.html
+++ b/content/blog/page3/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2020/01/15/demo-fraud-detection.html">Advanced Flink Application Patterns Vol.1: Case Study of a Fraud Detection System</a></h2>
+
+      <p>15 Jan 2020
+       Alexander Fedulov (<a href="https://twitter.com/alex_fedulov">@alex_fedulov</a>)</p>
+
+      <p>In this series of blog posts you will learn about three powerful Flink patterns for building streaming applications.</p>
+
+      <p><a href="/news/2020/01/15/demo-fraud-detection.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2019/12/11/release-1.8.3.html">Apache Flink 1.8.3 Released</a></h2>
 
       <p>11 Dec 2019
@@ -321,21 +334,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2019/07/02/release-1.8.1.html">Apache Flink 1.8.1 Released</a></h2>
-
-      <p>02 Jul 2019
-       Jincheng Sun (<a href="https://twitter.com/sunjincheng121">@sunjincheng121</a>)</p>
-
-      <p><p>The Apache Flink community released the first bugfix version of the Apache Flink 1.8 series.</p>
-
-</p>
-
-      <p><a href="/news/2019/07/02/release-1.8.1.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -368,6 +366,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page4/index.html b/content/blog/page4/index.html
index 0c64f0c..2036202 100644
--- a/content/blog/page4/index.html
+++ b/content/blog/page4/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2019/07/02/release-1.8.1.html">Apache Flink 1.8.1 Released</a></h2>
+
+      <p>02 Jul 2019
+       Jincheng Sun (<a href="https://twitter.com/sunjincheng121">@sunjincheng121</a>)</p>
+
+      <p><p>The Apache Flink community released the first bugfix version of the Apache Flink 1.8 series.</p>
+
+</p>
+
+      <p><a href="/news/2019/07/02/release-1.8.1.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/2019/06/26/broadcast-state.html">A Practical Guide to Broadcast State in Apache Flink</a></h2>
 
       <p>26 Jun 2019
@@ -320,19 +335,6 @@ for more details.</p>
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2019/02/25/monitoring-best-practices.html">Monitoring Apache Flink Applications 101</a></h2>
-
-      <p>25 Feb 2019
-       Konstantin Knauf (<a href="https://twitter.com/snntrable">@snntrable</a>)</p>
-
-      <p>The monitoring of business-critical applications is a crucial aspect of a production deployment. It ensures that any degradation or downtime is immediately identified and can be resolved as quickly as possible. In this post, we discuss the most important metrics that indicate healthy Flink applications.</p>
-
-      <p><a href="/news/2019/02/25/monitoring-best-practices.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -365,6 +367,16 @@ for more details.</p>
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page5/index.html b/content/blog/page5/index.html
index 496ddc2..a0ad863 100644
--- a/content/blog/page5/index.html
+++ b/content/blog/page5/index.html
@@ -196,6 +196,19 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2019/02/25/monitoring-best-practices.html">Monitoring Apache Flink Applications 101</a></h2>
+
+      <p>25 Feb 2019
+       Konstantin Knauf (<a href="https://twitter.com/snntrable">@snntrable</a>)</p>
+
+      <p>The monitoring of business-critical applications is a crucial aspect of a production deployment. It ensures that any degradation or downtime is immediately identified and can be resolved as quickly as possible. In this post, we discuss the most important metrics that indicate healthy Flink applications.</p>
+
+      <p><a href="/news/2019/02/25/monitoring-best-practices.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2019/02/25/release-1.6.4.html">Apache Flink 1.6.4 Released</a></h2>
 
       <p>25 Feb 2019
@@ -330,21 +343,6 @@ Please check the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2018/09/20/release-1.6.1.html">Apache Flink 1.6.1 Released</a></h2>
-
-      <p>20 Sep 2018
-      </p>
-
-      <p><p>The Apache Flink community released the first bugfix version of the Apache Flink 1.6 series.</p>
-
-</p>
-
-      <p><a href="/news/2018/09/20/release-1.6.1.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -377,6 +375,16 @@ Please check the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page6/index.html b/content/blog/page6/index.html
index bbea907..316b494 100644
--- a/content/blog/page6/index.html
+++ b/content/blog/page6/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2018/09/20/release-1.6.1.html">Apache Flink 1.6.1 Released</a></h2>
+
+      <p>20 Sep 2018
+      </p>
+
+      <p><p>The Apache Flink community released the first bugfix version of the Apache Flink 1.6 series.</p>
+
+</p>
+
+      <p><a href="/news/2018/09/20/release-1.6.1.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2018/09/20/release-1.5.4.html">Apache Flink 1.5.4 Released</a></h2>
 
       <p>20 Sep 2018
@@ -328,21 +343,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2018/02/15/release-1.4.1.html">Apache Flink 1.4.1 Released</a></h2>
-
-      <p>15 Feb 2018
-      </p>
-
-      <p><p>The Apache Flink community released the first bugfix version of the Apache Flink 1.4 series.</p>
-
-</p>
-
-      <p><a href="/news/2018/02/15/release-1.4.1.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -375,6 +375,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page7/index.html b/content/blog/page7/index.html
index 632f4dc..7896685 100644
--- a/content/blog/page7/index.html
+++ b/content/blog/page7/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2018/02/15/release-1.4.1.html">Apache Flink 1.4.1 Released</a></h2>
+
+      <p>15 Feb 2018
+      </p>
+
+      <p><p>The Apache Flink community released the first bugfix version of the Apache Flink 1.4 series.</p>
+
+</p>
+
+      <p><a href="/news/2018/02/15/release-1.4.1.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/features/2018/01/30/incremental-checkpointing.html">Managing Large State in Apache Flink: An Intro to Incremental Checkpointing</a></h2>
 
       <p>30 Jan 2018
@@ -329,21 +344,6 @@ what’s coming in Flink 1.4.0 as well as a preview of what the Flink community
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2017/04/26/release-1.2.1.html">Apache Flink 1.2.1 Released</a></h2>
-
-      <p>26 Apr 2017
-      </p>
-
-      <p><p>The Apache Flink community released the first bugfix version of the Apache Flink 1.2 series.</p>
-
-</p>
-
-      <p><a href="/news/2017/04/26/release-1.2.1.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -376,6 +376,16 @@ what’s coming in Flink 1.4.0 as well as a preview of what the Flink community
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page8/index.html b/content/blog/page8/index.html
index 4cbf258..226bafe 100644
--- a/content/blog/page8/index.html
+++ b/content/blog/page8/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2017/04/26/release-1.2.1.html">Apache Flink 1.2.1 Released</a></h2>
+
+      <p>26 Apr 2017
+      </p>
+
+      <p><p>The Apache Flink community released the first bugfix version of the Apache Flink 1.2 series.</p>
+
+</p>
+
+      <p><a href="/news/2017/04/26/release-1.2.1.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2017/04/04/dynamic-tables.html">Continuous Queries on Dynamic Tables</a></h2>
 
       <p>04 Apr 2017 by Fabian Hueske, Shaoxuan Wang, and Xiaowei Jiang
@@ -323,21 +338,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2016/08/11/release-1.1.1.html">Flink 1.1.1 Released</a></h2>
-
-      <p>11 Aug 2016
-      </p>
-
-      <p><p>Today, the Flink community released Flink version 1.1.1.</p>
-
-</p>
-
-      <p><a href="/news/2016/08/11/release-1.1.1.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -370,6 +370,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/blog/page9/index.html b/content/blog/page9/index.html
index 3bd741d..6f99fcc 100644
--- a/content/blog/page9/index.html
+++ b/content/blog/page9/index.html
@@ -196,6 +196,21 @@
     <!-- Blog posts -->
     
     <article>
+      <h2 class="blog-title"><a href="/news/2016/08/11/release-1.1.1.html">Flink 1.1.1 Released</a></h2>
+
+      <p>11 Aug 2016
+      </p>
+
+      <p><p>Today, the Flink community released Flink version 1.1.1.</p>
+
+</p>
+
+      <p><a href="/news/2016/08/11/release-1.1.1.html">Continue reading &raquo;</a></p>
+    </article>
+
+    <hr>
+    
+    <article>
       <h2 class="blog-title"><a href="/news/2016/08/08/release-1.1.0.html">Announcing Apache Flink 1.1.0</a></h2>
 
       <p>08 Aug 2016
@@ -327,19 +342,6 @@
 
     <hr>
     
-    <article>
-      <h2 class="blog-title"><a href="/news/2015/12/18/a-year-in-review.html">Flink 2015: A year in review, and a lookout to 2016</a></h2>
-
-      <p>18 Dec 2015 by Robert Metzger (<a href="https://twitter.com/">@rmetzger_</a>)
-      </p>
-
-      <p><p>With 2015 ending, we thought that this would be good time to reflect on the amazing work done by the Flink community over this past year, and how much this community has grown.</p></p>
-
-      <p><a href="/news/2015/12/18/a-year-in-review.html">Continue reading &raquo;</a></p>
-    </article>
-
-    <hr>
-    
 
     <!-- Pagination links -->
     
@@ -372,6 +374,16 @@
 
     <ul id="markdown-toc">
       
+      <li><a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></li>
+
+      
+        
+      
+    
+      
+      
+
+      
       <li><a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></li>
 
       
diff --git a/content/img/blog/2020-06-15-flink-on-zeppelin/create_sink.png b/content/img/blog/2020-06-15-flink-on-zeppelin/create_sink.png
new file mode 100644
index 0000000..cb9bacc
Binary files /dev/null and b/content/img/blog/2020-06-15-flink-on-zeppelin/create_sink.png differ
diff --git a/content/img/blog/2020-06-15-flink-on-zeppelin/create_source.png b/content/img/blog/2020-06-15-flink-on-zeppelin/create_source.png
new file mode 100644
index 0000000..8024612
Binary files /dev/null and b/content/img/blog/2020-06-15-flink-on-zeppelin/create_source.png differ
diff --git a/content/img/blog/2020-06-15-flink-on-zeppelin/etl.png b/content/img/blog/2020-06-15-flink-on-zeppelin/etl.png
new file mode 100644
index 0000000..c4dc2cc
Binary files /dev/null and b/content/img/blog/2020-06-15-flink-on-zeppelin/etl.png differ
diff --git a/content/img/blog/2020-06-15-flink-on-zeppelin/preview.png b/content/img/blog/2020-06-15-flink-on-zeppelin/preview.png
new file mode 100644
index 0000000..7007d86
Binary files /dev/null and b/content/img/blog/2020-06-15-flink-on-zeppelin/preview.png differ
diff --git a/content/index.html b/content/index.html
index b4f74a2..a686f3c 100644
--- a/content/index.html
+++ b/content/index.html
@@ -568,6 +568,13 @@
 
   <dl>
       
+        <dt> <a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></dt>
+        <dd><p>The latest release of <a href="https://zeppelin.apache.org/">Apache Zeppelin</a> comes with a redesigned interpreter for Apache Flink (version Flink 1.10+ is only supported moving forward) 
+that allows developers to use Flink directly on Zeppelin notebooks for interactive data analysis. I wrote 2 posts about how to use Flink in Zeppelin. This is part-1 where I explain how the Flink interpreter in Zeppelin works, 
+and provide a tutorial for running Streaming ETL with Flink on Zeppelin.</p>
+
+</dd>
+      
         <dt> <a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></dt>
         <dd>And suddenly it’s June. The previous month has been calm on the surface, but quite hectic underneath — the final testing phase for Flink 1.11 is moving at full speed, Stateful Functions 2.1 is out in the wild and Flink has made it into Google Season of Docs 2020.</dd>
       
@@ -583,9 +590,6 @@
       
         <dt> <a href="/news/2020/05/07/community-update.html">Flink Community Update - May'20</a></dt>
         <dd>Can you smell it? It’s release month! This time around, we’re warming up for Flink 1.11 and peeping back to the past month in the Flink community — with the release of Stateful Functions 2.0, a new self-paced Flink training and some efforts to improve the Flink documentation experience.</dd>
-      
-        <dt> <a href="/news/2020/05/04/season-of-docs.html">Applying to Google Season of Docs 2020</a></dt>
-        <dd>The Flink community is thrilled to share that the project is applying again to Google Season of Docs (GSoD) this year! If you’re unfamiliar with the program, GSoD is a great initiative organized by Google Open Source to pair technical writers with mentors to work on documentation for open source projects. Does working shoulder to shoulder with the Flink community on documentation sound exciting? We’d love to hear from you!</dd>
     
   </dl>
 
diff --git a/content/news/2020/06/15/flink-on-zeppelin-part1.html b/content/news/2020/06/15/flink-on-zeppelin-part1.html
new file mode 100644
index 0000000..2d08eea
--- /dev/null
+++ b/content/news/2020/06/15/flink-on-zeppelin-part1.html
@@ -0,0 +1,351 @@
+<!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: Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</title>
+    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+    <link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+    <!-- Bootstrap -->
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
+    <link rel="stylesheet" href="/css/flink.css">
+    <link rel="stylesheet" href="/css/syntax.css">
+
+    <!-- Blog RSS feed -->
+    <link href="/blog/feed.xml" rel="alternate" type="application/rss+xml" title="Apache Flink Blog: RSS feed" />
+
+    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
+    <!-- We need to load Jquery in the header for custom google analytics event tracking-->
+    <script src="/js/jquery.min.js"></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>  
+    
+
+    <!-- Main content. -->
+    <div class="container">
+    <div class="row">
+
+      
+     <div id="sidebar" class="col-sm-3">
+        
+
+<!-- Top navbar. -->
+    <nav class="navbar navbar-default">
+        <!-- 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="/">
+              <img alt="Apache Flink" src="/img/flink-header-logo.svg" width="147px" height="73px">
+            </a>
+          </div>
+        </div><!-- /.navbar-header -->
+
+        <!-- The navigation links. -->
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+          <ul class="nav navbar-nav navbar-main">
+
+            <!-- First menu section explains visitors what Flink is -->
+
+            <!-- What is Stream Processing? -->
+            <!--
+            <li><a href="/streamprocessing1.html">What is Stream Processing?</a></li>
+            -->
+
+            <!-- What is Flink? -->
+            <li><a href="/flink-architecture.html">What is Apache Flink?</a></li>
+
+            
+            <ul class="nav navbar-nav navbar-subnav">
+              <li >
+                  <a href="/flink-architecture.html">Architecture</a>
+              </li>
+              <li >
+                  <a href="/flink-applications.html">Applications</a>
+              </li>
+              <li >
+                  <a href="/flink-operations.html">Operations</a>
+              </li>
+            </ul>
+            
+
+            <!-- What is Stateful Functions? -->
+
+            <li><a href="/stateful-functions.html">What is Stateful Functions?</a></li>
+
+            <!-- Use cases -->
+            <li><a href="/usecases.html">Use Cases</a></li>
+
+            <!-- Powered by -->
+            <li><a href="/poweredby.html">Powered By</a></li>
+
+
+            &nbsp;
+            <!-- Second menu section aims to support Flink users -->
+
+            <!-- Downloads -->
+            <li><a href="/downloads.html">Downloads</a></li>
+
+            <!-- Getting Started -->
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Getting Started<span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.10/getting-started/index.html" target="_blank">With Flink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                <li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.1/getting-started/project-setup.html" target="_blank">With Flink Stateful Functions <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                <li><a href="/training.html">Training Course</a></li>
+              </ul>
+            </li>
+
+            <!-- Documentation -->
+            <li class="dropdown">
+              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation<span class="caret"></span></a>
+              <ul class="dropdown-menu">
+                <li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.10" target="_blank">Flink 1.10 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                <li><a href="https://ci.apache.org/projects/flink/flink-docs-master" target="_blank">Flink Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                <li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.1" target="_blank">Flink Stateful Functions 2.1 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+                <li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-master" target="_blank">Flink Stateful Functions Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+              </ul>
+            </li>
+
+            <!-- getting help -->
+            <li><a href="/gettinghelp.html">Getting Help</a></li>
+
+            <!-- Blog -->
+            <li class="active"><a href="/blog/"><b>Flink Blog</b></a></li>
+
+
+            <!-- Flink-packages -->
+            <li>
+              <a href="https://flink-packages.org" target="_blank">flink-packages.org <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li>
+            &nbsp;
+
+            <!-- Third menu section aim to support community and contributors -->
+
+            <!-- Community -->
+            <li><a href="/community.html">Community &amp; Project Info</a></li>
+
+            <!-- Roadmap -->
+            <li><a href="/roadmap.html">Roadmap</a></li>
+
+            <!-- Contribute -->
+            <li><a href="/contributing/how-to-contribute.html">How to Contribute</a></li>
+            
+
+            <!-- GitHub -->
+            <li>
+              <a href="https://github.com/apache/flink" target="_blank">Flink on GitHub <small><span class="glyphicon glyphicon-new-window"></span></small></a>
+            </li>
+
+            &nbsp;
+
+            <!-- Language Switcher -->
+            <li>
+              
+                
+                  <!-- link to the Chinese home page when current is blog page -->
+                  <a href="/zh">中文版</a>
+                
+              
+            </li>
+
+          </ul>
+
+          <ul class="nav navbar-nav navbar-bottom">
+          <hr />
+
+            <!-- Twitter -->
+            <li><a href="https://twitter.com/apacheflink" target="_blank">@ApacheFlink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+
+            <!-- Visualizer -->
+            <li class=" hidden-md hidden-sm"><a href="/visualizer/" target="_blank">Plan Visualizer <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+
+          <hr />
+
+            <li><a href="https://apache.org" target="_blank">Apache Software Foundation <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
+
+            <li>
+              <style>
+                .smalllinks:link {
+                  display: inline-block !important; background: none; padding-top: 0px; padding-bottom: 0px; padding-right: 0px; min-width: 75px;
+                }
+              </style>
+
+              <a class="smalllinks" href="https://www.apache.org/licenses/" target="_blank">License</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
+
+              <a class="smalllinks" href="https://www.apache.org/security/" target="_blank">Security</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
+
+              <a class="smalllinks" href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Donate</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
+
+              <a class="smalllinks" href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
+            </li>
+
+          </ul>
+        </div><!-- /.navbar-collapse -->
+    </nav>
+
+      </div>
+      <div class="col-sm-9">
+      <div class="row-fluid">
+  <div class="col-sm-12">
+    <div class="row">
+      <h1>Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</h1>
+      <p><i></i></p>
+
+      <article>
+        <p>15 Jun 2020 Jeff Zhang (<a href="https://twitter.com/zjffdu">@zjffdu</a>)</p>
+
+<p>The latest release of <a href="https://zeppelin.apache.org/">Apache Zeppelin</a> comes with a redesigned interpreter for Apache Flink (version Flink 1.10+ is only supported moving forward) 
+that allows developers to use Flink directly on Zeppelin notebooks for interactive data analysis. I wrote 2 posts about how to use Flink in Zeppelin. This is part-1 where I explain how the Flink interpreter in Zeppelin works, 
+and provide a tutorial for running Streaming ETL with Flink on Zeppelin.</p>
+
+<h1 id="the-flink-interpreter-in-zeppelin-09">The Flink Interpreter in Zeppelin 0.9</h1>
+
+<p>The Flink interpreter can be accessed and configured from Zeppelin’s interpreter settings page. 
+The interpreter has been refactored so that Flink users can now take advantage of Zeppelin to write Flink applications in three languages, 
+namely Scala, Python (PyFlink) and SQL (for both batch &amp; streaming executions). 
+Zeppelin 0.9 now comes with the Flink interpreter group, consisting of the below five interpreters:</p>
+
+<ul>
+  <li>%flink     - Provides a Scala environment</li>
+  <li>%flink.pyflink   - Provides a python environment</li>
+  <li>%flink.ipyflink   - Provides an ipython environment</li>
+  <li>%flink.ssql     - Provides a stream sql environment</li>
+  <li>%flink.bsql     - Provides a batch sql environment</li>
+</ul>
+
+<p>Not only has the interpreter been extended to support writing Flink applications in three languages, but it has also extended the available execution modes for Flink that now include:</p>
+
+<ul>
+  <li>Running Flink in Local Mode</li>
+  <li>Running Flink in Remote Mode</li>
+  <li>Running Flink in Yarn Mode</li>
+</ul>
+
+<p>You can find more information about how to get started with Zeppelin and all the execution modes for Flink applications in <a href="https://github.com/apache/zeppelin/tree/master/notebook/Flink%20Tutorial">Zeppelin notebooks</a> in this post.</p>
+
+<h1 id="flink-on-zeppelin-for-stream-processing">Flink on Zeppelin for Stream processing</h1>
+
+<p>Performing stream processing jobs with Apache Flink on Zeppelin allows you to run most major streaming cases, 
+such as streaming ETL and real time data analytics, with the use of Flink SQL and specific UDFs. 
+Below we showcase how you can execute streaming ETL using Flink on Zeppelin:</p>
+
+<p>You can use Flink SQL to perform streaming ETL by following the steps below 
+(for the full tutorial, please refer to the <a href="https://github.com/apache/zeppelin/blob/master/notebook/Flink%20Tutorial/4.%20Streaming%20ETL_2EYD56B9B.zpln">Flink Tutorial/Streaming ETL tutorial</a> of the Zeppelin distribution):</p>
+
+<ul>
+  <li>Step 1. Create source table to represent the source data.</li>
+</ul>
+
+<center>
+<img src="/img/blog/2020-06-15-flink-on-zeppelin/create_source.png" width="80%" alt="Create Source Table" />
+</center>
+
+<ul>
+  <li>Step 2. Create a sink table to represent the processed data.</li>
+</ul>
+
+<center>
+<img src="/img/blog/2020-06-15-flink-on-zeppelin/create_sink.png" width="80%" alt="Create Sink Table" />
+</center>
+
+<ul>
+  <li>Step 3. After creating the source and sink table, we can insert them to our statement to trigger the stream processing job as the following:</li>
+</ul>
+
+<center>
+<img src="/img/blog/2020-06-15-flink-on-zeppelin/etl.png" width="80%" alt="ETL" />
+</center>
+
+<ul>
+  <li>Step 4. After initiating the streaming job, you can use another SQL statement to query the sink table to verify the results of your job. Here you can see the top 10 records which will be refreshed every 3 seconds.</li>
+</ul>
+
+<center>
+<img src="/img/blog/2020-06-15-flink-on-zeppelin/preview.png" width="80%" alt="Preview" />
+</center>
+
+<h1 id="summary">Summary</h1>
+
+<p>In this post, we explained how the redesigned Flink interpreter works in Zeppelin 0.9.0 and provided some examples for performing streaming ETL jobs with 
+Flink and Zeppelin. In the next post, I will talk about how to do streaming data visualization via Flink on Zeppelin.
+Besides that, you can find an additional <a href="https://medium.com/@zjffdu/flink-on-zeppelin-part-2-batch-711731df5ad9">tutorial for batch processing with Flink on Zeppelin</a> as well as using Flink on Zeppelin for 
+more advance operations like resource isolation, job concurrency &amp; parallelism, multiple Hadoop &amp; Hive environments and more on our series of posts on Medium.
+And here’s a list of <a href="https://www.youtube.com/watch?v=YxPo0Fosjjg&amp;list=PL4oy12nnS7FFtg3KV1iS5vDb0pTz12VcX">Flink on Zeppelin tutorial videos</a> for your reference.</p>
+
+<h1 id="references">References</h1>
+
+<ul>
+  <li><a href="http://zeppelin.apache.org">Apache Zeppelin official website</a></li>
+  <li>Flink on Zeppelin tutorials - <a href="https://medium.com/@zjffdu/flink-on-zeppelin-part-1-get-started-2591aaa6aa47">Part 1</a></li>
+  <li>Flink on Zeppelin tutorials - <a href="https://medium.com/@zjffdu/flink-on-zeppelin-part-2-batch-711731df5ad9">Part 2</a></li>
+  <li>Flink on Zeppelin tutorials - <a href="https://medium.com/@zjffdu/flink-on-zeppelin-part-3-streaming-5fca1e16754">Part 3</a></li>
+  <li>Flink on Zeppelin tutorials - <a href="https://medium.com/@zjffdu/flink-on-zeppelin-part-4-advanced-usage-998b74908cd9">Part 4</a></li>
+  <li><a href="https://www.youtube.com/watch?v=YxPo0Fosjjg&amp;list=PL4oy12nnS7FFtg3KV1iS5vDb0pTz12VcX">Flink on Zeppelin tutorial videos</a></li>
+</ul>
+
+      </article>
+    </div>
+
+    <div class="row">
+      <div id="disqus_thread"></div>
+      <script type="text/javascript">
+        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
+        var disqus_shortname = 'stratosphere-eu'; // required: replace example with your forum shortname
+
+        /* * * DON'T EDIT BELOW THIS LINE * * */
+        (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>
+    </div>
+  </div>
+</div>
+      </div>
+    </div>
+
+    <hr />
+
+    <div class="row">
+      <div class="footer text-center col-sm-12">
+        <p>Copyright © 2014-2019 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
+        <p>Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
+        <p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a href="/blog/feed.xml">RSS feed</a></p>
+      </div>
+    </div>
+    </div><!-- /.container -->
+
+    <!-- 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="https://cdnjs.cloudflare.com/ajax/libs/jquery.matchHeight/0.7.0/jquery.matchHeight-min.js"></script>
+    <script src="/js/codetabs.js"></script>
+    <script src="/js/stickysidebar.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>
+  </body>
+</html>
diff --git a/content/zh/index.html b/content/zh/index.html
index d89be9a..54ea3b9 100644
--- a/content/zh/index.html
+++ b/content/zh/index.html
@@ -565,6 +565,13 @@
 
   <dl>
       
+        <dt> <a href="/news/2020/06/15/flink-on-zeppelin-part1.html">Flink on Zeppelin Notebooks for Interactive Data Analysis - Part 1</a></dt>
+        <dd><p>The latest release of <a href="https://zeppelin.apache.org/">Apache Zeppelin</a> comes with a redesigned interpreter for Apache Flink (version Flink 1.10+ is only supported moving forward) 
+that allows developers to use Flink directly on Zeppelin notebooks for interactive data analysis. I wrote 2 posts about how to use Flink in Zeppelin. This is part-1 where I explain how the Flink interpreter in Zeppelin works, 
+and provide a tutorial for running Streaming ETL with Flink on Zeppelin.</p>
+
+</dd>
+      
         <dt> <a href="/news/2020/06/11/community-update.html">Flink Community Update - June'20</a></dt>
         <dd>And suddenly it’s June. The previous month has been calm on the surface, but quite hectic underneath — the final testing phase for Flink 1.11 is moving at full speed, Stateful Functions 2.1 is out in the wild and Flink has made it into Google Season of Docs 2020.</dd>
       
@@ -580,9 +587,6 @@
       
         <dt> <a href="/news/2020/05/07/community-update.html">Flink Community Update - May'20</a></dt>
         <dd>Can you smell it? It’s release month! This time around, we’re warming up for Flink 1.11 and peeping back to the past month in the Flink community — with the release of Stateful Functions 2.0, a new self-paced Flink training and some efforts to improve the Flink documentation experience.</dd>
-      
-        <dt> <a href="/news/2020/05/04/season-of-docs.html">Applying to Google Season of Docs 2020</a></dt>
-        <dd>The Flink community is thrilled to share that the project is applying again to Google Season of Docs (GSoD) this year! If you’re unfamiliar with the program, GSoD is a great initiative organized by Google Open Source to pair technical writers with mentors to work on documentation for open source projects. Does working shoulder to shoulder with the Flink community on documentation sound exciting? We’d love to hear from you!</dd>
     
   </dl>