<!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: Stateful Computations over Data Streams</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>


            &nbsp;
            <!-- Second menu section aims to support Flink users -->

            <!-- Downloads -->
            <li><a href="/downloads.html">Downloads</a></li>

            <!-- Getting Started -->
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Getting Started<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.10/getting-started/index.html" target="_blank">With Flink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
                <li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/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.0" target="_blank">Flink Stateful Functions 2.0 (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><a href="/blog/"><b>Flink Blog</b></a></li>


            <!-- Flink-packages -->
            <li>
              <a href="https://flink-packages.org" target="_blank">flink-packages.org <small><span class="glyphicon glyphicon-new-window"></span></small></a>
            </li>
            &nbsp;

            <!-- Third menu section aim to support community and contributors -->

            <!-- Community -->
            <li><a href="/community.html">Community &amp; Project Info</a></li>

            <!-- Roadmap -->
            <li><a href="/roadmap.html">Roadmap</a></li>

            <!-- Contribute -->
            <li><a href="/contributing/how-to-contribute.html">How to Contribute</a></li>
            

            <!-- GitHub -->
            <li>
              <a href="https://github.com/apache/flink" target="_blank">Flink on GitHub <small><span class="glyphicon glyphicon-new-window"></span></small></a>
            </li>

            &nbsp;

            <!-- Language Switcher -->
            <li>
              
                
                  <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">
    <p class="lead">
      <strong>Apache Flink<sup>®</sup> — Stateful Computations over Data Streams</strong>
    </p>
  </div>

<div class="col-sm-12">
  <hr />
</div>

</div>

<!-- High-level architecture figure -->

<div class="row front-graphic">
  <hr />
  <img src="/img/flink-home-graphic.png" width="800px" />
</div>

<!-- Feature grid -->

<!--
<div class="row">
  <div class="col-sm-12">
    <hr />
    <h2><a href="/features.html">Features</a></h2>
  </div>
</div>
-->
<div class="row">
  <div class="col-sm-4">
    <div class="panel panel-default">
      <div class="panel-heading">
        <span class="glyphicon glyphicon-th"></span> <b>All streaming use cases</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>Event-driven Applications</li>
          <li>Stream &amp; Batch Analytics</li>
          <li>Data Pipelines &amp; ETL</li>
        </ul>
        <a href="/usecases.html">Learn more</a>
      </div>
    </div>
  </div>
  <div class="col-sm-4">
    <div class="panel panel-default">
      <div class="panel-heading">
        <span class="glyphicon glyphicon-ok"></span> <b>Guaranteed correctness</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>Exactly-once state consistency</li>
          <li>Event-time processing</li>
          <li>Sophisticated late data handling</li>
        </ul>
        <a href="/flink-applications.html#building-blocks-for-streaming-applications">Learn more</a>
      </div>
    </div>
  </div>
  <div class="col-sm-4">
    <div class="panel panel-default">
      <div class="panel-heading">
        <span class="glyphicon glyphicon glyphicon-sort-by-attributes"></span> <b>Layered APIs</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>SQL on Stream &amp; Batch Data</li>
          <li>DataStream API &amp; DataSet API</li>
          <li>ProcessFunction (Time &amp; State)</li>
        </ul>
        <a href="/flink-applications.html#layered-apis">Learn more</a>
      </div>
    </div>
  </div>
</div>
<div class="row">
  <div class="col-sm-4">
    <div class="panel panel-default">
      <div class="panel-heading">
        <span class="glyphicon glyphicon-dashboard"></span> <b>Operational Focus</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>Flexible deployment</li>
          <li>High-availability setup</li>
          <li>Savepoints</li>
        </ul>
        <a href="/flink-operations.html">Learn more</a>
      </div>
    </div>
  </div>
  <div class="col-sm-4">
    <div class="panel panel-default">
      <div class="panel-heading">
        <span class="glyphicon glyphicon-fullscreen"></span> <b>Scales to any use case</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>Scale-out architecture</li>
          <li>Support for very large state</li>
          <li>Incremental checkpointing</li>
        </ul>
        <a href="/flink-architecture.html#run-applications-at-any-scale">Learn more</a>
      </div>
    </div>
  </div>
  <div class="col-sm-4">
    <div class="panel panel-default">
      <div class="panel-heading">
        <span class="glyphicon glyphicon-flash"></span> <b>Excellent Performance</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>Low latency</li>
          <li>High throughput</li>
          <li>In-Memory computing</li>
        </ul>
        <a href="/flink-architecture.html#leverage-in-memory-performance">Learn more</a>
      </div>
    </div>
  </div>
