<!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: 数据流上的有状态计算</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="/zh/">
              <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="/zh/streamprocessing1.html">What is Stream Processing?</a></li>
            -->

            <!-- What is Flink? -->
            <li><a href="/zh/flink-architecture.html">Apache Flink 是什么?</a></li>

            

            <!-- What is Stateful Functions? -->

            <li><a href="/zh/stateful-functions.html">What is Stateful Functions?</a></li>

            <!-- Use cases -->
            <li><a href="/zh/usecases.html">应用场景</a></li>

            <!-- Powered by -->
            <li><a href="/zh/poweredby.html">Flink 用户</a></li>


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

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

            <!-- Getting Started -->
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">教程<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.10/zh/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>
              </ul>
            </li>

            <!-- Documentation -->
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">文档<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="/zh/gettinghelp.html">获取帮助</a></li>

            <!-- Blog -->
            <li><a href="/blog/"><b>Flink 博客</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="/zh/community.html">社区 &amp; 项目信息</a></li>

            <!-- Roadmap -->
            <li><a href="/zh/roadmap.html">开发计划</a></li>

            <!-- Contribute -->
            <li><a href="/zh/contributing/how-to-contribute.html">如何参与贡献</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="/">English</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> - 数据流上的有状态计算</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="/zh/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>所有流式场景</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>事件驱动应用</li>
          <li>流批分析</li>
          <li>数据管道 &amp; ETL</li>
        </ul>
        <a href="/zh/usecases.html">了解更多</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>正确性保证</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>Exactly-once 状态一致性</li>
          <li>事件时间处理</li>
          <li>成熟的迟到数据处理</li>
        </ul>
        <a href="/zh/flink-applications.html#building-blocks-for-streaming-applications">了解更多</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>分层 API</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="/zh/flink-applications.html#layered-apis">了解更多</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>聚焦运维</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>灵活部署</li>
          <li>高可用</li>
          <li>保存点</li>
        </ul>
        <a href="/zh/flink-operations.html">了解更多</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>大规模计算</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>水平扩展架构</li>
          <li>支持超大状态</li>
          <li>增量检查点机制</li>
        </ul>
        <a href="/zh/flink-architecture.html#run-applications-at-any-scale">了解更多</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>性能卓越</b>
      </div>
      <div class="panel-body">
        <ul style="font-size: small;">
          <li>低延迟</li>
          <li>高吞吐</li>
          <li>内存计算</li>
        </ul>
        <a href="/zh/flink-architecture.html#leverage-in-memory-performance">了解更多</a>
      </div>
    </div>
  </div>
</div>

<!-- Powered by section -->

<div class="row">
  <div class="col-sm-12">
    <br />
    <h2><a href="/zh/poweredby.html">Apache Flink 用户</a></h2>

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

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

        </li>
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/dtrb-logo.png" width="175" alt="Drivetribe" />
          </a></div>
        
        </li>
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/ebay-logo.png" width="175" alt="Ebay" />
          </a></div>
        
        </li>
        <li>
          <div><a href="/zh/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="/zh/poweredby.html">
            <img src="/img/poweredby/huawei-logo.png" width="175" alt="Huawei" />
          </a></div>
        
        </li>       
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/lyft-logo.png" width="175" alt="Lyft" />
          </a></div>
        </li>
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/king-logo.png" width="175" alt="King" />
          </a></div>
        </li> 
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/klaviyo-logo.png" width="175" alt="Klaviyo" />
          </a></div>
        </li>
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/kuaishou-logo.jpg" width="175" alt="Kuaishou" />
          </a></div>
        </li>
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/mediamath-logo.png" width="175" alt="MediaMath" />
          </a></div>
        
        </li>
        <li>
          <div><a href="/zh/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="/zh/poweredby.html">
            <img src="/img/poweredby/otto-group-logo.png" width="175" alt="Otto Group" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/ovh-logo.png" width="175" alt="OVH" />
          </a></div>
        </li>
        <li>
          <div><a href="/zh/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/pinterest-logo.png" width="175" alt="Pinterest" />
          </a></div>

        </li>
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/researchgate-logo.png" width="175" alt="ResearchGate" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/sktelecom-logo.png" width="175" alt="SK telecom" />
          </a></div>
                  
        </li>
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/telefonica-next-logo.png" width="175" alt="Telefonica Next" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/zh/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="/zh/poweredby.html">
            <img src="/img/poweredby/xiaomi-logo.png" width="175" alt="Xiaomi" />
          </a></div>

        </li>
        <li>
          <div><a href="/zh/poweredby.html">
            <img src="/img/poweredby/yelp-logo.png" width="175" alt="Yelp" />
          </a></div>
          
        </li>
        <li>
          <div><a href="/zh/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">最新博客列表</a></h2>

</div>

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

  <dl>
      
        <dt> <a href="/2020/04/09/pyflink-udf-support-flink.html">PyFlink: Introducing Python Support for UDFs in Flink's Table API</a></dt>
        <dd>Flink 1.10 extends its support for Python by adding Python UDFs in PyFlink. This post explains how UDFs work in PyFlink and gives some practical examples of how to use UDFs in PyFlink.</dd>
      
        <dt> <a href="/news/2020/04/07/release-statefun-2.0.0.html">Stateful Functions 2.0 - An Event-driven Database on Apache Flink</a></dt>
        <dd><p>Today, we are announcing the release of Stateful Functions (StateFun) 2.0 — the first release of Stateful Functions as part of the Apache Flink project.
This release marks a big milestone: Stateful Functions 2.0 is not only an API update, but the <strong>first version of an event-driven database</strong> that is built on Apache Flink.</p>

</dd>
      
        <dt> <a href="/news/2020/04/01/community-update.html">Flink Community Update - April'20</a></dt>
        <dd>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.</dd>
      
        <dt> <a href="/features/2020/03/27/flink-for-data-warehouse.html">Flink as Unified Engine for Modern Data Warehousing: Production-Ready Hive Integration</a></dt>
        <dd><p>In this blog post, you will learn our motivation behind the Flink-Hive integration, and how Flink 1.10 can help modernize your data warehouse.</p>

</dd>
      
        <dt> <a href="/news/2020/03/24/demo-fraud-detection-2.html">Advanced Flink Application Patterns Vol.2: Dynamic Updates of Application Logic</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>
