
<!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/2015/06/24/announcing-apache-flink-0.9.0/">

  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="The Apache Flink community is pleased to announce the availability of the 0.9.0 release. The release is the result of many months of hard work within the Flink community. It contains many new features and improvements which were previewed in the 0.9.0-milestone1 release and have been polished since then. This is the largest Flink release so far.
Download the release and check out the documentation. Feedback through the Flink mailing lists is, as always, very welcome!">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Announcing Apache Flink 0.9.0" />
<meta property="og:description" content="The Apache Flink community is pleased to announce the availability of the 0.9.0 release. The release is the result of many months of hard work within the Flink community. It contains many new features and improvements which were previewed in the 0.9.0-milestone1 release and have been polished since then. This is the largest Flink release so far.
Download the release and check out the documentation. Feedback through the Flink mailing lists is, as always, very welcome!" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2015/06/24/announcing-apache-flink-0.9.0/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2015-06-24T14:00:00+00:00" />
<meta property="article:modified_time" content="2015-06-24T14:00:00+00:00" />
<title>Announcing Apache Flink 0.9.0 | 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="/2015/06/24/announcing-apache-flink-0.9.0/">Announcing Apache Flink 0.9.0</a>
    </h1>
    


  June 24, 2015 -





    <p><p>The Apache Flink community is pleased to announce the availability of the 0.9.0 release. The release is the result of many months of hard work within the Flink community. It contains many new features and improvements which were previewed in the 0.9.0-milestone1 release and have been polished since then. This is the largest Flink release so far.</p>
<p><a href="http://flink.apache.org/downloads.html">Download the release</a> and check out <a href="//nightlies.apache.org/flink/flink-docs-release-0.9/">the documentation</a>. Feedback through the Flink<a href="http://flink.apache.org/community.html#mailing-lists"> mailing lists</a> is, as always, very welcome!</p>
<h2 id="new-features">
  New Features
  <a class="anchor" href="#new-features">#</a>
</h2>
<h3 id="exactly-once-fault-tolerance-for-streaming-programs">
  Exactly-once Fault Tolerance for streaming programs
  <a class="anchor" href="#exactly-once-fault-tolerance-for-streaming-programs">#</a>
</h3>
<p>This release introduces a new fault tolerance mechanism for streaming dataflows. The new checkpointing algorithm takes data sources and also user-defined state into account and recovers failures such that all records are reflected exactly once in the operator states.</p>
<p>The checkpointing algorithm is lightweight and driven by barriers that are periodically injected into the data streams at the sources. As such, it has an extremely low coordination overhead and is able to sustain very high throughput rates. User-defined state can be automatically backed up to configurable storage by the fault tolerance mechanism.</p>
<p>Please refer to <a href="//nightlies.apache.org/flink/flink-docs-release-0.9/apis/streaming_guide.html#stateful-computation">the documentation on stateful computation</a> for details in how to use fault tolerant data streams with Flink.</p>
<p>The fault tolerance mechanism requires data sources that can replay recent parts of the stream, such as <a href="http://kafka.apache.org">Apache Kafka</a>. Read more <a href="//nightlies.apache.org/flink/flink-docs-release-0.9/apis/streaming_guide.html#apache-kafka">about how to use the persistent Kafka source</a>.</p>
<h3 id="table-api">
  Table API
  <a class="anchor" href="#table-api">#</a>