</div>

<!-- Powered by section -->

<div class="row">
  <div class="col-sm-12">
    <br />
    <h2><a href="/poweredby.html">Powered by Flink</a></h2>

  <div class="jcarousel">
    <ul>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/alibaba-logo.png" width="175" alt="Alibaba" />
          </a></div>

        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/aws-logo.png" width="175" alt="AWS" />
          </a></div>
            
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/capital-one-logo.png" width="175" alt="Capital One" />
          </a></div>
         
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/uber-logo.png" width="175" alt="Uber" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/bettercloud-logo.png" width="175" alt="BetterCloud" />
          </a></div>
         
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/bouygues-logo.jpg" width="175" alt="Bouygues" />
          </a></div>
         
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/comcast-logo.png" width="175" alt="Comcast" />
          </a></div>
        
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/criteo-logo.png" width="175" alt="Criteo" />
          </a></div>
        
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/didi-logo.png" width="175" alt="Didi" />
          </a></div>

        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/dtrb-logo.png" width="175" alt="Drivetribe" />
          </a></div>
        
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/ebay-logo.png" width="175" alt="Ebay" />
          </a></div>
        
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/ericsson-logo.png" width="175" alt="Ericsson" />
          </a></div>
         
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/gojek-logo.png" width="175" alt="Gojek" />
          </a></div>
         
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/huawei-logo.png" width="175" alt="Huawei" />
          </a></div>
        
        </li>       
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/lyft-logo.png" width="175" alt="Lyft" />
          </a></div>
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/king-logo.png" width="175" alt="King" />
          </a></div>
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/klaviyo-logo.png" width="175" alt="Klaviyo" />
          </a></div>
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/kuaishou-logo.jpg" width="175" alt="Kuaishou" />
          </a></div>
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/mediamath-logo.png" width="175" alt="MediaMath" />
          </a></div>
        
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/mux-logo.png" width="175" alt="Mux" />
          </a></div>        
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/oppo-logo.png" width="175" alt="OPPO" />
          </a></div>

        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/otto-group-logo.png" width="175" alt="Otto Group" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/ovh-logo.png" width="175" alt="OVH" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/pinterest-logo.png" width="175" alt="Pinterest" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/razorpay-logo.png" width="175" alt="Razorpay" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/researchgate-logo.png" width="175" alt="ResearchGate" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/sktelecom-logo.png" width="175" alt="SK telecom" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/telefonica-next-logo.png" width="175" alt="Telefonica Next" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/tencent-logo.png" width="175" alt="Tencent" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/vip-logo.png" width="175" alt="Vip" />
          </a></div>

        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/xiaomi-logo.png" width="175" alt="Xiaomi" />
          </a></div>

        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/yelp-logo.png" width="175" alt="Yelp" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/poweredby.html">
            <img src="/img/poweredby/zalando-logo.jpg" width="175" alt="Zalando" />
          </a></div>
          
        </li>
    </ul>
  </div>

  <a href="#" class="jcarousel-control-prev" data-jcarouselcontrol="true"><span class="glyphicon glyphicon-chevron-left"></span></a>
  <a href="#" class="jcarousel-control-next" data-jcarouselcontrol="true"><span class="glyphicon glyphicon-chevron-right"></span></a>

  </div>

</div>

<!-- Events section -->
<div class="row">

<div class="col-sm-12">
  <hr />
</div>

<div class="col-sm-3">

  <h2><a>Upcoming Events</a></h2>

