
<!DOCTYPE html>
<html lang="en" dir=ZgotmplZ>

<head>
  


<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<script src="/bootstrap/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" type="text/css" href="/font-awesome/css/font-awesome.min.css">
<script src="/js/anchor.min.js"></script>
<script src="/js/flink.js"></script>
<link rel="canonical" href="https://flink.apache.org/2020/09/04/flink-community-update-august20/">

  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Ah, so much for a quiet August month. This time around, we bring you some new Flink Improvement Proposals (FLIPs), a preview of the upcoming Flink Stateful Functions 2.2 release and a look into how far Flink has come in comparison to 2019.
The Past Month in Flink # Flink Releases # Getting Ready for Flink Stateful Functions 2.2 # The details of the next release of Stateful Functions are under discussion in this @dev mailing list thread, and the feature freeze is set for September 10th — so, you can expect Stateful Functions 2.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Flink Community Update - August&#39;20" />
<meta property="og:description" content="Ah, so much for a quiet August month. This time around, we bring you some new Flink Improvement Proposals (FLIPs), a preview of the upcoming Flink Stateful Functions 2.2 release and a look into how far Flink has come in comparison to 2019.
The Past Month in Flink # Flink Releases # Getting Ready for Flink Stateful Functions 2.2 # The details of the next release of Stateful Functions are under discussion in this @dev mailing list thread, and the feature freeze is set for September 10th — so, you can expect Stateful Functions 2." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2020/09/04/flink-community-update-august20/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2020-09-04T08:00:00+00:00" />
<meta property="article:modified_time" content="2020-09-04T08:00:00+00:00" />
<title>Flink Community Update - August&#39;20 | Apache Flink</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
<script defer src="/en.search.min.2698f0d1b683dae4d6cb071668b310a55ebcf1c48d11410a015a51d90105b53e.js" integrity="sha256-Jpjw0baD2uTWywcWaLMQpV688cSNEUEKAVpR2QEFtT4="></script>
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->

  <meta name="generator" content="Hugo 0.124.1">

    
    <script>
      var _paq = window._paq = window._paq || [];
       
       
      _paq.push(['disableCookies']);
       
      _paq.push(["setDomains", ["*.flink.apache.org","*.nightlies.apache.org/flink"]]);
      _paq.push(['trackPageView']);
      _paq.push(['enableLinkTracking']);
      (function() {
        var u="//analytics.apache.org/";
        _paq.push(['setTrackerUrl', u+'matomo.php']);
        _paq.push(['setSiteId', '1']);
        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
      })();
    </script>
    
</head>

<body dir=ZgotmplZ>
  


