This is an automated email from the ASF dual-hosted git repository.
rmetzger pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/flink-web.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 75a8f23 regenerate page
75a8f23 is described below
commit 75a8f234de12cda035c54a065405d9ff028fd517
Author: Robert Metzger <[email protected]>
AuthorDate: Fri Jun 12 15:02:12 2020 +0200
regenerate page
---
content/blog/feed.xml | 322 ++++++++----------
content/blog/index.html | 36 +-
content/blog/page10/index.html | 37 +-
content/blog/page11/index.html | 39 ++-
content/blog/page12/index.html | 25 ++
content/blog/page2/index.html | 38 ++-
content/blog/page3/index.html | 38 ++-
content/blog/page4/index.html | 38 ++-
content/blog/page5/index.html | 40 ++-
content/blog/page6/index.html | 38 ++-
content/blog/page7/index.html | 37 +-
content/blog/page8/index.html | 39 ++-
content/blog/page9/index.html | 38 ++-
.../FlinkForward_Banner_CFP_Global_2020.png | Bin 0 -> 405263 bytes
content/index.html | 8 +-
content/news/2020/06/11/community-update.html | 374 +++++++++++++++++++++
content/zh/index.html | 8 +-
17 files changed, 799 insertions(+), 356 deletions(-)
diff --git a/content/blog/feed.xml b/content/blog/feed.xml
index 7f51ba0..23b09f0 100644
--- a/content/blog/feed.xml
+++ b/content/blog/feed.xml
@@ -7,6 +7,137 @@
<atom:link href="https://flink.apache.org/blog/feed.xml" rel="self"
type="application/rss+xml" />
<item>
+<title>Flink Community Update - June'20</title>
+<description><p>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.</p>
+
+<p>To top it off, a piece of good news: <a
href="https://www.flink-forward.org/global-2020">Flink
Forward</a> is back on October 19-22 as a free virtual event!</p>
+
+<div class="page-toc">
+<ul id="markdown-toc">
+ <li><a href="#the-past-month-in-flink"
id="markdown-toc-the-past-month-in-flink">The Past Month in
Flink</a> <ul>
+ <li><a href="#flink-stateful-functions-21-release"
id="markdown-toc-flink-stateful-functions-21-release">Flink
Stateful Functions 2.1 Release</a></li>
+ <li><a href="#testing-is-on-for-flink-111"
id="markdown-toc-testing-is-on-for-flink-111">Testing is ON for
Flink 1.11</a></li>
+ <li><a href="#flink-minor-releases"
id="markdown-toc-flink-minor-releases">Flink Minor
Releases</a> <ul>
+ <li><a href="#flink-1101"
id="markdown-toc-flink-1101">Flink 1.10.1</a></li>
+ </ul>
+ </li>
+ <li><a href="#new-committers-and-pmc-members"
id="markdown-toc-new-committers-and-pmc-members">New Committers
and PMC Members</a> <ul>
+ <li><a href="#new-committers"
id="markdown-toc-new-committers">New
Committers</a></li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li><a href="#the-bigger-picture"
id="markdown-toc-the-bigger-picture">The Bigger Picture</a>
<ul>
+ <li><a
href="#flink-forward-global-virtual-conference-2020"
id="markdown-toc-flink-forward-global-virtual-conference-2020">Flink
Forward Global Virtual Conference 2020</a></li>
+ <li><a href="#google-season-of-docs-2020"
id="markdown-toc-google-season-of-docs-2020">Google Season of Docs
2020</a></li>
+ </ul>
+ </li>
+</ul>
+
+</div>
+
+<h1 id="the-past-month-in-flink">The Past Month in
Flink</h1>
+
+<h2 id="flink-stateful-functions-21-release">Flink Stateful
Functions 2.1 Release</h2>
+
+<p>It might seem like <a
href="https://flink.apache.org/news/2020/04/07/release-statefun-2.0.0.html">Stateful
Functions 2.0 was announced</a> only a handful of weeks ago (and it
was!), but the Flink community has just released Stateful Functions 2.1! This
release introduces two new features: state expiration for any kind of persisted
state and support for UNIX Domain Sockets (UDS) to improve the performance of
inter-container communication in co-located deploy [...]
+
+<p>As the community around StateFun grows, the release cycle will follow
this pattern of smaller and more frequent releases to incorporate user feedback
and allow for faster iteration. If you’d like to get involved, we’re always
<a
href="https://github.com/apache/flink-statefun#contributing">looking
for new contributors</a> — especially around SDKs for other languages
(e.g. Go, Rust, Javascript).</p>
+
+<hr />
+
+<h2 id="testing-is-on-for-flink-111">Testing is ON for Flink
1.11</h2>
+
+<p>Things have been pretty quiet in the Flink community, as all efforts
shifted to testing the newest features shipping with Flink 1.11. While we wait
for a voting Release Candidate (RC) to be out, you can check the progress of
testing in <a
href="https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=364&amp;projectKey=FLINK">this
JIRA burndown board</a> and learn more about some of the <a
href="https://flink.apache.org/news/2020/05/07/co [...]
+
+<ul>
+ <li>
+ <p><a
href="https://www.youtube.com/watch?v=ssEmeLcL5Uk">Rethinking of
fault tolerance in Flink: what lies ahead?</a></p>
+ </li>
+ <li>
+ <p><a
href="https://www.youtube.com/watch?v=t7fAN3xNJ3Q">It’s finally
here: Python on Flink &amp; Flink on Zeppelin</a></p>
+ </li>
+ <li>
+ <p><a
href="https://www.youtube.com/watch?v=KDD8e4GE12w">A deep dive
into Flink SQL</a></p>
+ </li>
+ <li>
+ <p><a
href="https://www.youtube.com/watch?v=4ce1H9CRyEc">Production-Ready
Flink and Hive Integration - what story you can tell now?</a></p>
+ </li>
+</ul>
+
+<p>We encourage the wider community to also get involved in testing once
the voting RC is out. Keep an eye on the <a
href="https://flink.apache.org/community.html#mailing-lists">@dev
mailing list</a> for updates!</p>
+
+<hr />
+
+<h2 id="flink-minor-releases">Flink Minor Releases</h2>
+
+<h3 id="flink-1101">Flink 1.10.1</h3>
+
+<p>The community released Flink 1.10.1, covering some outstanding bugs
in Flink 1.10. You can find more in the <a
href="https://flink.apache.org/news/2020/05/12/release-1.10.1.html">announcement
blogpost</a>!</p>
+
+<hr />
+
+<h2 id="new-committers-and-pmc-members">New Committers and PMC
Members</h2>
+
+<p>The Apache Flink community has welcomed <strong>2 new
Committers</strong> since the last update. Congratulations!</p>
+
+<h3 id="new-committers">New Committers</h3>
+
+<div class="row">
+ <div class="col-lg-3">
+ <div class="text-center">
+ <img class="img-circle"
src="https://avatars3.githubusercontent.com/u/4471524?s=400&amp;v=4"
width="90" height="90" />
+ <p>Benchao Li</p>
+ </div>
+ </div>
+ <div class="col-lg-3">
+ <div class="text-center">
+ <img class="img-circle"
src="https://avatars0.githubusercontent.com/u/6509172?s=400&amp;v=4"
width="90" height="90" />
+ <p>Xintong Song</p>
+ </div>
+ </div>
+</div>
+
+<hr />
+
+<h1 id="the-bigger-picture">The Bigger Picture</h1>
+
+<h2 id="flink-forward-global-virtual-conference-2020">Flink
Forward Global Virtual Conference 2020</h2>
+
+<p>After a first successful <a
href="https://www.youtube.com/playlist?list=PLDX4T_cnKjD0ngnBSU-bYGfgVv17MiwA7">virtual
conference</a> last April, Flink Forward will be hosting a second free
virtual edition on October 19-22. This time around, the conference will feature
two days of hands-on training and two full days of conference talks!</p>
+
+<p>Got a Flink story to share? Maybe your recent adventures with
Stateful Functions? The <a
href="https://www.flink-forward.org/global-2020/call-for-presentations">Call
for Presentations is now open</a> and accepting submissions from the
community until <strong>June 19th, 11:59 PM CEST</strong>.</p>
+
+<div style="line-height:60%;">
+ <br />
+</div>
+
+<center>
+<img
src="/img/blog/2020-06-10-community-update/FlinkForward_Banner_CFP_Global_2020.png"
width="600px" alt="Flink Forward Global 2020" />
+</center>
+
+<div style="line-height:60%;">
+ <br />
+</div>
+
+<hr />
+
+<h2 id="google-season-of-docs-2020">Google Season of Docs
2020</h2>
+
+<p>In the last update, we announced that Flink was applying to <a
href="https://developers.google.com/season-of-docs">Google Season
of Docs (GSoD)</a> again this year. The good news: we’ve made it into the
shortlist of accepted projects! This represents an invaluable opportunity for
the Flink community to collaborate with technical writers to improve the Table
API &amp; SQL documentation. We’re honored to have seen a great number of
people reach out over t [...]
+
+<p>If you’re interested in learning more about our project idea or want
to get involved in GSoD as a technical writer, check out the <a
href="https://flink.apache.org/news/2020/05/04/season-of-docs.html">announcement
blogpost</a> and <a
href="https://developers.google.com/season-of-docs/docs/tech-writer-application-hints">submit
your application</a>. The deadline for GSoD applications is
<strong>July 9th, 18:00 UTC</strong>.&l [...]
+
+<hr />
+
+<p>If you’d like to keep a closer eye on what’s happening in the
community, subscribe to the Flink <a
href="https://flink.apache.org/community.html#mailing-lists">@community
mailing list</a> to get fine-grained weekly updates, upcoming event
announcements and more.</p>
+</description>
+<pubDate>Thu, 11 Jun 2020 10:00:00 +0200</pubDate>
+<link>https://flink.apache.org/news/2020/06/11/community-update.html</link>
+<guid isPermaLink="true">/news/2020/06/11/community-update.html</guid>
+</item>
+
+<item>
<title>Stateful Functions 2.1.0 Release Announcement</title>
<description><p>The Apache Flink community is happy to announce the
release of Stateful Functions (StateFun) 2.1.0! This release introduces new
features around state expiration and performance improvements for co-located
deployments, as well as other important changes that improve the stability and
testability of the project. As the community around StateFun grows, the release
cycle will follow this pattern of smaller and more frequent releases to
incorporate user feedback and allo [...]
@@ -16823,196 +16954,5 @@ including Apache Flink.</p>
<guid isPermaLink="true">/news/2015/05/14/Community-update-April.html</guid>
</item>
-<item>
-<title>Juggling with Bits and Bytes</title>
-<description><h2
id="how-apache-flink-operates-on-binary-data">How Apache Flink
operates on binary data</h2>
-
-<p>Nowadays, a lot of open-source systems for analyzing large data sets
are implemented in Java or other JVM-based programming languages. The most
well-known example is Apache Hadoop, but also newer frameworks such as Apache
Spark, Apache Drill, and also Apache Flink run on JVMs. A common challenge that
JVM-based data analysis engines face is to store large amounts of data in
memory - both for caching and for efficient processing such as sorting and
joining of data. Managing the JV [...]
-
-<p>In this blog post we discuss how Apache Flink manages memory, talk
about its custom data de/serialization stack, and show how it operates on
binary data.</p>
-
-<h2 id="data-objects-lets-put-them-on-the-heap">Data Objects?
Let’s put them on the heap!</h2>
-
-<p>The most straight-forward approach to process lots of data in a JVM
is to put it as objects on the heap and operate on these objects. Caching a
data set as objects would be as simple as maintaining a list containing an
object for each record. An in-memory sort would simply sort the list of objects.
-However, this approach has a few notable drawbacks. First of all it is not
trivial to watch and control heap memory usage when a lot of objects are
created and invalidated constantly. Memory overallocation instantly kills the
JVM with an <code>OutOfMemoryError</code>. Another aspect is
garbage collection on multi-GB JVMs which are flooded with new objects. The
overhead of garbage collection in such environments can easily reach 50% and
more. Finally, Java objects come with a [...]
-
-<h2 id="what-is-flink-doing-about-that">What is Flink doing
about that?</h2>
-
-<p>Apache Flink has its roots at a research project which aimed to
combine the best technologies of MapReduce-based systems and parallel database
systems. Coming from this background, Flink has always had its own way of
processing data in-memory. Instead of putting lots of objects on the heap,
Flink serializes objects into a fixed number of pre-allocated memory segments.
Its DBMS-style sort and join algorithms operate as much as possible on this
binary data to keep the de/serializa [...]
-
-<center>
-<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>
-
-<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>
- <li><strong>Reduced garbage collection pressure.</strong>
Because all long-lived data is in binary representation in Flink’s managed
memory, all data objects are short-lived or even mutable and can be reused.
Short-lived objects can be more efficiently garbage-collected, which
significantly reduces garbage collection pressure. Right now, the pre-allocated
memory segments are long-lived objects on the JVM heap, but the Flink community
is actively working on allocating [...]
- <li><strong>Space efficient data representation.</strong>
Java objects have a storage overhead which can be avoided if the data is stored
in a binary representation.</li>
- <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 s [...]
-
-<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>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 effic [...]
-
-<p>MemorySegments are allocated once at TaskManager start-up time and
are destroyed when the TaskManager is shut down. Hence, they are reused and not
garbage-collected over the whole lifetime of a TaskManager. After all internal
data structures of a TaskManager have been initialized and all core services
have been started, the MemoryManager starts creating MemorySegments. By default
70% of the JVM heap that is available after service initialization is allocated
by the MemoryManager [...]
-
-<center>
-<img src="/img/blog/memory-alloc.png"
style="width:60%;margin:15px" />
-</center>
-
-<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>. Fl
[...]
-
-<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/ [...]
-
-<ul>
- <li>BasicTypeInfo: Any (boxed) Java primitive type or
java.lang.String.</li>
- <li>BasicArrayTypeInfo: Any array of a (boxed) Java primitive type or
java.lang.String.</li>
- <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>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 MemorySegme [...]
-
-<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 [...]
-
-<div class="highlight"><pre><code
class="language-java"><span
class="kd">public</span> <span
class="kd">class</span> <span
class="nc">Person</span> <span
class="o">{</span>
- <span class="kd">public</span> <span
class="kt">int</span> <span
class="n">id</span><span
class="o">;</span>
- <span class="kd">public</span> <span
class="n">String</span> <span
class="n">name</span><span
class="o">;</span>
-<span
class="o">}</span></code></pre></div>
-
-<center>
-<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>
-
-<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 [...]
-
-<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" />
-</center>
-
-<p>The sort buffer is internally organized into two memory regions. The
first region holds the full binary data of all objects. The second region
contains pointers to the full binary object data and - depending on the key
data type - fixed-length sort keys. When an object is added to the sort buffer,
its binary data is appended to the first region, and a pointer (and possibly a
key) is appended to the second region. The separation of actual data and
pointers plus fixed-length keys [...]
-The following figure shows how two objects are compared.</p>
-
-<center>
-<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 dec [...]
-
-<center>
-<img src="/img/blog/sorting-binary-data-3.png"
style="width:80%;margin:15px" />
-</center>
-
-<p>The sorted data is returned by sequentially reading the pointer
region of the sort buffer, skipping the sort keys and following the sorted
pointers to the actual data. This data is either deserialized and returned as
objects or the binary representation is copied and written to disk in case of
an external merge-sort (see this <a
href="http://flink.apache.org/news/2015/03/13/peeking-into-Apache-Flinks-Engine-Room.html">blog
post on joins in Flink</a>).</p>
-
-<h2 id="show-me-numbers">Show me numbers!</h2>
-
-<p>So, what does operating on binary data mean for performance? We’ll
run a benchmark that sorts 10 million <code>Tuple2&lt;Integer,
String&gt;</code> objects to find out. The values of the Integer
field are sampled from a uniform distribution. The String field values have a
length of 12 characters and are sampled from a long-tail distribution. The
input data is provided by an iterator that returns a mutable object, i.e., the
same tuple object instance is return [...]
-
-<ol>
- <li><strong>Object-on-heap.</strong> The tuples are stored
in a regular <code>java.util.ArrayList</code> with initial capacity
set to 10 million entries and sorted using Java’s regular collection
sort.</li>
- <li><strong>Flink-serialized.</strong> The tuple fields
are serialized into a sort buffer of 600 MB size using Flink’s custom
serializers, sorted as described above, and finally deserialized again. When
sorting on the Integer field, the full Integer is used as sort key such that
the sort happens entirely on binary data (no deserialization of objects
required). For sorting on the String field a 8-byte prefix key is used and
tuple objects are deserialized if the prefix [...]
- <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>
-
-<center>
-<img src="/img/blog/sort-benchmark.png"
style="width:90%;margin:15px" />
-</center>
-
-<p>We see that Flink’s sort on binary data using its own serializers
significantly outperforms the other two methods. Comparing to the
object-on-heap method, we see that loading the data into memory is much faster.
Since we actually collect the objects, there is no opportunity to reuse the
object instances, but have to re-create every tuple. This is less efficient
than Flink’s serializers (or Kryo serialization). On the other hand, reading
objects from the heap comes for free compa [...]
-
-<table width="100%">
- <tr>
- <th></th>
- <th><center><b>Garbage
Collection</b></center></th>
- <th><center><b>Memory
Usage</b></center></th>
- </tr>
- <tr>
- <td><b>Object-on-Heap (int)</b></td>
- <td><img src="/img/blog/objHeap-int-gc.png"
style="width:80%" /></td>
- <td><img src="/img/blog/objHeap-int-mem.png"
style="width:80%" /></td>
- </tr>
- <tr>
- <td><b>Flink-Serialized (int)</b></td>
- <td><img src="/img/blog/flinkSer-int-gc.png"
style="width:80%" /></td>
- <td><img src="/img/blog/flinkSer-int-mem.png"
style="width:80%" /></td>
- </tr>
- <tr>
- <td><b>Kryo-Serialized (int)</b></td>
- <td><img src="/img/blog/kryoSer-int-gc.png"
style="width:80%" /></td>
- <td><img src="/img/blog/kryoSer-int-mem.png"
style="width:80%" /></td>
- </tr>
-</table>
-
-<p>The experiments run single-threaded on an 8-core machine, so full
utilization of one core only corresponds to a 12.5% overall utilization. The
screenshots show that operating on binary data significantly reduces garbage
collection activity. For the object-on-heap approach, the garbage collector
runs in very short intervals while filling the sort buffer and causes a lot of
CPU usage even for a single processing thread (sorting itself does not trigger
the garbage collector). The J [...]
-
-<p>The memory usage charts shows that the flink-serialized and
kryo-serialized constantly occupy a high amount of memory (plus some objects
for operation). This is due to the pre-allocation of MemorySegments. The actual
memory usage is much lower, because the sort buffers are not completely filled.
The following table shows the memory consumption of each method. 10 million
records result in about 280 MB of binary data (object data plus pointers and
sort keys) depending on the used [...]
-
-<table width="100%">
- <tr>
- <th>Occupied Memory</th>
- <th>Object-on-Heap</th>
- <th>Flink-Serialized</th>
- <th>Kryo-Serialized</th>
- </tr>
- <tr>
- <td><b>Sort on Integer</b></td>
- <td>approx. 700 MB (heap)</td>
- <td>277 MB (sort buffer)</td>
- <td>266 MB (sort buffer)</td>
- </tr>
- <tr>
- <td><b>Sort on String</b></td>
- <td>approx. 700 MB (heap)</td>
- <td>315 MB (sort buffer)</td>
- <td>266 MB (sort buffer)</td>
- </tr>
-</table>
-
-<p><br /></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 a [...]
-
-<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>
-
-<ul>
- <li>Flink’s active memory management avoids nasty
<code>OutOfMemoryErrors</code> that kill your JVMs and reduces
garbage collection overhead.</li>
- <li>Flink features a highly efficient data de/serialization stack that
facilitates operations on binary data and makes more data fit into
memory.</li>
- <li>Flink’s DBMS-style operators operate natively on binary data
yielding high performance in-memory and destage gracefully to disk if
necessary.</li>
-</ul>
-</description>
-<pubDate>Mon, 11 May 2015 12:00:00 +0200</pubDate>
-<link>https://flink.apache.org/news/2015/05/11/Juggling-with-Bits-and-Bytes.html</link>
-<guid
isPermaLink="true">/news/2015/05/11/Juggling-with-Bits-and-Bytes.html</guid>
-</item>
-
</channel>
</rss>
diff --git a/content/blog/index.html b/content/blog/index.html
index 5cf1b73..eb6fba3 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -196,6 +196,19 @@
<!-- Blog posts -->
<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
+ Marta Paes (<a href="https://twitter.com/morsapaes">@morsapaes</a>)</p>
+
+ <p>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.</p>
+
+ <p><a href="/news/2020/06/11/community-update.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a
href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful Functions 2.1.0
Release Announcement</a></h2>
<p>09 Jun 2020
@@ -321,19 +334,6 @@ This release marks a big milestone: Stateful Functions 2.0
is not only an API up
<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
- Marta Paes (<a href="https://twitter.com/morsapaes">@morsapaes</a>)</p>
-
- <p>While things slow down around us, the Apache Flink community is
privileged to remain as active as ever. This blogpost combs through the past
few months to give you an update on the state of things in Flink — from core
releases to Stateful Functions; from some good old community stats to a new
development blog.</p>
-
- <p><a href="/news/2020/04/01/community-update.html">Continue reading
»</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -366,6 +366,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/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page10/index.html b/content/blog/page10/index.html
index 32b61e6..bdc80d3 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/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>)
+ </p>
+
+ <p>In this blog post, we describe Flink's compatibility package for <a
href="https://storm.apache.org">Apache Storm</a> that allows to embed Spouts
(sources) and Bolts (operators) in a regular Flink streaming job. Furthermore,
the compatibility package provides a Storm compatible API in order to execute
whole Storm topologies with (almost) no code adaption.</p>
+
+ <p><a href="/news/2015/12/11/storm-compatibility.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a
href="/news/2015/12/04/Introducing-windows.html">Introducing Stream Windows in
Apache Flink</a></h2>
<p>04 Dec 2015 by Fabian Hueske (<a
href="https://twitter.com/">@fhueske</a>)
@@ -333,20 +346,6 @@ vertex-centric or gather-sum-apply to Flink dataflows.</p>
<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>)
- </p>
-
- <p><p>Nowadays, a lot of open-source systems for analyzing large data
sets are implemented in Java or other JVM-based programming languages. The most
well-known example is Apache Hadoop, but also newer frameworks such as Apache
Spark, Apache Drill, and also Apache Flink run on JVMs. A common challenge that
JVM-based data analysis engines face is to store large amounts of data in
memory - both for caching and for efficient processing such as sorting and
joining of data. Managing the [...]
-<p>In this blog post we discuss how Apache Flink manages memory, talk about
its custom data de/serialization stack, and show how it operates on binary
data.</p></p>
-
- <p><a href="/news/2015/05/11/Juggling-with-Bits-and-Bytes.html">Continue
reading »</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -379,6 +378,16 @@ vertex-centric or gather-sum-apply to Flink dataflows.</p>
<ul id="markdown-toc">
+ <li><a href="/news/2020/06/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page11/index.html b/content/blog/page11/index.html
index 26bb52a..a78b694 100644
--- a/content/blog/page11/index.html
+++ b/content/blog/page11/index.html
@@ -196,6 +196,20 @@
<!-- Blog posts -->
<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>)
+ </p>
+
+ <p><p>Nowadays, a lot of open-source systems for analyzing large data
sets are implemented in Java or other JVM-based programming languages. The most
well-known example is Apache Hadoop, but also newer frameworks such as Apache
Spark, Apache Drill, and also Apache Flink run on JVMs. A common challenge that
JVM-based data analysis engines face is to store large amounts of data in
memory - both for caching and for efficient processing such as sorting and
joining of data. Managing the [...]
+<p>In this blog post we discuss how Apache Flink manages memory, talk about
its custom data de/serialization stack, and show how it operates on binary
data.</p></p>
+
+ <p><a href="/news/2015/05/11/Juggling-with-Bits-and-Bytes.html">Continue
reading »</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a
href="/news/2015/04/13/release-0.9.0-milestone1.html">Announcing Flink
0.9.0-milestone1 preview release</a></h2>
<p>13 Apr 2015
@@ -340,21 +354,6 @@ and offers a new API including definition of flexible
windows.</p>
<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
- </p>
-
- <p><p>We are pleased to announce the availability of Flink 0.7.0. This
release includes new user-facing features as well as performance and bug fixes,
brings the Scala and Java APIs in sync, and introduces Flink Streaming. A total
of 34 people have contributed to this release, a big thanks to all of them!</p>
-
-</p>
-
- <p><a href="/news/2014/11/04/release-0.7.0.html">Continue reading
»</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -387,6 +386,16 @@ and offers a new API including definition of flexible
windows.</p>
<ul id="markdown-toc">
+ <li><a href="/news/2020/06/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page12/index.html b/content/blog/page12/index.html
index 8f8ef22..da58d39 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/04/release-0.7.0.html">Apache Flink 0.7.0 available</a></h2>
+
+ <p>04 Nov 2014
+ </p>
+
+ <p><p>We are pleased to announce the availability of Flink 0.7.0. This
release includes new user-facing features as well as performance and bug fixes,
brings the Scala and Java APIs in sync, and introduces Flink Streaming. A total
of 34 people have contributed to this release, a big thanks to all of them!</p>
+
+</p>
+
+ <p><a href="/news/2014/11/04/release-0.7.0.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a
href="/news/2014/10/03/upcoming_events.html">Upcoming Events</a></h2>
<p>03 Oct 2014
@@ -275,6 +290,16 @@ academic and open source project that Flink originates
from.</p>
<ul id="markdown-toc">
+ <li><a href="/news/2020/06/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page2/index.html b/content/blog/page2/index.html
index 4458a5c..9460f41 100644
--- a/content/blog/page2/index.html
+++ b/content/blog/page2/index.html
@@ -196,6 +196,19 @@
<!-- Blog posts -->
<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
+ Marta Paes (<a href="https://twitter.com/morsapaes">@morsapaes</a>)</p>
+
+ <p>While things slow down around us, the Apache Flink community is
privileged to remain as active as ever. This blogpost combs through the past
few months to give you an update on the state of things in Flink — from core
releases to Stateful Functions; from some good old community stats to a new
development blog.</p>
+
+ <p><a href="/news/2020/04/01/community-update.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a
href="/features/2020/03/27/flink-for-data-warehouse.html">Flink as Unified
Engine for Modern Data Warehousing: Production-Ready Hive Integration</a></h2>
<p>27 Mar 2020
@@ -318,21 +331,6 @@
<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
- Hequn Cheng </p>
-
- <p><p>The Apache Flink community released the third bugfix version of
the Apache Flink 1.8 series.</p>
-
-</p>
-
- <p><a href="/news/2019/12/11/release-1.8.3.html">Continue reading
»</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -365,6 +363,16 @@
<ul id="markdown-toc">
+ <li><a href="/news/2020/06/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page3/index.html b/content/blog/page3/index.html
index 4be9e38..fb8404e 100644
--- a/content/blog/page3/index.html
+++ b/content/blog/page3/index.html
@@ -196,6 +196,21 @@
<!-- Blog posts -->
<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
+ Hequn Cheng </p>
+
+ <p><p>The Apache Flink community released the third bugfix version of
the Apache Flink 1.8 series.</p>
+
+</p>
+
+ <p><a href="/news/2019/12/11/release-1.8.3.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a
href="/news/2019/12/09/flink-kubernetes-kudo.html">Running Apache Flink on
Kubernetes with KUDO</a></h2>
<p>09 Dec 2019
@@ -321,19 +336,6 @@
<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
- Fabian Hueske (<a href="https://twitter.com/fhueske">@fhueske</a>)</p>
-
- <p>Apache Flink has multiple types of operator state, one of which is
called Broadcast State. In this post, we explain what Broadcast State is, and
show an example of how it can be applied to an application that evaluates
dynamic patterns on an event stream.</p>
-
- <p><a href="/2019/06/26/broadcast-state.html">Continue reading
»</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -366,6 +368,16 @@
<ul id="markdown-toc">
+ <li><a href="/news/2020/06/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page4/index.html b/content/blog/page4/index.html
index 3760181..0c64f0c 100644
--- a/content/blog/page4/index.html
+++ b/content/blog/page4/index.html
@@ -196,6 +196,19 @@
<!-- Blog posts -->
<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
+ Fabian Hueske (<a href="https://twitter.com/fhueske">@fhueske</a>)</p>
+
+ <p>Apache Flink has multiple types of operator state, one of which is
called Broadcast State. In this post, we explain what Broadcast State is, and
show an example of how it can be applied to an application that evaluates
dynamic patterns on an event stream.</p>
+
+ <p><a href="/2019/06/26/broadcast-state.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a href="/2019/06/05/flink-network-stack.html">A
Deep-Dive into Flink's Network Stack</a></h2>
<p>05 Jun 2019
@@ -320,21 +333,6 @@ for more details.</p>
<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
- </p>
-
- <p><p>The Apache Flink community released the fourth bugfix version of
the Apache Flink 1.6 series.</p>
-
-</p>
-
- <p><a href="/news/2019/02/25/release-1.6.4.html">Continue reading
»</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -367,6 +365,16 @@ for more details.</p>
<ul id="markdown-toc">
+ <li><a href="/news/2020/06/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page5/index.html b/content/blog/page5/index.html
index a12e65e..496ddc2 100644
--- a/content/blog/page5/index.html
+++ b/content/blog/page5/index.html
@@ -196,6 +196,21 @@
<!-- Blog posts -->
<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
+ </p>
+
+ <p><p>The Apache Flink community released the fourth bugfix version of
the Apache Flink 1.6 series.</p>
+
+</p>
+
+ <p><a href="/news/2019/02/25/release-1.6.4.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a
href="/news/2019/02/15/release-1.7.2.html">Apache Flink 1.7.2 Released</a></h2>
<p>15 Feb 2019
@@ -330,21 +345,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.5.4.html">Apache Flink 1.5.4 Released</a></h2>
-
- <p>20 Sep 2018
- </p>
-
- <p><p>The Apache Flink community released the fourth bugfix version of
the Apache Flink 1.5 series.</p>
-
-</p>
-
- <p><a href="/news/2018/09/20/release-1.5.4.html">Continue reading
»</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -377,6 +377,16 @@ Please check the <a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa
<ul id="markdown-toc">
+ <li><a href="/news/2020/06/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page6/index.html b/content/blog/page6/index.html
index 5a0a6cf..bbea907 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.5.4.html">Apache Flink 1.5.4 Released</a></h2>
+
+ <p>20 Sep 2018
+ </p>
+
+ <p><p>The Apache Flink community released the fourth bugfix version of
the Apache Flink 1.5 series.</p>
+
+</p>
+
+ <p><a href="/news/2018/09/20/release-1.5.4.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a
href="/news/2018/08/21/release-1.5.3.html">Apache Flink 1.5.3 Released</a></h2>
<p>21 Aug 2018
@@ -328,19 +343,6 @@
<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
- Stefan Ricther (<a
href="https://twitter.com/StefanRRicther">@StefanRRicther</a>) & Chris Ward
(<a href="https://twitter.com/chrischinch">@chrischinch</a>)</p>
-
- <p>Flink 1.3.0 introduced incremental checkpointing, making it possible
for applications with large state to generate checkpoints more efficiently.</p>
-
- <p><a
href="/features/2018/01/30/incremental-checkpointing.html">Continue reading
»</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -373,6 +375,16 @@
<ul id="markdown-toc">
+ <li><a href="/news/2020/06/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page7/index.html b/content/blog/page7/index.html
index 6362ef2..632f4dc 100644
--- a/content/blog/page7/index.html
+++ b/content/blog/page7/index.html
@@ -196,6 +196,19 @@
<!-- Blog posts -->
<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
+ Stefan Ricther (<a
href="https://twitter.com/StefanRRicther">@StefanRRicther</a>) & Chris Ward
(<a href="https://twitter.com/chrischinch">@chrischinch</a>)</p>
+
+ <p>Flink 1.3.0 introduced incremental checkpointing, making it possible
for applications with large state to generate checkpoints more efficiently.</p>
+
+ <p><a
href="/features/2018/01/30/incremental-checkpointing.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a
href="/news/2017/12/21/2017-year-in-review.html">Apache Flink in 2017: Year in
Review</a></h2>
<p>21 Dec 2017
@@ -331,20 +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/04/dynamic-tables.html">Continuous Queries on Dynamic
Tables</a></h2>
-
- <p>04 Apr 2017 by Fabian Hueske, Shaoxuan Wang, and Xiaowei Jiang
- </p>
-
- <p><p>Flink's relational APIs, the Table API and SQL, are unified APIs
for stream and batch processing, meaning that a query produces the same result
when being evaluated on streaming or static data.</p>
-<p>In this blog post we discuss the future of these APIs and introduce the
concept of Dynamic Tables. Dynamic tables will significantly expand the scope
of the Table API and SQL on streams and enable many more advanced use cases. We
discuss how streams and dynamic tables relate to each other and explain the
semantics of continuously evaluating queries on dynamic tables.</p></p>
-
- <p><a href="/news/2017/04/04/dynamic-tables.html">Continue reading
»</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -377,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/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page8/index.html b/content/blog/page8/index.html
index 55ce291..4cbf258 100644
--- a/content/blog/page8/index.html
+++ b/content/blog/page8/index.html
@@ -196,6 +196,20 @@
<!-- Blog posts -->
<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
+ </p>
+
+ <p><p>Flink's relational APIs, the Table API and SQL, are unified APIs
for stream and batch processing, meaning that a query produces the same result
when being evaluated on streaming or static data.</p>
+<p>In this blog post we discuss the future of these APIs and introduce the
concept of Dynamic Tables. Dynamic tables will significantly expand the scope
of the Table API and SQL on streams and enable many more advanced use cases. We
discuss how streams and dynamic tables relate to each other and explain the
semantics of continuously evaluating queries on dynamic tables.</p></p>
+
+ <p><a href="/news/2017/04/04/dynamic-tables.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a
href="/news/2017/03/29/table-sql-api-update.html">From Streams to Tables and
Back Again: An Update on Flink's Table & SQL API</a></h2>
<p>29 Mar 2017 by Timo Walther (<a
href="https://twitter.com/">@twalthr</a>)
@@ -324,21 +338,6 @@
<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
- </p>
-
- <p><div class="alert alert-success"><strong>Important</strong>: The
Maven artifacts published with version 1.1.0 on Maven central have a Hadoop
dependency issue. It is highly recommended to use <strong>1.1.1</strong> or
<strong>1.1.1-hadoop1</strong> as the Flink version.</div>
-
-</p>
-
- <p><a href="/news/2016/08/08/release-1.1.0.html">Continue reading
»</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -371,6 +370,16 @@
<ul id="markdown-toc">
+ <li><a href="/news/2020/06/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git a/content/blog/page9/index.html b/content/blog/page9/index.html
index 388e6e8..3bd741d 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/08/release-1.1.0.html">Announcing Apache Flink
1.1.0</a></h2>
+
+ <p>08 Aug 2016
+ </p>
+
+ <p><div class="alert alert-success"><strong>Important</strong>: The
Maven artifacts published with version 1.1.0 on Maven central have a Hadoop
dependency issue. It is highly recommended to use <strong>1.1.1</strong> or
<strong>1.1.1-hadoop1</strong> as the Flink version.</div>
+
+</p>
+
+ <p><a href="/news/2016/08/08/release-1.1.0.html">Continue reading
»</a></p>
+ </article>
+
+ <hr>
+
+ <article>
<h2 class="blog-title"><a href="/news/2016/05/24/stream-sql.html">Stream
Processing for Everyone with SQL and Apache Flink</a></h2>
<p>24 May 2016 by Fabian Hueske (<a
href="https://twitter.com/">@fhueske</a>)
@@ -325,19 +340,6 @@
<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>)
- </p>
-
- <p>In this blog post, we describe Flink's compatibility package for <a
href="https://storm.apache.org">Apache Storm</a> that allows to embed Spouts
(sources) and Bolts (operators) in a regular Flink streaming job. Furthermore,
the compatibility package provides a Storm compatible API in order to execute
whole Storm topologies with (almost) no code adaption.</p>
-
- <p><a href="/news/2015/12/11/storm-compatibility.html">Continue reading
»</a></p>
- </article>
-
- <hr>
-
<!-- Pagination links -->
@@ -370,6 +372,16 @@
<ul id="markdown-toc">
+ <li><a href="/news/2020/06/11/community-update.html">Flink Community
Update - June'20</a></li>
+
+
+
+
+
+
+
+
+
<li><a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></li>
diff --git
a/content/img/blog/2020-06-10-community-update/FlinkForward_Banner_CFP_Global_2020.png
b/content/img/blog/2020-06-10-community-update/FlinkForward_Banner_CFP_Global_2020.png
new file mode 100644
index 0000000..8813d88
Binary files /dev/null and
b/content/img/blog/2020-06-10-community-update/FlinkForward_Banner_CFP_Global_2020.png
differ
diff --git a/content/index.html b/content/index.html
index e867f72..b4f74a2 100644
--- a/content/index.html
+++ b/content/index.html
@@ -568,6 +568,9 @@
<dl>
+ <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>
+
<dt> <a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></dt>
<dd><p>The Apache Flink community is happy to announce the release of
Stateful Functions (StateFun) 2.1.0! This release introduces new features
around state expiration and performance improvements for co-located
deployments, as well as other important changes that improve the stability and
testability of the project. As the community around StateFun grows, the release
cycle will follow this pattern of smaller and more frequent releases to
incorporate user feedback and allow for f [...]
@@ -583,11 +586,6 @@
<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>
-
- <dt> <a href="/news/2020/04/24/release-1.9.3.html">Apache Flink 1.9.3
Released</a></dt>
- <dd><p>The Apache Flink community released the third bugfix version of
the Apache Flink 1.9 series.</p>
-
-</dd>
</dl>
diff --git a/content/news/2020/06/11/community-update.html
b/content/news/2020/06/11/community-update.html
new file mode 100644
index 0000000..4781b40
--- /dev/null
+++ b/content/news/2020/06/11/community-update.html
@@ -0,0 +1,374 @@
+<!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 Community Update - June'20</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>
+
+
+
+ <!-- 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>
+
+
+
+ <!-- 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>
+
+
+ <!-- Third menu section aim to support community and contributors
-->
+
+ <!-- Community -->
+ <li><a href="/community.html">Community & 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>
+
+
+
+ <!-- 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 Community Update - June'20</h1>
+ <p><i></i></p>
+
+ <article>
+ <p>11 Jun 2020 Marta Paes (<a
href="https://twitter.com/morsapaes">@morsapaes</a>)</p>
+
+<p>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.</p>
+
+<p>To top it off, a piece of good news: <a
href="https://www.flink-forward.org/global-2020">Flink Forward</a> is back on
October 19-22 as a free virtual event!</p>
+
+<div class="page-toc">
+<ul id="markdown-toc">
+ <li><a href="#the-past-month-in-flink"
id="markdown-toc-the-past-month-in-flink">The Past Month in Flink</a> <ul>
+ <li><a href="#flink-stateful-functions-21-release"
id="markdown-toc-flink-stateful-functions-21-release">Flink Stateful Functions
2.1 Release</a></li>
+ <li><a href="#testing-is-on-for-flink-111"
id="markdown-toc-testing-is-on-for-flink-111">Testing is ON for Flink
1.11</a></li>
+ <li><a href="#flink-minor-releases"
id="markdown-toc-flink-minor-releases">Flink Minor Releases</a> <ul>
+ <li><a href="#flink-1101" id="markdown-toc-flink-1101">Flink
1.10.1</a></li>
+ </ul>
+ </li>
+ <li><a href="#new-committers-and-pmc-members"
id="markdown-toc-new-committers-and-pmc-members">New Committers and PMC
Members</a> <ul>
+ <li><a href="#new-committers" id="markdown-toc-new-committers">New
Committers</a></li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li><a href="#the-bigger-picture" id="markdown-toc-the-bigger-picture">The
Bigger Picture</a> <ul>
+ <li><a href="#flink-forward-global-virtual-conference-2020"
id="markdown-toc-flink-forward-global-virtual-conference-2020">Flink Forward
Global Virtual Conference 2020</a></li>
+ <li><a href="#google-season-of-docs-2020"
id="markdown-toc-google-season-of-docs-2020">Google Season of Docs 2020</a></li>
+ </ul>
+ </li>
+</ul>
+
+</div>
+
+<h1 id="the-past-month-in-flink">The Past Month in Flink</h1>
+
+<h2 id="flink-stateful-functions-21-release">Flink Stateful Functions 2.1
Release</h2>
+
+<p>It might seem like <a
href="https://flink.apache.org/news/2020/04/07/release-statefun-2.0.0.html">Stateful
Functions 2.0 was announced</a> only a handful of weeks ago (and it was!), but
the Flink community has just released Stateful Functions 2.1! This release
introduces two new features: state expiration for any kind of persisted state
and support for UNIX Domain Sockets (UDS) to improve the performance of
inter-container communication in co-located deployments; as well as other impo
[...]
+
+<p>As the community around StateFun grows, the release cycle will follow this
pattern of smaller and more frequent releases to incorporate user feedback and
allow for faster iteration. If you’d like to get involved, we’re always <a
href="https://github.com/apache/flink-statefun#contributing">looking for new
contributors</a> — especially around SDKs for other languages (e.g. Go, Rust,
Javascript).</p>
+
+<hr />
+
+<h2 id="testing-is-on-for-flink-111">Testing is ON for Flink 1.11</h2>
+
+<p>Things have been pretty quiet in the Flink community, as all efforts
shifted to testing the newest features shipping with Flink 1.11. While we wait
for a voting Release Candidate (RC) to be out, you can check the progress of
testing in <a
href="https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=364&projectKey=FLINK">this
JIRA burndown board</a> and learn more about some of the <a
href="https://flink.apache.org/news/2020/05/07/community-update.html#warming-up-for-flink
[...]
+
+<ul>
+ <li>
+ <p><a href="https://www.youtube.com/watch?v=ssEmeLcL5Uk">Rethinking of
fault tolerance in Flink: what lies ahead?</a></p>
+ </li>
+ <li>
+ <p><a href="https://www.youtube.com/watch?v=t7fAN3xNJ3Q">It’s finally
here: Python on Flink & Flink on Zeppelin</a></p>
+ </li>
+ <li>
+ <p><a href="https://www.youtube.com/watch?v=KDD8e4GE12w">A deep dive into
Flink SQL</a></p>
+ </li>
+ <li>
+ <p><a href="https://www.youtube.com/watch?v=4ce1H9CRyEc">Production-Ready
Flink and Hive Integration - what story you can tell now?</a></p>
+ </li>
+</ul>
+
+<p>We encourage the wider community to also get involved in testing once the
voting RC is out. Keep an eye on the <a
href="https://flink.apache.org/community.html#mailing-lists">@dev mailing
list</a> for updates!</p>
+
+<hr />
+
+<h2 id="flink-minor-releases">Flink Minor Releases</h2>
+
+<h3 id="flink-1101">Flink 1.10.1</h3>
+
+<p>The community released Flink 1.10.1, covering some outstanding bugs in
Flink 1.10. You can find more in the <a
href="https://flink.apache.org/news/2020/05/12/release-1.10.1.html">announcement
blogpost</a>!</p>
+
+<hr />
+
+<h2 id="new-committers-and-pmc-members">New Committers and PMC Members</h2>
+
+<p>The Apache Flink community has welcomed <strong>2 new Committers</strong>
since the last update. Congratulations!</p>
+
+<h3 id="new-committers">New Committers</h3>
+
+<div class="row">
+ <div class="col-lg-3">
+ <div class="text-center">
+ <img class="img-circle"
src="https://avatars3.githubusercontent.com/u/4471524?s=400&v=4" width="90"
height="90" />
+ <p>Benchao Li</p>
+ </div>
+ </div>
+ <div class="col-lg-3">
+ <div class="text-center">
+ <img class="img-circle"
src="https://avatars0.githubusercontent.com/u/6509172?s=400&v=4" width="90"
height="90" />
+ <p>Xintong Song</p>
+ </div>
+ </div>
+</div>
+
+<hr />
+
+<h1 id="the-bigger-picture">The Bigger Picture</h1>
+
+<h2 id="flink-forward-global-virtual-conference-2020">Flink Forward Global
Virtual Conference 2020</h2>
+
+<p>After a first successful <a
href="https://www.youtube.com/playlist?list=PLDX4T_cnKjD0ngnBSU-bYGfgVv17MiwA7">virtual
conference</a> last April, Flink Forward will be hosting a second free virtual
edition on October 19-22. This time around, the conference will feature two
days of hands-on training and two full days of conference talks!</p>
+
+<p>Got a Flink story to share? Maybe your recent adventures with Stateful
Functions? The <a
href="https://www.flink-forward.org/global-2020/call-for-presentations">Call
for Presentations is now open</a> and accepting submissions from the community
until <strong>June 19th, 11:59 PM CEST</strong>.</p>
+
+<div style="line-height:60%;">
+ <br />
+</div>
+
+<center>
+<img
src="/img/blog/2020-06-10-community-update/FlinkForward_Banner_CFP_Global_2020.png"
width="600px" alt="Flink Forward Global 2020" />
+</center>
+
+<div style="line-height:60%;">
+ <br />
+</div>
+
+<hr />
+
+<h2 id="google-season-of-docs-2020">Google Season of Docs 2020</h2>
+
+<p>In the last update, we announced that Flink was applying to <a
href="https://developers.google.com/season-of-docs">Google Season of Docs
(GSoD)</a> again this year. The good news: we’ve made it into the shortlist of
accepted projects! This represents an invaluable opportunity for the Flink
community to collaborate with technical writers to improve the Table API &
SQL documentation. We’re honored to have seen a great number of people reach
out over the last couple of weeks, and loo [...]
+
+<p>If you’re interested in learning more about our project idea or want to get
involved in GSoD as a technical writer, check out the <a
href="https://flink.apache.org/news/2020/05/04/season-of-docs.html">announcement
blogpost</a> and <a
href="https://developers.google.com/season-of-docs/docs/tech-writer-application-hints">submit
your application</a>. The deadline for GSoD applications is <strong>July 9th,
18:00 UTC</strong>.</p>
+
+<hr />
+
+<p>If you’d like to keep a closer eye on what’s happening in the community,
subscribe to the Flink <a
href="https://flink.apache.org/community.html#mailing-lists">@community mailing
list</a> to get fine-grained weekly updates, upcoming event announcements and
more.</p>
+
+ </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> · <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 f85b7f1..d89be9a 100644
--- a/content/zh/index.html
+++ b/content/zh/index.html
@@ -565,6 +565,9 @@
<dl>
+ <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>
+
<dt> <a href="/news/2020/06/09/release-statefun-2.1.0.html">Stateful
Functions 2.1.0 Release Announcement</a></dt>
<dd><p>The Apache Flink community is happy to announce the release of
Stateful Functions (StateFun) 2.1.0! This release introduces new features
around state expiration and performance improvements for co-located
deployments, as well as other important changes that improve the stability and
testability of the project. As the community around StateFun grows, the release
cycle will follow this pattern of smaller and more frequent releases to
incorporate user feedback and allow for f [...]
@@ -580,11 +583,6 @@
<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>
-
- <dt> <a href="/news/2020/04/24/release-1.9.3.html">Apache Flink 1.9.3
Released</a></dt>
- <dd><p>The Apache Flink community released the third bugfix version of
the Apache Flink 1.9 series.</p>
-
-</dd>
</dl>