<!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.11/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.11" target="_blank">Flink 1.11 (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><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/08/20/flink-docker.html">The State of Flink on Docker</a></dt>
        <dd>This blog post gives an update on the recent developments of Flink's support for Docker.</dd>
      
        <dt> <a href="/2020/08/19/statefun.html">Monitoring and Controlling Networks of IoT Devices with Flink Stateful Functions</a></dt>
        <dd><p>In this blog post, we’ll take a look at a class of use cases that is a natural fit for <a href="https://flink.apache.org/stateful-functions.html">Flink Stateful Functions</a>: monitoring and controlling networks of connected devices (often called the “Internet of Things” (IoT)).</p>

</dd>
      
        <dt> <a href="/news/2020/08/06/external-resource.html">Accelerating your workload with GPU and other external resources</a></dt>
        <dd>This post introduces the new External Resource Framework in Flink 1.11 and take GPU as an example to show how to accelerate your workload with external resources.</dd>
      
        <dt> <a href="/2020/08/04/pyflink-pandas-udf-support-flink.html">PyFlink: The integration of Pandas into PyFlink</a></dt>
        <dd>The Apache Flink community put some great effort into integrating Pandas with PyFlink in the latest Flink version 1.11. Some of the added features include support for Pandas UDF and the conversion between Pandas DataFrame and Table. In this article, we will introduce how these functionalities work and how to use them with a step-by-step example.</dd>
      
        <dt> <a href="/news/2020/07/30/demo-fraud-detection-3.html">Advanced Flink Application Patterns Vol.3: Custom Window Processing</a></dt>
        <dd>In this series of blog posts you will learn about powerful Flink patterns for building streaming applications.</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>