<header>
  <nav class="navbar navbar-expand-xl">
    <div class="container-fluid">
      <a class="navbar-brand" href="/">
        <img src="/img/logo/png/100/flink_squirrel_100_color.png" alt="Apache Flink" height="47" width="47" class="d-inline-block align-text-middle">
        <span>Apache Flink</span>
      </a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <i class="fa fa-bars navbar-toggler-icon"></i>
      </button>
      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav">
          





    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">About</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-architecture/">Architecture</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-applications/">Applications</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/flink-operations/">Operations</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/use-cases/">Use Cases</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/powered-by/">Powered By</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/roadmap/">Roadmap</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/community/">Community & Project Info</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/security/">Security</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/what-is-flink/special-thanks/">Special Thanks</a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Getting Started</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/try-flink/local_installation/">With Flink<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/docs/try-flink-kubernetes-operator/quick-start/">With Flink Kubernetes Operator<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/get-started/introduction/">With Flink CDC<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/docs/try-flink-ml/quick-start/">With Flink ML<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/getting-started/project-setup.html">With Flink Stateful Functions<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/learn-flink/overview/">Training Course<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Documentation</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/">Flink 1.19 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-master/">Flink Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/">Kubernetes Operator 1.8 (latest)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main">Kubernetes Operator Main (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable">CDC 3.0 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-master">CDC Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/">ML 2.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-master">ML Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/">Stateful Functions 3.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-master">Stateful Functions Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
    </a>
  

          </li>
        
      </ul>
    </li>
  

    
      
  
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">How to Contribute</a>
      <ul class="dropdown-menu">
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/overview/">Overview</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/contribute-code/">Contribute Code</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/reviewing-prs/">Review Pull Requests</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/code-style-and-quality-preamble/">Code Style and Quality Guide</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/contribute-documentation/">Contribute Documentation</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/documentation-style-guide/">Documentation Style Guide</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/improve-website/">Contribute to the Website</a>
  

          </li>
        
          <li>
            
  
    <a class="dropdown-item" href="/how-to-contribute/getting-help/">Getting Help</a>
  

          </li>
        
      </ul>
    </li>
  

    


    
      
  
    <li class="nav-item">
      
  
    <a class="nav-link" href="/posts/">Flink Blog</a>
  

    </li>
  

    
      
  
    <li class="nav-item">
      
  
    <a class="nav-link" href="/downloads/">Downloads</a>
  

    </li>
  

    


    









        </ul>
        <div class="book-search">
          <div class="book-search-spinner hidden">
            <i class="fa fa-refresh fa-spin"></i>
          </div>
          <form class="search-bar d-flex" onsubmit="return false;"su>
            <input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/">
            <i class="fa fa-search search"></i>
            <i class="fa fa-circle-o-notch fa-spin spinner"></i>
          </form>
          <div class="book-search-spinner hidden"></div>
          <ul id="book-search-results"></ul>
        </div>
      </div>
    </div>
  </nav>
  <div class="navbar-clearfix"></div>
</header>
 
  
      <main class="flex">
        <section class="container book-page">
          
<article class="markdown">
    <h1>
        <a href="/2020/09/04/flink-community-update-august20/">Flink Community Update - August&#39;20</a>
    </h1>
    


  September 4, 2020 -



  Marta Paes

  <a href="https://twitter.com/morsapaes">(@morsapaes)</a>
  



    <p><p>Ah, so much for a quiet August month. This time around, we bring you some new Flink Improvement Proposals (FLIPs), a preview of the upcoming <a href="//nightlies.apache.org/flink/flink-statefun-docs-master/">Flink Stateful Functions</a> 2.2 release and a look into how far Flink has come in comparison to 2019.</p>
<h1 id="the-past-month-in-flink">
  The Past Month in Flink
  <a class="anchor" href="#the-past-month-in-flink">#</a>
</h1>
<h2 id="flink-releases">
  Flink Releases
  <a class="anchor" href="#flink-releases">#</a>
</h2>
<h3 id="getting-ready-for-flink-stateful-functions-22">
  Getting Ready for Flink Stateful Functions 2.2
  <a class="anchor" href="#getting-ready-for-flink-stateful-functions-22">#</a>
</h3>
<p>The details of the next release of <a href="//nightlies.apache.org/flink/flink-statefun-docs-master/">Stateful Functions</a> are under discussion in <a href="http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/Next-Stateful-Functions-Release-td44063.html">this @dev mailing list thread</a>, and the feature freeze is set for <strong>September 10th</strong> — so, you can expect Stateful Functions 2.2 to be released soon after! Some of the most relevant features in the upcoming release are:</p>
<ul>
<li>
<p><strong>DataStream API interoperability</strong>, allowing users to embed Stateful Functions pipelines in regular <a href="//nightlies.apache.org/flink/flink-docs-stable/dev/datastream_api.html">DataStream API</a> programs with <code>DataStream</code> ingress/egress.</p>
</li>
<li>
<p><strong>Fine-grained control over state</strong> for remote functions, including the ability to configure different state expiration modes for each individual function.</p>
</li>
</ul>
<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 looking for <a href="https://github.com/apache/flink-statefun#contributing">new contributors</a>!</p>
<h3 id="flink-1102">
  Flink 1.10.2
  <a class="anchor" href="#flink-1102">#</a>
</h3>
<p>The community has announced the second patch version to cover some outstanding issues in Flink 1.10. You can find a detailed list with all the improvements and bugfixes that went into Flink 1.10.2 in the <a href="https://flink.apache.org/news/2020/08/25/release-1.10.2.html">announcement blogpost</a>.</p>
<hr>
<h2 id="new-flink-improvement-proposals-flips">
  New Flink Improvement Proposals (FLIPs)
  <a class="anchor" href="#new-flink-improvement-proposals-flips">#</a>
</h2>
<p>The number of FLIPs being created and discussed in the @dev mailing list is growing week over week, as the Flink 1.12 release takes form and some longer-term efforts are kicked-off. Below are some of the new FLIPs to keep an eye out for!</p>
<table class="table table-bordered">
   <thead>
    <tr>
      <th><center>#</center></th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=158866741">FLIP-131</a></td>
        <td><ul>
        <li><b>Consolidate User-Facing APIs and Deprecate the DataSet API</b></li>
        <p>The community proposes to deprecate the DataSet API in favor of the Table API/SQL and the DataStream API, in the long run. For this to be feasible, both APIs first need to be <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=158866741#FLIP131:ConsolidatetheuserfacingDataflowSDKs/APIs(anddeprecatetheDataSetAPI)-ProposedChanges">adapted and expanded</a> to support the additional use cases currently covered by the DataSet API.</p>
        <p> The first discussion to branch out of this "umbrella" FLIP is around support for a batch execution mode in the DataStream API (<a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-134%3A+Semantics+of+Bounded+Applications+on+the+DataStream+API">FLIP-134</a>).</p>
      </ul>
      </td>
    </tr>
    <tr>
      <td><a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-135+Approximate+Task-Local+Recovery">FLIP-135</a></td>
        <td><ul>
        <li><b>Approximate Task-Local Recovery</b></li>
        <p>To better accommodate recovery scenarios where a certain amount of data loss is tolerable, but a full pipeline restart is not desirable, the community plans to introduce a new failover strategy that allows to restart only the failed task(s). Approximate task-local recovery will allow users to trade consistency for fast failure recovery, which is handy for use cases like online training.</p>
      </ul>
      </td>
    </tr>
    <tr>
      <td><a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-136%3A++Improve+interoperability+between+DataStream+and+Table+API">FLIP-136</a></td>
        <td><ul>
        <li><b>Improve the interoperability between DataStream and Table API</b></li>
        <p>The Table API has seen a great deal of refactoring and new features in recent releases, but the interfaces to and from the DataStream API haven't been updated accordingly. The work in this FLIP will cover multiple known gaps to improve interoperability and expose important functionality also to the DataStream API (e.g. changelog handling).</p>
      </ul>
      </td>
    </tr>
    <tr>
      <td><a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-139%3A+General+Python+User-Defined+Aggregate+Function+Support+on+Table+API">FLIP-139</a></td>
        <td><ul>
        <li><b>Support Stateful Python UDFs</b></li>
        <p>Python UDFs have been supported in PyFlink <a href="https://flink.apache.org/news/2020/02/11/release-1.10.0.html#pyflink-support-for-native-user-defined-functions-udfs">since 1.10</a>, but were so far limited to stateless functions. The community is now looking to introduce stateful aggregate functions (UDAFs) in the Python Table API.</p>
        <p><b>Note: </b>Pandas UDAFs are covered in a separate proposal (<a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-137%3A+Support+Pandas+UDAF+in+PyFlink">FLIP-137</a>).</p>
      </ul>
      </td>
    </tr>
  </tbody>
</table>
<p>For a complete overview of the development threads coming up in the project, check the <a href="https://cwiki.apache.org/confluence/display/FLINK/1.12&#43;Release">Flink 1.12 Release Wiki</a> and follow the feature discussions in the <a href="https://lists.apache.org/list.html?dev@flink.apache.org">@dev mailing list</a>.</p>
<h2 id="new-committers-and-pmc-members">
  New Committers and PMC Members
  <a class="anchor" href="#new-committers-and-pmc-members">#</a>
</h2>
<p>The Apache Flink community has welcomed <strong>1 new PMC Member</strong> and <strong>1 new Committer</strong> since the last update. Congratulations!</p>
<h3 id="new-pmc-members">
  New PMC Members
  <a class="anchor" href="#new-pmc-members">#</a>
</h3>
<div class="row">
  <div class="col-lg-3">
    <div class="text-center">
      <img class="img-circle" src="https://avatars3.githubusercontent.com/u/5466492?s=400&u=7e01cfb0dd0e0dc57d181b986a379027bba48ec4&v=4" width="90" height="90">
      <p><a href="https://github.com/dianfu">Dian Fu</a></p>
    </div>
  </div>
</div>
<h3 id="new-committers">
  New Committers
  <a class="anchor" href="#new-committers">#</a>
</h3>
<div class="row">
  <div class="col-lg-3">
    <div class="text-center">
      <img class="img-circle" src="https://avatars3.githubusercontent.com/u/43608?s=400&v=4" width="90" height="90">
      <p><a href="https://twitter.com/alpinegizmo">David Anderson</a></p>
    </div>
  </div>
</div>
<hr>
<h1 id="the-bigger-picture">
  The Bigger Picture
  <a class="anchor" href="#the-bigger-picture">#</a>
</h1>
<h2 id="flink-in-2019-the-aftermath">
  Flink in 2019: the Aftermath
  <a class="anchor" href="#flink-in-2019-the-aftermath">#</a>
</h2>
<p>Roughly a year ago, we did a <a href="https://flink.apache.org/news/2019/09/10/community-update.html#the-bigger-picture">roundup of community stats</a> to understand how far Flink (and the Flink community) had come in 2019. Where does Flink stand now? What changed?</p>
<p>Perhaps the most impressive result this time around is the surge in activity in the @user-zh mailing list. What started as an effort to better support the chinese-speaking users early in 2019 is now even <strong>exceeding</strong> the level of activity of the (already very active) main @user mailing list. Also @dev<sup>1</sup> registered the highest ever peaks in activity in the months leading to the release of Flink 1.11!</p>
<p>For what it&rsquo;s worth, the Flink GitHub repository is now headed to <strong>15k stars</strong>, after reaching the 10k milestone last year. If you consider some other numbers we gathered previously on <a href="https://flink.apache.org/news/2020/04/01/community-update.html#a-look-into-the-flink-repository">repository activity</a> and <a href="https://flink.apache.org/news/2020/07/27/community-update.html#a-look-into-the-evolution-of-flink-releases">releases over time</a>, 2020 is looking like one for the books in the Flink community.</p>
<center>
<img src="/img/blog/2020-09-04-community-update/2020-09-04-community-update_1.png" width="1000px" alt=""/>
</center>
<p><sup>1. Excluding messages from &ldquo;<a href="mailto:jira@apache.org">jira@apache.org</a>&rdquo;.</sup></p>
<div style="line-height:60%;">
    <br>
</div>
<p>To put these numbers into perspective, the report for the financial year of 2020 from the Apache Software Foundation (ASF) features Flink as <strong>one of the most active open source projects</strong>, with mentions for:</p>
<ul>
<li>Most Active Sources: Visits (#2)</li>
</ul>
<p></p>
* Top Repositories by Number of Commits (#2)
<p></p>
* Top Most Active Apache Mailing Lists (@user (#1) and @dev (#2))
<p>For more details on where Flink and other open source projects stand in the bigger ASF picture, check out the <a href="https://www.apache.org/foundation/docs/FY2020AnnualReport.pdf">full report</a>.</p>
<h2 id="google-season-of-docs-2020-results">
  Google Season of Docs 2020 Results
  <a class="anchor" href="#google-season-of-docs-2020-results">#</a>
</h2>
<p>In a <a href="https://flink.apache.org/news/2020/06/11/community-update.html#google-season-of-docs-2020">previous update</a>, we announced that Flink had been selected for <a href="https://developers.google.com/season-of-docs">Google Season of Docs (GSoD)</a> 2020, an initiative to pair technical writers with mentors to work on documentation for open source projects. Today, we&rsquo;d like to welcome the two technical writers that will be working with the Flink community to improve the Table API/SQL documentation: <strong>Kartik Khare</strong> and <strong>Muhammad Haseeb Asif</strong>!</p>
<ul>
<li>
<p><a href="https://github.com/KKcorps">Kartik</a> is a software engineer at Walmart Labs and a regular contributor to multiple Apache projects. He is also a prolific writer on <a href="https://medium.com/@kharekartik">Medium</a> and has previously published on the <a href="https://flink.apache.org/news/2020/02/07/a-guide-for-unit-testing-in-apache-flink.html">Flink blog</a>. Last year, he contributed to Apache Airflow as part of GSoD and he&rsquo;s currently revamping the Apache Pinot documentation.</p>
</li>
<li>
<p><a href="https://www.linkedin.com/in/haseebasif/">Muhammad</a> is a dual degree master student at KTH and TU Berlin, with a focus on distributed systems and data intensive processing (in particular, performance optimization of state backends). He writes frequently about Flink on <a href="https://medium.com/@haseeb1431">Medium</a> and you can catch him at <a href="https://www.flink-forward.org/global-2020/conference-program#flinkndb---skyrocketing-stateful-capabilities-of-apache-flink">Flink Forward</a> later this year!</p>
</li>
</ul>
<p>We&rsquo;re looking forward to the next 3 months of collaboration, and would like to thank again all the applicants that invested time into their applications for GSoD with Flink.</p>
<hr>
<h1 id="upcoming-events-and-more">
  Upcoming Events (and More!)
  <a class="anchor" href="#upcoming-events-and-more">#</a>
</h1>
<p>With conference season in full swing, we&rsquo;re glad to see some great Flink content coming up in September! Here, we highlight some of the Flink talks happening soon in virtual events.</p>
<p>As usual, we also leave you with some resources to read and explore.</p>
<table class="table table-bordered">
  <thead>
    <tr>
      <th>Category</th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><span class="glyphicon glyphicon glyphicon-console" aria-hidden="true"></span> Events</td>
      <td><ul>
        <b>ODSC Europe (Sep. 17-19)</b>
        <p><a href="https://odsc.com/speakers/snakes-on-a-plane-interactive-data-exploration-with-pyflink-and-zeppelin-notebooks/">Snakes on a Plane: Interactive Data Exploration with PyFlink and Zeppelin Notebooks</a></p>
      </ul>
      <ul>
        <b>Big Data LDN (Sep. 23-24)</b>
        <p><a href="https://bigdataldn.com/">Flink SQL: From Real-Time Pattern Detection to Online View Maintenance</a></p>
      </ul>
      <ul>
        <b>ApacheCon @Home (Sep. 29-Oct.1)</b>
        <p><a href="https://www.apachecon.com/acah2020/tracks/bigdata-1.html">Integrate Apache Flink with Cloud Native Ecosystem</a></p>
        <p><a href="https://www.apachecon.com/acah2020/tracks/bigdata-1.html">Snakes on a Plane: Interactive Data Exploration with PyFlink and Zeppelin Notebooks</a></p>
        <p><a href="https://www.apachecon.com/acah2020/tracks/bigdata-1.html">Interactive Streaming Data Analytics via Flink on Zeppelin</a></p>
        <p><a href="https://www.apachecon.com/acah2020/tracks/bigdata-2.html">Flink SQL in 2020: Time to show off!</a></p>
        <p><a href="https://www.apachecon.com/acah2020/tracks/streaming.html">Change Data Capture with Flink SQL and Debezium</a></p>
        <p><a href="https://www.apachecon.com/acah2020/tracks/streaming.html">Real-Time Stock Processing With Apache NiFi, Apache Flink and Apache Kafka</a></p>
        <p><a href="https://www.apachecon.com/acah2020/tracks/iot.html">Using the Mm FLaNK Stack for Edge AI (Apache MXNet, Apache Flink, Apache NiFi, Apache Kafka, Apache Kudu)</a></p>
      </ul>
    </td>
    </tr>
    <tr>
      <td><span class="glyphicon glyphicon-fire" aria-hidden="true"></span> Blogposts</td>
        <td><ul>
        <b>Flink 1.11 Series</b>
        <li><a href="https://flink.apache.org/news/2020/08/20/flink-docker.html">The State of Flink on Docker</a></li>
        <li><a href="https://flink.apache.org/news/2020/08/06/external-resource.html">Accelerating your workload with GPU and other external resources</a></li>
        <li><a href="https://flink.apache.org/2020/08/04/pyflink-pandas-udf-support-flink.html">PyFlink: The integration of Pandas into PyFlink</a></li>
        <p></p>
        <b>Other</b>
        <li><a href="https://flink.apache.org/2020/08/19/statefun.html">Monitoring and Controlling Networks of IoT Devices with Flink Stateful Functions</a></li>
        <li><a href="https://flink.apache.org/news/2020/07/30/demo-fraud-detection-3.html">Advanced Flink Application Patterns Vol.3: Custom Window Processing</a></li>
      </ul>
      </td>
    </tr>
      <td><span class="glyphicon glyphicon glyphicon-certificate" aria-hidden="true"></span> Flink Packages</td>
      <td><ul><p><a href="https://flink-packages.org/">Flink Packages</a> is a website where you can explore (and contribute to) the Flink <br /> ecosystem of connectors, extensions, APIs, tools and integrations. <b>New in:</b> </p>
          <li><a href="https://flink-packages.org/packages/cdc-connectors"> Flink CDC Connectors</a></li>
          <li><a href="https://flink-packages.org/packages/streaming-flink-file-source">Flink File Source</a></li>
          <li><a href="https://flink-packages.org/packages/streaming-flink-dynamodb-connector">Flink DynamoDB Connector</a></li>
      </ul>
    </td>
    </tr>
  </tbody>
</table>
<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>
</p>
</article>

          



  
    
    <div class="edit-this-page">
      <p>
        <a href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications">Want to contribute translation?</a>
      </p>
      <p>
        <a href="//github.com/apache/flink-web/edit/asf-site/docs/content/posts/2020-09-04-community-update.md">
          Edit This Page<i class="fa fa-edit fa-fw"></i> 
        </a>
      </p>
    </div>

        </section>
        
          <aside class="book-toc">
            


<nav id="TableOfContents"><h3>On This Page <a href="javascript:void(0)" class="toc" onclick="collapseToc()"><i class="fa fa-times" aria-hidden="true"></i></a></h3>
  <ul>
    <li><a href="#the-past-month-in-flink">The Past Month in Flink</a>
      <ul>
        <li><a href="#flink-releases">Flink Releases</a>
          <ul>
            <li><a href="#getting-ready-for-flink-stateful-functions-22">Getting Ready for Flink Stateful Functions 2.2</a></li>
            <li><a href="#flink-1102">Flink 1.10.2</a></li>
          </ul>
        </li>
        <li><a href="#new-flink-improvement-proposals-flips">New Flink Improvement Proposals (FLIPs)</a></li>
        <li><a href="#new-committers-and-pmc-members">New Committers and PMC Members</a>
          <ul>
            <li><a href="#new-pmc-members">New PMC Members</a></li>
            <li><a href="#new-committers">New Committers</a></li>
          </ul>
        </li>
      </ul>
    </li>
    <li><a href="#the-bigger-picture">The Bigger Picture</a>
      <ul>
        <li><a href="#flink-in-2019-the-aftermath">Flink in 2019: the Aftermath</a></li>
        <li><a href="#google-season-of-docs-2020-results">Google Season of Docs 2020 Results</a></li>
      </ul>
    </li>
    <li><a href="#upcoming-events-and-more">Upcoming Events (and More!)</a></li>
  </ul>
</nav>


          </aside>
          <aside class="expand-toc hidden">
            <a class="toc" onclick="expandToc()" href="javascript:void(0)">
              <i class="fa fa-bars" aria-hidden="true"></i>
            </a>
          </aside>
        
      </main>

      <footer>
        


<div class="separator"></div>
<div class="panels">
  <div class="wrapper">
      <div class="panel">
        <ul>
          <li>
            <a href="https://flink-packages.org/">flink-packages.org</a>
          </li>
          <li>
            <a href="https://www.apache.org/">Apache Software Foundation</a>
          </li>
          <li>
            <a href="https://www.apache.org/licenses/">License</a>
          </li>
          
          
          
            
          
            
          
          

          
            
              
            
          
            
              
                <li>
                  <a  href="/zh/">
                    <i class="fa fa-globe" aria-hidden="true"></i>&nbsp;中文版
                  </a>
                </li>
              
            
          
       </ul>
      </div>
      <div class="panel">
        <ul>
          <li>
            <a href="/what-is-flink/security">Security</a-->
          </li>
          <li>
            <a href="https://www.apache.org/foundation/sponsorship.html">Donate</a>
          </li>
          <li>
            <a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
          </li>
       </ul>
      </div>
      <div class="panel icons">
        <div>
          <a href="/posts">
            <div class="icon flink-blog-icon"></div>
            <span>Flink blog</span>
          </a>
        </div>
        <div>
          <a href="https://github.com/apache/flink">
            <div class="icon flink-github-icon"></div>
            <span>Github</span>
          </a>
        </div>
        <div>
          <a href="https://twitter.com/apacheflink">
            <div class="icon flink-twitter-icon"></div>
            <span>Twitter</span>
          </a>
        </div>
      </div>
  </div>
</div>

<hr/>

<div class="container disclaimer">
  <p>The contents of this website are © 2024 Apache Software Foundation under the terms of the Apache License v2. Apache Flink, Flink, and the Flink logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p>
</div>



      </footer>
    
  </body>
</html>






