blob: 38577dd90819d1f05312bc2a402b000052f8295f [file] [log] [blame]
<!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: Scalable Batch and Stream Data Processing</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.3.4/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" />
<!-- 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>
<!-- Top navbar. -->
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<!-- 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/navbar-brand-logo.jpg" width="78px" height="40px"></a>
</div>
</div><!-- /.navbar-header -->
<!-- The navigation links. -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<!-- Overview -->
<li class="active"><a href="/index.html">Overview</a></li>
<!-- Quickstart -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Quickstart <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/setup_quickstart.html">Setup</a></li>
<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/java_api_quickstart.html">Java API</a></li>
<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
</ul>
</li>
<!-- Features -->
<li><a href="/features.html">Features</a></li>
<!-- Downloads -->
<li><a href="/downloads.html">Downloads</a></li>
<!-- Documentation -->
<li class="dropdown">
<a href="" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<!-- Latest stable release -->
<li role="presentation" class="dropdown-header"><strong>Latest Release</strong> (Stable)</li>
<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9">0.9.0 Documentation</a></li>
<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/java" class="active">0.9.0 Javadocs</a></li>
<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li>
<!-- Snapshot docs -->
<li class="divider"></li>
<li role="presentation" class="dropdown-header"><strong>Snapshot</strong> (Development)</li>
<li><a href="http://ci.apache.org/projects/flink/flink-docs-master">0.10 Documentation</a></li>
<li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/java" class="active">0.10 Javadocs</a></li>
<li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li>
<!-- Wiki -->
<li class="divider"></li>
<li><a href="https://cwiki.apache.org/confluence/display/FLINK/Apache+Flink+Home"><small><span class="glyphicon glyphicon-new-window"></span></small> Wiki</a></li>
</ul>
</li>
<!-- FAQ -->
<li><a href="/faq.html">FAQ</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<!-- Blog -->
<li class=" hidden-md hidden-sm"><a href="/blog/">Blog</a></li>
<li class="dropdown hidden-md hidden-sm">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Community <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<!-- Community -->
<li role="presentation" class="dropdown-header"><strong>Community</strong></li>
<li><a href="/community.html#mailing-lists">Mailing Lists</a></li>
<li><a href="/community.html#irc">IRC</a></li>
<li><a href="/community.html#stack-overflow">Stack Overflow</a></li>
<li><a href="/community.html#issue-tracker">Issue Tracker</a></li>
<li><a href="/community.html#source-code">Source Code</a></li>
<li><a href="/community.html#people">People</a></li>
<!-- Contribute -->
<li class="divider"></li>
<li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
<li><a href="/how-to-contribute.html">How to Contribute</a></li>
<li><a href="/coding-guidelines.html">Coding Guidelines</a></li>
</ul>
</li>
<li class="dropdown hidden-md hidden-sm">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Project <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<!-- Project -->
<li role="presentation" class="dropdown-header"><strong>Project</strong></li>
<li><a href="/material.html">Material</a></li>
<li><a href="https://twitter.com/apacheflink"><small><span class="glyphicon glyphicon-new-window"></span></small> Twitter</a></li>
<li><a href="https://github.com/apache/flink"><small><span class="glyphicon glyphicon-new-window"></span></small> GitHub</a></li>
<li><a href="https://cwiki.apache.org/confluence/display/FLINK/Apache+Flink+Home"><small><span class="glyphicon glyphicon-new-window"></span></small> Wiki</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container -->
</nav>
<!-- Main content. -->
<div class="container">
<div class="row">
<div class="col-sm-12"><p class="lead"><strong>Apache Flink</strong> is an open source platform for scalable batch and stream data processing.</p></div>
</div>
<div class="row">
<div class="col-sm-6">
<p><strong>Flink’s core</strong> is a <a href="features.html#unified-stream-amp-batch-processing">streaming dataflow engine</a> that provides data distribution, communication, and fault tolerance for distributed computations over data streams.</p>
<p>Flink includes <strong>several APIs</strong> for creating applications that use the Flink engine:</p>
<ol>
<li><a href="features.html#dataset-api">DataSet API</a> for static data embedded in Java, Scala, and Python,</li>
<li><a href="features.html#datastream-api">DataStream API</a> for unbounded streams embedded in Java and Scala, and</li>
<li><a href="features.html#table-api">Table API</a> with a SQL-like expression language embedded in Java and Scala.</li>
</ol>
<p>Flink also bundles <strong>libraries for domain-specific use cases</strong>:</p>
<ol>
<li><a href="features.html#machine-learning-library">Machine Learning library</a>, and</li>
<li><a href="features.html#graph-api-amp-library-gelly">Gelly</a>, a graph processing API and library.</li>
</ol>
<p>You can <strong>integrate</strong> Flink easily with other well-known open source systems both for <a href="features.html#deployment-and-integration">data input and output</a> as well as <a href="features.html#deployment-and-integration">deployment</a>.</p>
<p><strong>Check out the <a href="features.html">features</a> page to get a tour of all major Flink features.</strong></p>
</div>
<div class="col-sm-6 stack text-center">
<img src="/img/flink-stack-small.png" alt="Apache Flink Stack" width="385px" height="300px" />
</div>
</div>
<hr />
<div class="frontpage-tags">
<div class="row">
<div class="col-md-4 text-center">
<h2><span class="glyphicon glyphicon-flash"></span> <a href="features.html#fast">Fast</a></h2>
<p>State-of-the art performance exploiting in-memory processing and data streaming.</p>
</div>
<div class="col-md-4 text-center">
<h2><span class="glyphicon glyphicon-plane"></span> <a href="features.html#reliable-and-scalable">Reliable</a></h2>
<p>Flink is designed to perform very well even when the cluster's memory runs out.</p>
</div>
<div class="col-md-4 text-center">
<h2><span class="glyphicon glyphicon-cutlery"></span> <a href="features.html#expressive">Expressive</a></h2>
<p>Write beautiful, type-safe code in Java and Scala. Execute it on a cluster.</p>
</div>
</div>
<div class="row">
<div class="col-md-4 text-center">
<h2><span class="glyphicon glyphicon-send"></span> <a href="features.html#easy-to-use">Easy to use</a></h2>
<p>Few configuration parameters required. Cost-based optimizer built in.</p>
</div>
<div class="col-md-4 text-center">
<h2><span class="glyphicon glyphicon-sort"></span> <a href="features.html#reliable-and-scalable">Scalable</a></h2>
<p>Tested on clusters of 100s of machines, Google Compute Engine, and Amazon EC2.</p>
</div>
<div class="col-md-4 text-center">
<h2><span class="glyphicon glyphicon-refresh"></span> <a href="features.html#hadoop">Hadoop-compatible</a></h2>
<p>Flink runs on YARN and HDFS and has a Hadoop compatibility package.</p>
</div>
</div>
</div>
<hr />
<div class="row">
<div class="col-sm-6">
<h2 id="getting-started">Getting Started</h2>
<p>Download the <strong>latest stable release</strong> and run Flink on your machine, cluster, or cloud:</p>
<div class="text-center download-button">
<a href="downloads.html" class="btn btn-primary"><strong>Download</strong> Apache Flink 0.9.0</a>
<a href="https://github.com/apache/flink" class="btn btn-info">Apache Flink on <strong>GitHub</strong></a>
</div>
<p>The documentation contains a <a href="http://ci.apache.org/projects/flink/flink-docs-master/setup">setup guide</a> for all deployment options.</p>
<p>The <a href="http://ci.apache.org/projects/flink/flink-docs-master/apis/programming_guide.html">programming guide</a> contains all information to get you started with writing and testing your Flink programs.</p>
<p><strong>Check out the <a href="http://ci.apache.org/projects/flink/flink-docs-master">documentation</a> for the next steps.</strong></p>
</div>
<div class="col-sm-6" style="padding-bottom:1em">
<h2 id="latest-blog-posts">Latest blog posts</h2>
<ul class="list-group">
<li class="list-group-item"><span>24 Jun 2015</span> &raquo;
<a href="/news/2015/06/24/announcing-apache-flink-0.9.0-release.html">Announcing Apache Flink 0.9.0</a>
</li>
<li class="list-group-item"><span>14 May 2015</span> &raquo;
<a href="/news/2015/05/14/Community-update-April.html">April 2015 in the Flink community</a>
</li>
<li class="list-group-item"><span>11 May 2015</span> &raquo;
<a href="/news/2015/05/11/Juggling-with-Bits-and-Bytes.html">Juggling with Bits and Bytes</a>
</li>
<li class="list-group-item"><span>13 Apr 2015</span> &raquo;
<a href="/news/2015/04/13/release-0.9.0-milestone1.html">Announcing Flink 0.9.0-milestone1 preview release</a>
</li>
<li class="list-group-item"><span>07 Apr 2015</span> &raquo;
<a href="/news/2015/04/07/march-in-flink.html">March 2015 in the Flink community</a>
</li>
</ul>
<p><strong>Check out <a href="blog/">the blog</a> for all posts.</strong></p>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<h2 id="community">Community</h2>
<p>You can post questions to the Flink <a href="">community</a> on various channels. Pick the one, which suits you best:</p>
<ul>
<li>
<p><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> <strong>User mailing list</strong>. Subscribe to the mailing list by sending an empty email to user-subscribe@flink.apache.org. Once the subscription is confirmed, you can send questions to user@flink.apache.org.</p>
</li>
<li>
<p><span class="glyphicon glyphicon-search" aria-hidden="true"></span> <strong>Stack Overflow</strong>. Post your questions to <a href="http://stackoverflow.com/questions/ask/?tags=flink">Stack Overflow</a> and tag them with <a href="http://stackoverflow.com/questions/ask/?tags=flink">#flink</a>.</p>
</li>
<li>
<p><span class="glyphicon glyphicon-comment" aria-hidden="true"></span> <strong>IRC chat</strong>. The IRC channel <strong>#flink</strong> at irc.freenode.org is dedicated to Apache Flink. Join the channel and chat with the Flink community.</p>
</li>
</ul>
<p><strong>Check out <a href="community.html">the community page</a> for all community-related information. If you want to contribute, make sure to have a look at the <a href="how-to-contribute.html">contribution guide</a>.</strong></p>
</div>
<div class="col-sm-6 text-center">
<a class="twitter-timeline" href="https://twitter.com/ApacheFlink" data-widget-id="598498380973735936">Tweets by @ApacheFlink</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
</div>
<hr />
<div class="footer text-center">
<p>Copyright © 2014-2015 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
<p>Apache Flink, Apache, and the Apache feather logo are 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><!-- /.container -->
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<!-- 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="/js/codetabs.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>