
<!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/04/13/announcing-flink-0.9.0-milestone1-preview-release/">

  <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-milestone-1 release. The release is a preview of the upcoming 0.9.0 release. It contains many new features which will be available in the upcoming 0.9 release. Interested users are encouraged to try it out and give feedback. As the version number indicates, this release is a preview release that contains known issues.
You can download the release here and check out the latest documentation here.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Announcing Flink 0.9.0-milestone1 preview release" />
<meta property="og:description" content="The Apache Flink community is pleased to announce the availability of the 0.9.0-milestone-1 release. The release is a preview of the upcoming 0.9.0 release. It contains many new features which will be available in the upcoming 0.9 release. Interested users are encouraged to try it out and give feedback. As the version number indicates, this release is a preview release that contains known issues.
You can download the release here and check out the latest documentation here." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2015/04/13/announcing-flink-0.9.0-milestone1-preview-release/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2015-04-13T10:00:00+00:00" />
<meta property="article:modified_time" content="2015-04-13T10:00:00+00:00" />
<title>Announcing Flink 0.9.0-milestone1 preview release | 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/04/13/announcing-flink-0.9.0-milestone1-preview-release/">Announcing Flink 0.9.0-milestone1 preview release</a>
    </h1>
    


  April 13, 2015 -





    <p><p>The Apache Flink community is pleased to announce the availability of
the 0.9.0-milestone-1 release. The release is a preview of the
upcoming 0.9.0 release. It contains many new features which will be
available in the upcoming 0.9 release. Interested users are encouraged
to try it out and give feedback. As the version number indicates, this
release is a preview release that contains known issues.</p>
<p>You can download the release
<a href="http://flink.apache.org/downloads.html#preview">here</a> and check out the
latest documentation
<a href="//nightlies.apache.org/flink/flink-docs-master/">here</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="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>Check out the Table guide for Java and Scala
<a href="//nightlies.apache.org/flink/flink-docs-master/apis/batch/libs/table.html">here</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-master/apis/batch/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. Check
out the Gelly guide
<a href="//nightlies.apache.org/flink/flink-docs-master/apis/batch/libs/gelly.html">here</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 estimators,
makes it easy to quickly set up a data processing pipeline and to get
your job done.</p>
<p>Flink distinguishes between transformers and learners. 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. Learners 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
learners to do multiple tasks. The library supports multiple linear
regression using a stochastic gradient implementation 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>
<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>Get started with Flink on Tez
<a href="//nightlies.apache.org/flink/flink-docs-master/setup/flink_on_tez.html">here</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="exactly-once-processing-on-kafka-streaming-sources">
  Exactly-once processing on Kafka Streaming Sources
  <a class="anchor" href="#exactly-once-processing-on-kafka-streaming-sources">#</a>
</h3>
<p>This release introduces stream processing with exacly-once delivery
guarantees for Flink streaming programs that analyze streaming sources
that are persisted by <a href="http://kafka.apache.org">Apache Kafka</a>. The
system is internally tracking the Kafka offsets to ensure that Flink
can pick up data from Kafka where it left off in case of an failure.</p>
<p>Read
<a href="//nightlies.apache.org/flink/flink-docs-master/apis/streaming_guide.html#apache-kafka">here</a>
on how to use the persistent Kafka source.</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 “fire and forget” 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>See the YARN docs
<a href="//nightlies.apache.org/flink/flink-docs-master/setup/yarn_setup.html">here</a>.</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 &ldquo;parallelism&rdquo;</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>
</ul>
</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-04-13-release-0.9.0-milestone1.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="#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="#exactly-once-processing-on-kafka-streaming-sources">Exactly-once processing on Kafka Streaming Sources</a></li>
            <li><a href="#improved-yarn-support">Improved YARN support</a></li>
          </ul>
        </li>
        <li><a href="#more-improvements-and-fixes">More Improvements and Fixes</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>