</div>
<div class="col-sm-9">
  <!-- Flink Forward -->
  <a href="https://flink-forward.org" target="_blank">
    <img style="width: 200px; padding-right: 30px" src="/img/flink-forward.png" alt="Flink Forward" />
  </a>
  <!-- ApacheCon -->
  <a href="https://www.apache.org/events/current-event" target="_blank">
    <img src="https://www.apache.org/events/current-event-234x60.png" alt="ApacheCon" />
  </a>
</div>

</div>

<!-- Updates section -->

<div class="row">

<div class="col-sm-12">
  <hr />
</div>

<div class="col-sm-3">

  <h2><a href="/blog">Latest Blog Posts</a></h2>

</div>

<div class="col-sm-9">

  <dl>
      
        <dt> <a href="/news/2020/05/12/release-1.10.1.html">Apache Flink 1.10.1 Released</a></dt>
        <dd><p>The Apache Flink community released the first bugfix version of the Apache Flink 1.10 series.</p>

</dd>
      
        <dt> <a href="/news/2020/05/07/community-update.html">Flink Community Update - May'20</a></dt>
        <dd>Can you smell it? It’s release month! This time around, we’re warming up for Flink 1.11 and peeping back to the past month in the Flink community — with the release of Stateful Functions 2.0, a new self-paced Flink training and some efforts to improve the Flink documentation experience.</dd>
      
        <dt> <a href="/news/2020/05/04/season-of-docs.html">Applying to Google Season of Docs 2020</a></dt>
        <dd>The Flink community is thrilled to share that the project is applying again to Google Season of Docs (GSoD) this year! If you’re unfamiliar with the program, GSoD is a great initiative organized by Google Open Source to pair technical writers with mentors to work on documentation for open source projects. Does working shoulder to shoulder with the Flink community on documentation sound exciting? We’d love to hear from you!</dd>
      
        <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>
      
        <dt> <a href="/news/2020/04/21/memory-management-improvements-flink-1.10.html">Memory Management Improvements with Apache Flink 1.10</a></dt>
        <dd>This post discusses the recent changes to the memory model of the Task Managers and configuration options for your Flink applications in Flink 1.10.</dd>
    
  </dl>

</div>

<!-- Scripts section -->

<script type="text/javascript" src="/js/jquery.jcarousel.min.js"></script>

<script type="text/javascript">

  $(window).load(function(){
   $(function() {
        var jcarousel = $('.jcarousel');

        jcarousel
            .on('jcarousel:reload jcarousel:create', function () {
                var carousel = $(this),
                    width = carousel.innerWidth();

                if (width >= 600) {
                    width = width / 4;
                } else if (width >= 350) {
                    width = width / 3;
                }

                carousel.jcarousel('items').css('width', Math.ceil(width) + 'px');
            })
            .jcarousel({
                wrap: 'circular',
                autostart: true
            });

        $('.jcarousel-control-prev')
            .jcarouselControl({
                target: '-=1'
            });

        $('.jcarousel-control-next')
            .jcarouselControl({
                target: '+=1'
            });

        $('.jcarousel-pagination')
            .on('jcarouselpagination:active', 'a', function() {
                $(this).addClass('active');
            })
            .on('jcarouselpagination:inactive', 'a', function() {
                $(this).removeClass('active');
            })
            .on('click', function(e) {
                e.preventDefault();
            })
            .jcarouselPagination({
                perPage: 1,
                item: function(page) {
                    return '<a href="#' + page + '">' + page + '</a>';
                }
            });
    });
  });

</script>
</div>

      </div>
    </div>

    <hr />

    <div class="row">
      <div class="footer text-center col-sm-12">
        <p>Copyright © 2014-2019 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
        <p>Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
        <p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a href="/blog/feed.xml">RSS feed</a></p>
      </div>
    </div>
    </div><!-- /.container -->

    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.matchHeight/0.7.0/jquery.matchHeight-min.js"></script>
    <script src="/js/codetabs.js"></script>
    <script src="/js/stickysidebar.js"></script>

    <!-- Google Analytics -->
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

      ga('create', 'UA-52545728-1', 'auto');
      ga('send', 'pageview');
    </script>
  </body>
</html>