</h3>
<p>Flink’s new Table API offers a higher-level abstraction for interacting with structured data sources. The Table API allows users to execute logical, SQL-like queries on distributed data sets while allowing them to freely mix declarative queries with regular Flink operators. Here is an example that groups and joins two tables:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-scala" data-lang="scala"><span class="line"><span class="cl"><span class="k">val</span> <span class="n">clickCounts</span> <span class="k">=</span> <span class="n">clicks</span>
</span></span><span class="line"><span class="cl">  <span class="o">.</span><span class="n">groupBy</span><span class="o">(</span>&#39;user<span class="o">).</span><span class="n">select</span><span class="o">(</span>&#39;userId<span class="o">,</span> &#39;url<span class="o">.</span><span class="n">count</span> <span class="n">as</span> &#39;count<span class="o">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">val</span> <span class="n">activeUsers</span> <span class="k">=</span> <span class="n">users</span><span class="o">.</span><span class="n">join</span><span class="o">(</span><span class="n">clickCounts</span><span class="o">)</span>
</span></span><span class="line"><span class="cl">  <span class="o">.</span><span class="n">where</span><span class="o">(</span>&#39;id <span class="o">===</span> &#39;userId <span class="o">&amp;&amp;</span> &#39;count <span class="o">&gt;</span> <span class="mi">10</span><span class="o">).</span><span class="n">select</span><span class="o">(</span>&#39;username<span class="o">,</span> &#39;count<span class="o">,</span> <span class="o">...)</span>
</span></span></code></pre></div><p>Tables consist of logical attributes that can be selected by name rather than physical Java and Scala data types. This alleviates a lot of boilerplate code for common ETL tasks and raises the abstraction for Flink programs. Tables are available for both static and streaming data sources (DataSet and DataStream APIs).</p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-0.9/libs/table.html">Check out the Table guide for Java and Scala</a>.</p>
<h3 id="gelly-graph-processing-api">
  Gelly Graph Processing API
  <a class="anchor" href="#gelly-graph-processing-api">#</a>
</h3>
<p>Gelly is a Java Graph API for Flink. It contains a set of utilities for graph analysis, support for iterative graph processing and a library of graph algorithms. Gelly exposes a Graph data structure that wraps DataSets for vertices and edges, as well as methods for creating graphs from DataSets, graph transformations and utilities (e.g., in- and out- degrees of vertices), neighborhood aggregations, iterative vertex-centric graph processing, as well as a library of common graph algorithms, including PageRank, SSSP, label propagation, and community detection.</p>
<p>Gelly internally builds on top of Flink’s<a href="//nightlies.apache.org/flink/flink-docs-release-0.9/apis/iterations.html"> delta iterations</a>. Iterative graph algorithms are executed leveraging mutable state, achieving similar performance with specialized graph processing systems.</p>
<p>Gelly will eventually subsume Spargel, Flink’s Pregel-like API.</p>
<p>Note: The Gelly library is still in beta status and subject to improvements and heavy performance tuning.</p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-0.9/libs/gelly_guide.html">Check out the Gelly guide</a>.</p>
<h3 id="flink-machine-learning-library">
  Flink Machine Learning Library
  <a class="anchor" href="#flink-machine-learning-library">#</a>
</h3>
<p>This release includes the first version of Flink’s Machine Learning library. The library’s pipeline approach, which has been strongly inspired by scikit-learn’s abstraction of transformers and predictors, makes it easy to quickly set up a data processing pipeline and to get your job done.</p>
<p>Flink distinguishes between transformers and predictors. Transformers are components which transform your input data into a new format allowing you to extract features, cleanse your data or to sample from it. Predictors on the other hand constitute the components which take your input data and train a model on it. The model you obtain from the learner can then be evaluated and used to make predictions on unseen data.</p>
<p>Currently, the machine learning library contains transformers and predictors to do multiple tasks. The library supports multiple linear regression using stochastic gradient descent to scale to large data sizes. Furthermore, it includes an alternating least squares (ALS) implementation to factorizes large matrices. The matrix factorization can be used to do collaborative filtering. An implementation of the communication efficient distributed dual coordinate ascent (CoCoA) algorithm is the latest addition to the library. The CoCoA algorithm can be used to train distributed soft-margin SVMs.</p>
<p>Note: The ML library is still in beta status and subject to improvements and heavy performance tuning.</p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-0.9/libs/ml/">Check out FlinkML</a></p>
<h3 id="flink-on-yarn-leveraging-apache-tez">
  Flink on YARN leveraging Apache Tez
  <a class="anchor" href="#flink-on-yarn-leveraging-apache-tez">#</a>
</h3>
<p>We are introducing a new execution mode for Flink to be able to run restricted Flink programs on top of<a href="http://tez.apache.org"> Apache Tez</a>. This mode retains Flink’s APIs, optimizer, as well as Flink’s runtime operators, but instead of wrapping those in Flink tasks that are executed by Flink TaskManagers, it wraps them in Tez runtime tasks and builds a Tez DAG that represents the program.</p>
<p>By using Flink on Tez, users have an additional choice for an execution platform for Flink programs. While Flink’s distributed runtime favors low latency, streaming shuffles, and iterative algorithms, Tez focuses on scalability and elastic resource usage in shared YARN clusters.</p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-0.9/setup/flink_on_tez.html">Get started with Flink on Tez</a>.</p>
<h3 id="reworked-distributed-runtime-on-akka">
  Reworked Distributed Runtime on Akka
  <a class="anchor" href="#reworked-distributed-runtime-on-akka">#</a>
</h3>
<p>Flink’s RPC system has been replaced by the widely adopted<a href="http://akka.io"> Akka</a> framework. Akka’s concurrency model offers the right abstraction to develop a fast as well as robust distributed system. By using Akka’s own failure detection mechanism the stability of Flink’s runtime is significantly improved, because the system can now react in proper form to node outages. Furthermore, Akka improves Flink’s scalability by introducing asynchronous messages to the system. These asynchronous messages allow Flink to be run on many more nodes than before.</p>
<h3 id="improved-yarn-support">
  Improved YARN support
  <a class="anchor" href="#improved-yarn-support">#</a>
</h3>
<p>Flink’s YARN client contains several improvements, such as a detached mode for starting a YARN session in the background, the ability to submit a single Flink job to a YARN cluster without starting a session, including a &ldquo;fire and forget&rdquo; mode. Flink is now also able to reallocate failed YARN containers to maintain the size of the requested cluster. This feature allows to implement fault-tolerant setups on top of YARN. There is also an internal Java API to deploy and control a running YARN cluster. This is being used by system integrators to easily control Flink on YARN within their Hadoop 2 cluster.</p>
<p><a href="//nightlies.apache.org/flink/flink-docs-release-0.9/setup/yarn_setup.html">See the YARN docs</a>.</p>
<h3 id="static-code-analysis-for-the-flink-optimizer-opening-the-udf-blackboxes">
  Static Code Analysis for the Flink Optimizer: Opening the UDF blackboxes
  <a class="anchor" href="#static-code-analysis-for-the-flink-optimizer-opening-the-udf-blackboxes">#</a>
</h3>
<p>This release introduces a first version of a static code analyzer that pre-interprets functions written by the user to get information about the function’s internal dataflow. The code analyzer can provide useful information about <a href="//nightlies.apache.org/flink/flink-docs-release-0.9/apis/programming_guide.html#semantic-annotations">forwarded fields</a> to Flink&rsquo;s optimizer and thus speedup job executions. It also informs if the code contains obvious mistakes. For stability reasons, the code analyzer is initially disabled by default. It can be activated through</p>
<p>ExecutionEnvironment.getExecutionConfig().setCodeAnalysisMode(&hellip;)</p>
<p>either as an assistant that gives hints during the implementation or by directly applying the optimizations that have been found.</p>
<h2 id="more-improvements-and-fixes">
  More Improvements and Fixes
  <a class="anchor" href="#more-improvements-and-fixes">#</a>
</h2>
<ul>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1605">FLINK-1605</a>: Flink is not exposing its Guava and ASM dependencies to Maven projects depending on Flink. We use the maven-shade-plugin to relocate these dependencies into our own namespace. This allows users to use any Guava or ASM version.</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1605">FLINK-1417</a>: Automatic recognition and registration of Java Types at Kryo and the internal serializers: Flink has its own type handling and serialization framework falling back to Kryo for types that it cannot handle. To get the best performance Flink is automatically registering all types a user is using in their program with Kryo.Flink also registers serializers for Protocol Buffers, Thrift, Avro and YodaTime automatically. Users can also manually register serializers to Kryo (<a href="https://issues.apache.org/jira/browse/FLINK-1399">https://issues.apache.org/jira/browse/FLINK-1399</a>)</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1296">FLINK-1296</a>: Add support for sorting very large records</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1679">FLINK-1679</a>: &ldquo;degreeOfParallelism&rdquo; methods renamed to “parallelism”</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1501">FLINK-1501</a>: Add metrics library for monitoring TaskManagers</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1760">FLINK-1760</a>: Add support for building Flink with Scala 2.11</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1648">FLINK-1648</a>: Add a mode where the system automatically sets the parallelism to the available task slots</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1622">FLINK-1622</a>: Add groupCombine operator</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1589">FLINK-1589</a>: Add option to pass Configuration to LocalExecutor</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1504">FLINK-1504</a>: Add support for accessing secured HDFS clusters in standalone mode</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1478">FLINK-1478</a>: Add strictly local input split assignment</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1512">FLINK-1512</a>: Add CsvReader for reading into POJOs.</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1461">FLINK-1461</a>: Add sortPartition operator</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1450">FLINK-1450</a>: Add Fold operator to the Streaming api</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1389">FLINK-1389</a>: Allow setting custom file extensions for files created by the FileOutputFormat</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1236">FLINK-1236</a>: Add support for localization of Hadoop Input Splits</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1179">FLINK-1179</a>: Add button to JobManager web interface to request stack trace of a TaskManager</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1105">FLINK-1105</a>: Add support for locally sorted output</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1688">FLINK-1688</a>: Add socket sink</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1436">FLINK-1436</a>: Improve usability of command line interface</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2174">FLINK-2174</a>: Allow comments in &lsquo;slaves&rsquo; file</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1698">FLINK-1698</a>: Add polynomial base feature mapper to ML library</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1697">FLINK-1697</a>: Add alternating least squares algorithm for matrix factorization to ML library</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1792">FLINK-1792</a>: FLINK-456 Improve TM Monitoring: CPU utilization, hide graphs by default and show summary only</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1672">FLINK-1672</a>: Refactor task registration/unregistration</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2001">FLINK-2001</a>: DistanceMetric cannot be serialized</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1676">FLINK-1676</a>: enableForceKryo() is not working as expected</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1959">FLINK-1959</a>: Accumulators BROKEN after Partitioning</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1696">FLINK-1696</a>: Add multiple linear regression to ML library</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1820">FLINK-1820</a>: Bug in DoubleParser and FloatParser - empty String is not casted to 0</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1985">FLINK-1985</a>: Streaming does not correctly forward ExecutionConfig to runtime</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1828">FLINK-1828</a>: Impossible to output data to an HBase table</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1952">FLINK-1952</a>: Cannot run ConnectedComponents example: Could not allocate a slot on instance</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1848">FLINK-1848</a>: Paths containing a Windows drive letter cannot be used in FileOutputFormats</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1954">FLINK-1954</a>: Task Failures and Error Handling</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2004">FLINK-2004</a>: Memory leak in presence of failed checkpoints in KafkaSource</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2132">FLINK-2132</a>: Java version parsing is not working for OpenJDK</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2098">FLINK-2098</a>: Checkpoint barrier initiation at source is not aligned with snapshotting</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2069">FLINK-2069</a>: writeAsCSV function in DataStream Scala API creates no file</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2092">FLINK-2092</a>: Document (new) behavior of print() and execute()</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2177">FLINK-2177</a>: NullPointer in task resource release</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2054">FLINK-2054</a>: StreamOperator rework removed copy calls when passing output to a chained operator</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2196">FLINK-2196</a>: Missplaced Class in flink-java SortPartitionOperator</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2191">FLINK-2191</a>: Inconsistent use of Closure Cleaner in Streaming API</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2206">FLINK-2206</a>: JobManager webinterface shows 5 finished jobs at most</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-2188">FLINK-2188</a>: Reading from big HBase Tables</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/FLINK-1781">FLINK-1781</a>: Quickstarts broken due to Scala Version Variables</p>
</li>
</ul>
<h2 id="notice">
  Notice
  <a class="anchor" href="#notice">#</a>
</h2>
<p>The 0.9 series of Flink is the last version to support Java 6. If you are still using Java 6, please consider upgrading to Java 8 (Java 7 ended its free support in April 2015).</p>
<p>Flink will require at least Java 7 in major releases after 0.9.0.</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/2015-06-24-announcing-apache-flink-0.9.0-release.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>
      <ul>
        <li><a href="#new-features">New Features</a>
          <ul>
            <li><a href="#exactly-once-fault-tolerance-for-streaming-programs">Exactly-once Fault Tolerance for streaming programs</a></li>
            <li><a href="#table-api">Table API</a></li>
            <li><a href="#gelly-graph-processing-api">Gelly Graph Processing API</a></li>
            <li><a href="#flink-machine-learning-library">Flink Machine Learning Library</a></li>
            <li><a href="#flink-on-yarn-leveraging-apache-tez">Flink on YARN leveraging Apache Tez</a></li>
            <li><a href="#reworked-distributed-runtime-on-akka">Reworked Distributed Runtime on Akka</a></li>
            <li><a href="#improved-yarn-support">Improved YARN support</a></li>
            <li><a href="#static-code-analysis-for-the-flink-optimizer-opening-the-udf-blackboxes">Static Code Analysis for the Flink Optimizer: Opening the UDF blackboxes</a></li>
          </ul>
        </li>
        <li><a href="#more-improvements-and-fixes">More Improvements and Fixes</a></li>
        <li><a href="#notice">Notice</a></li>
      </ul>
    </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>






