http://git-wip-us.apache.org/repos/asf/flink-web/blob/d8883b04/content/community.html ---------------------------------------------------------------------- diff --git a/content/community.html b/content/community.html deleted file mode 100644 index bbac777..0000000 --- a/content/community.html +++ /dev/null @@ -1,715 +0,0 @@ -<!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: Community</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" /> - - <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> - <!-- We need to load Jquery in the header for custom google analytics event tracking--> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/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> - - - <!-- 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><a href="/index.html">Overview</a></li> - - <!-- Features --> - <li><a href="/features.html">Features</a></li> - - <!-- Downloads --> - <li><a href="/downloads.html">Downloads</a></li> - - <!-- FAQ --> - <li><a href="/faq.html">FAQ</a></li> - - - <!-- Quickstart --> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><small><span class="glyphicon glyphicon-new-window"></span></small> Quickstart <span class="caret"></span></a> - <ul class="dropdown-menu" role="menu"> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/setup_quickstart.html">Setup</a></li> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/run_example_quickstart.html">Example: Wikipedia Edit Stream</a></li> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/java_api_quickstart.html">Java API</a></li> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/scala_api_quickstart.html">Scala API</a></li> - </ul> - </li> - - <!-- Documentation --> - <li class="dropdown"> - <a href="" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><small><span class="glyphicon glyphicon-new-window"></span></small> 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-1.1">1.1 Documentation</a></li> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/api/java" class="active">1.1 Javadocs</a></li> - <!--<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/api/scala/index.html" class="active">1.1 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-release-1.2">1.2 Documentation</a></li> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.2/api/java" class="active">1.2 Javadocs</a></li> - <!--<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.2/api/scala/index.html" class="active">1.2 ScalaDocs</a></li> --> - - <!-- Wiki --> - <li class="divider"></li> - <li><a href="/visualizer/"><small><span class="glyphicon glyphicon-new-window"></span></small> Plan Visualizer</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> - - <ul class="nav navbar-nav navbar-right"> - <!-- Blog --> - <li class=" hidden-md hidden-sm"><a href="/blog/">Blog</a></li> - - <li class="dropdown active 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#third-party-packages">Third Party Packages</a></li> - <li><a href="/community.html#source-code">Source Code</a></li> - <li><a href="/community.html#people">People</a></li> - <li><a href="/poweredby.html">Powered by Flink</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="/contribute-code.html">Contribute Code</a></li> - <li><a href="/contribute-documentation.html">Contribute Documentation</a></li> - <li><a href="/improve-website.html">Improve the Website</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Improvement+Proposals"><small><span class="glyphicon glyphicon-new-window"></span></small> Flink Improvement Proposals (Design Docs)</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="/slides.html">Slides</a></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-8 col-sm-offset-2"> - <div class="row"> - <div class="col-sm-12"><h1>Community</h1></div> - </div> - -<p>There are many ways to get help from the Apache Flink community. The <a href="#mailing-lists">mailing lists</a> are the primary place where all Flink committers are present. If you want to talk with the Flink committers and users in a chat, there is a <a href="#irc">IRC channel</a>. Some committers are also monitoring <a href="http://stackoverflow.com/questions/tagged/flink">Stack Overflow</a>. Please remember to tag your questions with the <em><a href="http://stackoverflow.com/questions/tagged/flink">flink</a></em> tag. Bugs and feature requests can either be discussed on <em>dev mailing list</em> or on <a href="https://issues.apache.org/jira/browse/FLINK">JIRA</a>. Those interested in contributing to Flink should check out the <a href="how-to-contribute.html">contribution guide</a>.</p> - -<div class="page-toc"> -<ul id="markdown-toc"> - <li><a href="#mailing-lists" id="markdown-toc-mailing-lists">Mailing Lists</a></li> - <li><a href="#irc" id="markdown-toc-irc">IRC</a></li> - <li><a href="#stack-overflow" id="markdown-toc-stack-overflow">Stack Overflow</a></li> - <li><a href="#issue-tracker" id="markdown-toc-issue-tracker">Issue Tracker</a></li> - <li><a href="#source-code" id="markdown-toc-source-code">Source Code</a> <ul> - <li><a href="#main-source-repositories" id="markdown-toc-main-source-repositories">Main source repositories</a></li> - <li><a href="#website-repositories" id="markdown-toc-website-repositories">Website repositories</a></li> - </ul> - </li> - <li><a href="#third-party-packages" id="markdown-toc-third-party-packages">Third party packages</a> <ul> - <li><a href="#apache-zeppelin" id="markdown-toc-apache-zeppelin">Apache Zeppelin</a></li> - <li><a href="#apache-mahout" id="markdown-toc-apache-mahout">Apache Mahout</a></li> - <li><a href="#cascading" id="markdown-toc-cascading">Cascading</a></li> - <li><a href="#apache-beam-incubating" id="markdown-toc-apache-beam-incubating">Apache Beam (incubating)</a></li> - <li><a href="#gradoop" id="markdown-toc-gradoop">GRADOOP</a></li> - <li><a href="#bigpetstore" id="markdown-toc-bigpetstore">BigPetStore</a></li> - <li><a href="#fastr" id="markdown-toc-fastr">FastR</a></li> - <li><a href="#apache-samoa" id="markdown-toc-apache-samoa">Apache SAMOA</a></li> - <li><a href="#python-examples-on-flink" id="markdown-toc-python-examples-on-flink">Python Examples on Flink</a></li> - <li><a href="#wordcount-example-in-clojure" id="markdown-toc-wordcount-example-in-clojure">WordCount Example in Clojure</a></li> - <li><a href="#anomaly-detection-and-prediction-in-flink" id="markdown-toc-anomaly-detection-and-prediction-in-flink">Anomaly Detection and Prediction in Flink</a></li> - <li><a href="#apache-ignite" id="markdown-toc-apache-ignite">Apache Ignite</a></li> - </ul> - </li> - <li><a href="#people" id="markdown-toc-people">People</a> <ul> - <li><a href="#former-mentors" id="markdown-toc-former-mentors">Former mentors</a></li> - </ul> - </li> -</ul> - -</div> - -<h2 id="mailing-lists">Mailing Lists</h2> - -<table class="table table-striped"> - <thead> - <th class="text-center">Name</th> - <th class="text-center">Subscribe</th> - <th class="text-center">Digest</th> - <th class="text-center">Unsubscribe</th> - <th class="text-center">Post</th> - <th class="text-center">Archive</th> - </thead> - <tr> - <td> - <strong>news</strong>@flink.apache.org<br /> - <small>News and announcements from the Flink community.</small> - </td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Unsubscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <i>Read only list</i></td> - <td class="text-center"> - <a href="http://mail-archives.apache.org/mod_mbox/flink-news/">Archives</a> <br /> - </td> - </tr> - <tr> - <td> - <strong>community</strong>@flink.apache.org<br /> - <small>Broader community discussions related to meetups, conferences, blog posts and job offers.</small> - </td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Unsubscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Post</a></td> - <td class="text-center"> - <a href="http://mail-archives.apache.org/mod_mbox/flink-community/">Archives</a> <br /> - </td> - </tr> - <tr> - <td> - <strong>user</strong>@flink.apache.org<br /> - <small>User support and questions mailing list</small> - </td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Unsubscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Post</a></td> - <td class="text-center"> - <a href="http://mail-archives.apache.org/mod_mbox/flink-user/">Archives</a> <br /> - <a href="http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/">Nabble Archive</a> - </td> - </tr> - <tr> - <td> - <strong>dev</strong>@flink.apache.org<br /> - <small>Development related discussions</small> - </td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Unsubscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Post</a></td> - <td class="text-center"> - <a href="http://mail-archives.apache.org/mod_mbox/flink-dev/">Archives</a> <br /> - <a href="http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/">Nabble Archive</a> - </td> - </tr> - <tr> - <td> - <strong>issues</strong>@flink.apache.org - <br /> - <small>Mirror of all JIRA activity</small> - </td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Unsubscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i><i>Read only list</i></td> - <td class="text-center"><a href="http://mail-archives.apache.org/mod_mbox/flink-issues/">Archives</a></td> - </tr> - <tr> - <td> - <strong>commits</strong>@flink.apache.org - <br /> - <small>All commits to our repositories</small> - </td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Subscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <a href="mailto:[email protected]">Unsubscribe</a></td> - <td class="text-center"><i class="fa fa-pencil-square-o"></i> <i>Read only list</i></td> - <td class="text-center"><a href="http://mail-archives.apache.org/mod_mbox/flink-commits/">Archives</a></td> - </tr> -</table> - -<h2 id="irc">IRC</h2> - -<p>There is an IRC channel called #flink dedicated to Apache Flink at irc.freenode.org. There is also a <a href="http://webchat.freenode.net/?channels=flink">web-based IRC client</a> available.</p> - -<p>The IRC channel can be used for online discussions about Apache Flink as community, but developers should be careful to move or duplicate all the official or useful discussions to the issue tracking system or dev mailing list.</p> - -<h2 id="stack-overflow">Stack Overflow</h2> - -<p>Committers are watching <a href="http://stackoverflow.com/questions/tagged/flink">Stack Overflow</a> for the <a href="http://stackoverflow.com/questions/tagged/flink">flink</a> tag.</p> - -<p>Make sure to tag your questions there accordingly to get answers from the Flink community.</p> - -<h2 id="issue-tracker">Issue Tracker</h2> - -<p>We use JIRA to track all code related issues: <a href="https://issues.apache.org/jira/browse/FLINK">https://issues.apache.org/jira/browse/FLINK</a>.</p> - -<p>All issue activity is also mirrored to the issues mailing list.</p> - -<h2 id="source-code">Source Code</h2> - -<h3 id="main-source-repositories">Main source repositories</h3> - -<ul> - <li><strong>ASF writable</strong>: <a href="https://git-wip-us.apache.org/repos/asf/flink.git">https://git-wip-us.apache.org/repos/asf/flink.git</a></li> - <li><strong>ASF read-only</strong>: git://git.apache.org/flink.git</li> - <li><strong>GitHub mirror</strong>: <a href="https://github.com/apache/flink.git">https://github.com/apache/flink.git</a></li> -</ul> - -<p>Note: Flink does not build with Oracle JDK 6. It runs with Oracle JDK 6.</p> - -<h3 id="website-repositories">Website repositories</h3> - -<ul> - <li><strong>ASF writable</strong>: <a href="https://git-wip-us.apache.org/repos/asf/flink-web.git">https://git-wip-us.apache.org/repos/asf/flink-web.git</a></li> - <li><strong>ASF read-only</strong>: git://git.apache.org/flink-web.git</li> - <li><strong>GitHub mirror</strong>: <a href="https://github.com/apache/flink-web.git">https://github.com/apache/flink-web.git</a></li> -</ul> - -<h1 id="third-party-packages">Third party packages</h1> - -<p>This is a list of third party packages (ie, libraries, system extensions, or examples) built on Flink. -The Flink community only collects links to those packages but does not maintain them. -Thus, they do not belong to the Apache Flink project and the community cannot give any support for them. -<strong>Your project is missing?</strong> -Let us know per <a href="#mailing-lists">user/dev mailing list</a>.</p> - -<table class="flink-packages" width="100%"> - <style> - table.flink-packages { - table-layout: fixed; - border-color: transparent; - border-spacing: 5px; - border-collapse: separate; - } - td.flink-package-empty{ - height: 14em; - vertical-align: bottom; - border-color: transparent; - background-color: transparent; - } - td.flink-package { - height: 14em; - vertical-align: bottom; - border-color: transparent; - background-color: #B9BFC7; - color: #E5EAFA; - } - td.flink-package-external { - height: 14em; - vertical-align: bottom; - border-color: transparent; - background-color: #F5A030; - } - td.flink-package > div { - transform: rotate(-90deg); - font-size: 12pt; - white-space: nowrap; - } - td.flink-package-external > div { - transform: rotate(-90deg); - font-size: 16pt; - white-space: nowrap; - } - td.flink-component { - font-size: 16pt; - text-align: center; - border-color: transparent; - color: #E5EAFA; - } - </style> - <tr> - <td class="flink-package"><div><span> Flink ML</span></div></td> - <td class="flink-package"><div><span> Table API</span></div></td> - <td class="flink-package"><div><span> Gelly (Graph)</span></div></td> - <td class="flink-package"><div><span> MapReduce</span></div></td> - <td class="flink-package"><div><span> Python</span></div></td> - <td class="flink-package-external"><div><span> <a href="#apache-zeppelin">Apache Zeppelin</a></span></div></td> - <td class="flink-package-external"><div><span> <a href="#apache-mahout">Apache Mahout</a></span></div></td> - <td class="flink-package-external"><div><span> <a href="#cascading">Cascading</a></span></div></td> - <td class="flink-package-external"><div><span> <a href="#apache-beam-incubating">Apache Beam <small style="font-size:40%">(incubating)</small></a></span></div></td> - <td class="flink-package-external"><div><span> <a href="#gradoop">Gradoop</a></span></div></td> - <td class="flink-package-external"><div><span> <a href="#bigpetstore">BigPetStore</a></span></div></td> - <td class="flink-package-external"><div><span> <a href="#fastr">FastR</a></span></div></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - <td class="flink-package"><div><span> Table API</span></div></td> - <td class="flink-package"><div><span> Storm</span></div></td> - <td class="flink-package-external"><div><span> <a href="#apache-samoa">Apache SAMOA</a></span></div></td> - <td class="flink-package-external"><div><span> <a href="#apache-beam-incubating">Apache Beam <small style="font-size:40%">(incubating)</small></a></span></div></td> - <td class="flink-package-external"><div><span> <a href="#apache-ignite">Apache Ignite</a></span></div></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - <td class="flink-package-empty"></td> - </tr> - - <tr bgcolor="#B9BFC7"> - <td class="flink-component" colspan="15">DataSet API</td> - <td class="flink-component" colspan="15">DataStream API</td> - </tr> - - <tr bgcolor="#B9BFC7"> - <td class="flink-component" colspan="30">Flink Runtime</td> - </tr> - - <tr bgcolor="#B9BFC7"> - <td class="flink-component" colspan="6" width="20%">Local</td> - <td class="flink-component" colspan="6" width="20%">Remote</td> - <td class="flink-component" colspan="6" width="20%">Embedded</td> - <td class="flink-component" colspan="6" width="20%">YARN</td> - <td class="flink-component" colspan="6" width="20%">Tez</td> - </tr> -</table> - -<h2 id="apache-zeppelin">Apache Zeppelin</h2> - -<p><a href="https://zeppelin.incubator.apache.org/">Apache Zeppelin (incubator)</a> is a web-based notebook that enables interactive data analytics and can be used with -<a href="https://zeppelin.incubator.apache.org/docs/interpreter/flink.html">Flink as an execution engine</a> (next to others engines). -See also Jim Dowlingâs <a href="http://www.slideshare.net/FlinkForward/jim-dowling-interactive-flink-analytics-with-hopsworks-and-zeppelin">Flink Forward talk</a> about Zeppelin on Flink.</p> - -<h2 id="apache-mahout">Apache Mahout</h2> - -<p><a href="https://mahout.apache.org/">Apache Mahout</a> in a machine learning library that will feature Flink as an execution engine soon. -Check out Sebastian Schelterâs <a href="http://www.slideshare.net/FlinkForward/sebastian-schelter-distributed-machine-learing-with-the-samsara-dsl">Flink Forward talk</a> about Mahout-Samsara DSL.</p> - -<h2 id="cascading">Cascading</h2> - -<p><a href="http://www.cascading.org/cascading-flink/">Cascading</a> enables an user to build complex workflows easily on Flink and other execution engines. -<a href="https://github.com/dataArtisans/cascading-flink">Cascading on Flink</a> is build by <a href="http://data-artisans.com/">dataArtisans</a> and <a href="http://www.driven.io/">Driven, Inc</a>. -See Fabian Hueskeâs <a href="http://www.slideshare.net/FlinkForward/fabian-hueske-training-cascading-on-flink">Flink Forward talk</a> for more details.</p> - -<h2 id="apache-beam-incubating">Apache Beam (incubating)</h2> - -<p><a href="http://beam.incubator.apache.org/">Apache Beam (incubating)</a> is an open source, unified programming model that you can use to create a data processing pipeline. Flink is one of the back-ends supported by the Beam programming model.</p> - -<h2 id="gradoop">GRADOOP</h2> - -<p><a href="http://dbs.uni-leipzig.de/en/research/projects/gradoop">GRADOOP</a> enables scalable graph analytics on top of Flink and is developed at Leipzig University. Check out <a href="http://www.slideshare.net/FlinkForward/martin-junghans-gradoop-scalable-graph-analytics-with-apache-flink">Martin Junghannsâ Flink Forward talk</a>.</p> - -<h2 id="bigpetstore">BigPetStore</h2> - -<p><a href="https://github.com/apache/bigtop/tree/master/bigtop-bigpetstore">BigPetStore</a> is a benchmarking suite including a data generator and will be available for Flink soon. -See Suneel Marthiâs <a href="http://www.slideshare.net/FlinkForward/suneel-marthi-bigpetstore-flink-a-comprehensive-blueprint-for-apache-flink?ref=http://flink-forward.org/?session=tbd-3">Flink Forward talk</a> as preview.</p> - -<h2 id="fastr">FastR</h2> - -<p><a href="https://bitbucket.org/allr/fastr-flink">FastR</a> in an implemenation of the R language in Java. <a href="https://bitbucket.org/allr/fastr-flink/src/3535a9b7c7f208508d6afbcdaf1de7d04fa2bf79/README_FASTR_FLINK.md?at=default&fileviewer=file-view-default">FastR Flink</a> exeutes R workload on top of Flink.</p> - -<h2 id="apache-samoa">Apache SAMOA</h2> - -<p><a href="https://samoa.incubator.apache.org/">Apache SAMOA (incubating)</a> a streaming ML library featuring Flink an execution engine soon. Albert Bifet introduced SAMOA on Flink at his <a href="http://www.slideshare.net/FlinkForward/albert-bifet-apache-samoa-mining-big-data-streams-with-apache-flink?ref=http://flink-forward.org/?session=apache-samoa-mining-big-data-streams-with-apache-flink">Flink Forward talk</a>.</p> - -<h2 id="python-examples-on-flink">Python Examples on Flink</h2> - -<p>A <a href="https://github.com/wdm0006/flink-python-examples">collection of examples</a> using Apache Flinkâs Python API.</p> - -<h2 id="wordcount-example-in-clojure">WordCount Example in Clojure</h2> - -<p>Small <a href="https://github.com/mjsax/flink-external/tree/master/flink-clojure">WordCount example</a> on how to write a Flink program in Clojure.</p> - -<h2 id="anomaly-detection-and-prediction-in-flink">Anomaly Detection and Prediction in Flink</h2> - -<p><a href="https://github.com/nupic-community/flink-htm">flink-htm</a> is a library for anomaly detection and prediction in Apache Flink. The algorithms are based on Hierarchical Temporal Memory (HTM) as implemented by the Numenta Platform for Intelligent Computing (NuPIC).</p> - -<h2 id="apache-ignite">Apache Ignite</h2> - -<p><a href="https://ignite.apache.org">Apache Ignite</a> is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time. See <a href="https://github.com/apache/ignite/tree/master/modules/flink">Flink sink streaming connector</a> to inject data into Ignite cache.</p> - -<h1 id="people">People</h1> - -<table class="table table-striped"> - <thead> - <th class="text-center"></th> - <th class="text-center">Name</th> - <th class="text-center">Role</th> - <th class="text-center">Apache ID</th> - </thead> - <tr> - <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/5990983?s=50" /></td> - <td class="text-center">Márton Balassi</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">mbalassi</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/858078?v=3&s=50" /></td> - <td class="text-center">Paris Carbone</td> - <td class="text-center">Committer</td> - <td class="text-center">senorcarbone</td> - </tr> - <tr> - <td class="text-center" width="10%"><img src="https://avatars3.githubusercontent.com/u/1756620?s=50" /></td> - <td class="text-center">Ufuk Celebi</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">uce</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1727146?s=50" /></td> - <td class="text-center">Stephan Ewen</td> - <td class="text-center">PMC, Committer, VP</td> - <td class="text-center">sewen</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars1.githubusercontent.com/u/5880972?s=50" /></td> - <td class="text-center">Gyula Fóra</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">gyfora</td> - </tr> - <tr> - <td class="text-center"></td> - <td class="text-center">Alan Gates</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">gates</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars0.githubusercontent.com/u/2388347?s=50" /></td> - <td class="text-center">Fabian Hueske</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">fhueske</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars3.githubusercontent.com/u/498957?v=3&s=50" /></td> - <td class="text-center">Vasia Kalavri</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">vasia</td> - </tr> - - <tr> - <td class="text-center"><img src="https://avatars0.githubusercontent.com/u/68551?s=50" /></td> - <td class="text-center">Aljoscha Krettek</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">aljoscha</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/2550549?s=50" /></td> - <td class="text-center">Andra Lungu</td> - <td class="text-center">Committer</td> - <td class="text-center">andra</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars0.githubusercontent.com/u/89049?s=50" /></td> - <td class="text-center">Robert Metzger</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">rmetzger</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/837221?s=50" /></td> - <td class="text-center">Maximilian Michels</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">mxm</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1941681?s=50" /></td> - <td class="text-center">Chiwan Park</td> - <td class="text-center">Committer</td> - <td class="text-center">chiwanpark</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars1.githubusercontent.com/u/5756858?s=50" /></td> - <td class="text-center">Till Rohrmann</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">trohrmann</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars0.githubusercontent.com/u/105434?s=50" /></td> - <td class="text-center">Henry Saputra</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">hsaputra</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars0.githubusercontent.com/u/8959638?s=50" /></td> - <td class="text-center">Matthias J. Sax</td> - <td class="text-center">Committer</td> - <td class="text-center">mjsax</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars1.githubusercontent.com/u/409707?s=50" /></td> - <td class="text-center">Sebastian Schelter</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">ssc</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars2.githubusercontent.com/u/1925554?s=50" /></td> - <td class="text-center">Kostas Tzoumas</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">ktzoumas</td> - </tr> - <tr> - <td class="text-center"></td> - <td class="text-center">Timo Walther</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">twalthr</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars1.githubusercontent.com/u/1826769?s=50" /></td> - <td class="text-center">Daniel Warneke</td> - <td class="text-center">PMC, Committer</td> - <td class="text-center">warneke</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars1.githubusercontent.com/u/4425616?s=50" /></td> - <td class="text-center">ChengXiang Li</td> - <td class="text-center">Committer</td> - <td class="text-center">chengxiang</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars1.githubusercontent.com/u/569655?s=50" /></td> - <td class="text-center">Greg Hogan</td> - <td class="text-center">Committer</td> - <td class="text-center">greg</td> - </tr> - <tr> - <td class="text-center"><img src="https://avatars1.githubusercontent.com/u/5284370?s=50" /></td> - <td class="text-center">Tzu-Li (Gordon) Tai</td> - <td class="text-center">Committer</td> - <td class="text-center">tzulitai</td> - </tr> -</table> - -<p>You can reach committers directly at <code><apache-id>@apache.org</code>. A list of all contributors can be found <a href="https://cwiki.apache.org/confluence/display/FLINK/List+of+contributors">here</a>.</p> - -<h2 id="former-mentors">Former mentors</h2> - -<p>The following people were very kind to mentor the project while in incubation.</p> - -<table class="table table-striped"> - <thead> - <th class="text-center"></th> - <th class="text-center">Name</th> - <th class="text-center">Role</th> - <th class="text-center">Apache ID</th> - </thead> - <tr> - <td class="text-center"></td> - <td class="text-center">Ashutosh Chauhan</td> - <td class="text-center">Former PPMC, Mentor</td> - <td class="text-center">hashutosh</td> - </tr> - <tr> - <td class="text-center"></td> - <td class="text-center">Ted Dunning</td> - <td class="text-center">Former PPMC, Mentor</td> - <td class="text-center">tdunning</td> - </tr> - <tr> - <td class="text-center"></td> - <td class="text-center">Alan Gates</td> - <td class="text-center">Former PPMC, Mentor</td> - <td class="text-center">gates</td> - </tr> - - <tr> - <td class="text-center"></td> - <td class="text-center">Owen O'Malley</td> - <td class="text-center">Former PPMC, Mentor</td> - <td class="text-center">omalley</td> - </tr> - <tr> - <td class="text-center"></td> - <td class="text-center">Sean Owen</td> - <td class="text-center">Former PPMC, Mentor</td> - <td class="text-center">srowen</td> - </tr> - <tr> - <td class="text-center"></td> - <td class="text-center">Henry Saputra</td> - <td class="text-center">Former PPMC, Mentor</td> - <td class="text-center">hsaputra</td> - </tr> -</table> - - - </div> -</div> - - - <hr /> - <div class="footer text-center"> - <p>Copyright © 2014-2016 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p>Apache Flink, Apache, 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> · <a href="/blog/feed.xml">RSS feed</a></p> - </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="/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>
http://git-wip-us.apache.org/repos/asf/flink-web/blob/d8883b04/content/contribute-code.html ---------------------------------------------------------------------- diff --git a/content/contribute-code.html b/content/contribute-code.html deleted file mode 100644 index 9a65a50..0000000 --- a/content/contribute-code.html +++ /dev/null @@ -1,530 +0,0 @@ -<!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: Contributing Code</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" /> - - <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> - <!-- We need to load Jquery in the header for custom google analytics event tracking--> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/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> - - - <!-- 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><a href="/index.html">Overview</a></li> - - <!-- Features --> - <li><a href="/features.html">Features</a></li> - - <!-- Downloads --> - <li><a href="/downloads.html">Downloads</a></li> - - <!-- FAQ --> - <li><a href="/faq.html">FAQ</a></li> - - - <!-- Quickstart --> - <li class="dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><small><span class="glyphicon glyphicon-new-window"></span></small> Quickstart <span class="caret"></span></a> - <ul class="dropdown-menu" role="menu"> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/setup_quickstart.html">Setup</a></li> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/run_example_quickstart.html">Example: Wikipedia Edit Stream</a></li> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/java_api_quickstart.html">Java API</a></li> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/quickstart/scala_api_quickstart.html">Scala API</a></li> - </ul> - </li> - - <!-- Documentation --> - <li class="dropdown"> - <a href="" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><small><span class="glyphicon glyphicon-new-window"></span></small> 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-1.1">1.1 Documentation</a></li> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/api/java" class="active">1.1 Javadocs</a></li> - <!--<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.1/api/scala/index.html" class="active">1.1 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-release-1.2">1.2 Documentation</a></li> - <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.2/api/java" class="active">1.2 Javadocs</a></li> - <!--<li><a href="http://ci.apache.org/projects/flink/flink-docs-release-1.2/api/scala/index.html" class="active">1.2 ScalaDocs</a></li> --> - - <!-- Wiki --> - <li class="divider"></li> - <li><a href="/visualizer/"><small><span class="glyphicon glyphicon-new-window"></span></small> Plan Visualizer</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> - - <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#third-party-packages">Third Party Packages</a></li> - <li><a href="/community.html#source-code">Source Code</a></li> - <li><a href="/community.html#people">People</a></li> - <li><a href="/poweredby.html">Powered by Flink</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="/contribute-code.html">Contribute Code</a></li> - <li><a href="/contribute-documentation.html">Contribute Documentation</a></li> - <li><a href="/improve-website.html">Improve the Website</a></li> - <li><a href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Improvement+Proposals"><small><span class="glyphicon glyphicon-new-window"></span></small> Flink Improvement Proposals (Design Docs)</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="/slides.html">Slides</a></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-8 col-sm-offset-2"> - <div class="row"> - <div class="col-sm-12"><h1>Contributing Code</h1></div> - </div> - -<p>Apache Flink is maintained, improved, and extended by code contributions of volunteers. The Apache Flink community encourages anybody to contribute source code. In order to ensure a pleasant contribution experience for contributors and reviewers and to preserve the high quality of the code base, we follow a contribution process that is explained in this document.</p> - -<p>This document contains everything you need to know about contributing code to Apache Flink. It describes the process of preparing, testing and submitting a contribution, explains coding guidelines and code style of Flinkâs code base, and gives instructions to setup a development environment.</p> - -<p><strong>IMPORTANT</strong>: Please read this document carefully before starting to work on a code contribution. It is important to follow the process and guidelines explained below. Otherwise, your pull request might not be accepted or might require substantial rework. In particular, before opening a pull request that implements a <strong>new feature</strong>, you need to open a JIRA ticket and reach consensus with the community on whether this feature is needed.</p> - -<div class="page-toc"> -<ul id="markdown-toc"> - <li><a href="#code-contribution-process" id="markdown-toc-code-contribution-process">Code Contribution Process</a> <ul> - <li><a href="#before-you-start-coding" id="markdown-toc-before-you-start-coding">Before you start codingâ¦</a></li> - <li><a href="#while-coding" id="markdown-toc-while-coding">While codingâ¦</a></li> - <li><a href="#verifying-the-compliance-of-your-code" id="markdown-toc-verifying-the-compliance-of-your-code">Verifying the compliance of your code</a></li> - <li><a href="#preparing-and-submitting-your-contribution" id="markdown-toc-preparing-and-submitting-your-contribution">Preparing and submitting your contribution</a></li> - </ul> - </li> - <li><a href="#coding-guidelines" id="markdown-toc-coding-guidelines">Coding guidelines</a></li> - <li><a href="#code-style" id="markdown-toc-code-style">Code style</a></li> - <li><a href="#best-practices" id="markdown-toc-best-practices">Best practices</a></li> - <li><a href="#setup-a-development-environment" id="markdown-toc-setup-a-development-environment">Setup a development environment</a> <ul> - <li><a href="#requirements-for-developing-and-building-flink" id="markdown-toc-requirements-for-developing-and-building-flink">Requirements for developing and building Flink</a></li> - <li><a href="#proxy-settings" id="markdown-toc-proxy-settings">Proxy Settings</a></li> - </ul> - </li> - <li><a href="#how-to-use-git-as-a-committer" id="markdown-toc-how-to-use-git-as-a-committer">How to use Git as a committer</a></li> - <li><a href="#snapshots-nightly-builds" id="markdown-toc-snapshots-nightly-builds">Snapshots (Nightly Builds)</a></li> -</ul> - -</div> - -<h2 id="code-contribution-process">Code Contribution Process</h2> - -<h3 id="before-you-start-coding">Before you start codingâ¦</h3> - -<p>⦠please make sure there is a JIRA issue that corresponds to your contribution. This is a <em>general rule</em> that the Flink community follows for all code contributions, including bug fixes, improvements, or new features, with an exception for <em>trivial</em> hot fixes. If you would like to fix a bug that you found or if you would like to add a new feature or improvement to Flink, please follow the <a href="/how-to-contribute.html#file-a-bug-report">File a bug report</a> or <a href="/how-to-contribute.html#propose-an-improvement-or-a-new-feature">Propose an improvement or a new feature</a> guidelines to open an issue in <a href="http://issues.apache.org/jira/browse/FLINK">Flinkâs JIRA</a> before starting with the implementation.</p> - -<p>If the description of a JIRA issue indicates that its resolution will touch sensible parts of the code base, be sufficiently complex, or add significant amounts of new code, the Flink community might request a design document (most contributions should not require a design document). The purpose of this document is to ensure that the overall approach to address the issue is sensible and agreed upon by the community. JIRA issues that require a design document are tagged with the <strong><code>requires-design-doc</code></strong> label. The label can be attached by any community member who feels that a design document is necessary. A good description helps to decide whether a JIRA issue requires a design document or not. The design document must be added or attached to or link from the JIRA issue and cover the following aspects:</p> - -<ul> - <li>Overview of the general approach</li> - <li>List of API changes (changed interfaces, new and deprecated configuration parameters, changed behavior, â¦)</li> - <li>Main components and classes to be touched</li> - <li>Known limitations of the proposed approach</li> -</ul> - -<p>A design document can be added by anybody, including the reporter of the issue or the person working on it.</p> - -<p>Contributions for JIRA issues that require a design document will not be added to Flinkâs code base before a design document has been accepted by the community with <a href="http://www.apache.org/foundation/glossary.html#LazyConsensus">lazy consensus</a>. Please check if a design document is required before starting to code.</p> - -<h3 id="while-coding">While codingâ¦</h3> - -<p>⦠please respect the following rules:</p> - -<ul> - <li>Take any discussion or requirement that is recorded in the JIRA issue into account.</li> - <li>Follow the design document (if a design document is required) as close as possible. Please update the design document and seek consensus, if your implementation deviates too much from the solution proposed by the design document. Minor variations are OK but should be pointed out when the contribution is submitted.</li> - <li>Closely follow the <a href="/contribute-code.html#coding-guidelines">coding guidelines</a> and the <a href="/contribute-code.html#code-style">code style</a>.</li> - <li>Do not mix unrelated issues into one contribution.</li> -</ul> - -<p><strong>Please feel free to ask questions at any time.</strong> Either send a mail to the <a href="/community.html#mailing-lists">dev mailing list</a> or comment on the JIRA issue.</p> - -<p>The following instructions will help you to <a href="/contribute-code.html#setup-a-development-environment">setup a development environment</a>.</p> - -<h3 id="verifying-the-compliance-of-your-code">Verifying the compliance of your code</h3> - -<p>It is very important to verify the compliance of changes before submitting your contribution. This includes:</p> - -<ul> - <li>Making sure the code builds.</li> - <li>Verifying that all existing and new tests pass.</li> - <li>Check that the code style is not violated.</li> - <li>Making sure no unrelated or unnecessary reformatting changes are included.</li> -</ul> - -<p>You can build the code, run the tests, and check (parts of) the code style by calling</p> - -<div class="highlight"><pre><code>mvn clean verify -</code></pre></div> - -<p>Please note, that some tests in Flinkâs code base are flaky and can fail by chance. The Flink community is working hard on improving these tests but sometimes this is not possible, e.g., when tests include external dependencies. We maintain all tests that are known to be flaky in JIRA and attach the <strong><code>test-stability</code></strong> label. Please check (and extend) this list of <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20FLINK%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20test-stability%20ORDER%20BY%20priority%20DESC">known flaky tests</a> if you encounter a test failure that seems to be unrelated to your changes.</p> - -<p>Please note, that we run additional build profiles for different combinations of Java, Scala, and Hadoop versions to validate your contribution. We encourage every contributor to use a <em>continuous integration</em> service that will automatically test the code in your repository whenever you push a change. The <a href="/contribute-code.html#best-practices">Best practices</a> guide shows how to integrate <a href="https://travis-ci.org/">Travis</a> with your Github repository.</p> - -<p>In addition to the automated tests, please check the diff of your changes and remove all unrelated changes such as unnecessary reformatting.</p> - -<h3 id="preparing-and-submitting-your-contribution">Preparing and submitting your contribution</h3> - -<p>To make the changes easily mergeable, please rebase them to the latest version of the main repositories master branch. Please do also respect the <a href="/contribute-code.html#coding-guidelines">commit message guidelines</a>, clean up your commit history, and squash your commits to an appropriate set. Please verify your contribution one more time after rebasing and commit squashing as described above.</p> - -<p>The Flink project accepts code contributions through the <a href="https://github.com/apache/flink">GitHub Mirror</a>, in the form of <a href="https://help.github.com/articles/using-pull-requests">Pull Requests</a>. Pull requests are a simple way to offer a patch, by providing a pointer to a code branch that contains the change.</p> - -<p>To open a pull request, push our contribution back into your fork of the Flink repository.</p> - -<div class="highlight"><pre><code>git push origin myBranch -</code></pre></div> - -<p>Go the website of your repository fork (<code>https://github.com/<your-user-name>/flink</code>) and use the <em>âCreate Pull Requestâ</em> button to start creating a pull request. Make sure that the base fork is <code>apache/flink master</code> and the head fork selects the branch with your changes. Give the pull request a meaningful description and send it.</p> - -<p>It is also possible to attach a patch to a <a href="https://issues.apache.org/jira/browse/FLINK">JIRA</a> issue.</p> - -<hr /> - -<h2 id="coding-guidelines">Coding guidelines</h2> - -<h3 class="no_toc" id="pull-requests-and-commit-message">Pull requests and commit message</h3> - -<ul> - <li> - <p><strong>Single change per PR</strong>. Please do not combine various unrelated changes in a single pull request. Rather, open multiple individual pull requests where each PR refers to a JIRA issue. This ensures that pull requests are <em>topic related</em>, can be merged more easily, and typically result in topic-specific merge conflicts only.</p> - </li> - <li> - <p><strong>No WIP pull requests</strong>. We consider pull requests as requests to merge the referenced code <em>as is</em> into the current <em>stable</em> master branch. Therefore, a pull request should not be âwork in progressâ. Open a pull request if you are confident that it can be merged into the current master branch without problems. If you rather want comments on your code, post a link to your working branch.</p> - </li> - <li> - <p><strong>Commit message</strong>. A pull request must relate to a JIRA issue; create an issue if none exists for the change you want to make. The latest commit message should reference that issue. An example commit message would be <em>[FLINK-633] Fix NullPointerException for empty UDF parameters</em>. That way, the pull request automatically gives a description of what it does, for example what bug does it fix in what way.</p> - </li> - <li> - <p><strong>Append review commits</strong>. When you get comments on the pull request asking for changes, append commits for these changes. <em>Do not rebase and squash them.</em> It allows people to review the cleanup work independently. Otherwise reviewers have to go through the entire set of diffs again.</p> - </li> - <li> - <p><strong>No merge commits</strong>. Please do not open pull requests containing merge commits. Use <code>git pull --rebase origin master</code> if you want to update your changes to the latest master prior to opening a pull request.</p> - </li> -</ul> - -<h3 class="no_toc" id="exceptions-and-error-messages">Exceptions and error messages</h3> - -<ul> - <li> - <p><strong>Exception swallowing</strong>. Do not swallow exceptions and print the stacktrace. Instead check how exceptions are handled by similar classes.</p> - </li> - <li> - <p><strong>Meaningful error messages</strong>. Give meaningful exception messages. Try to imagine why an exception could be thrown (what a user did wrong) and give a message that will help a user to resolve the problem.</p> - </li> -</ul> - -<h3 class="no_toc" id="tests">Tests</h3> - -<ul> - <li> - <p><strong>Tests need to pass</strong>. Any pull request where the tests do not pass or which does not compile will not undergo any further review. We recommend to connect your private GitHub accounts with <a href="http://travis-ci.org/">Travis CI</a> (like the Flink GitHub repository). Travis will run tests for all tested environments whenever you push something into <em>your</em> Github repository. Please note the previous <a href="/contribute-code.html#verifying-the-compliance-of-your-code">comment about flaky tests</a>.</p> - </li> - <li> - <p><strong>Tests for new features are required</strong>. All new features need to be backed by tests, <em>strictly</em>. It is very easy that a later merge accidentally throws out a feature or breaks it. This will not be caught if the feature is not guarded by tests. Anything not covered by a test is considered cosmetic.</p> - </li> - <li> - <p><strong>Use appropriate test mechanisms</strong>. Please use unit tests to test isolated functionality, such as methods. Unit tests should execute in subseconds and should be preferred whenever possible. The name of unit test classes have to on <code>*Test</code>. Use integration tests to implement long-running tests. Flink offers test utilities for end-to-end tests that start a Flink instance and run a job. These tests are pretty heavy and can significantly increase build time. Hence, they should be added with care. The name of unit test classes have to on <code>*ITCase</code>.</p> - </li> -</ul> - -<h3 class="no_toc" id="documentation">Documentation</h3> - -<ul> - <li> - <p><strong>Documentation Updates</strong>. Many changes in the system will also affect the documentation (both JavaDocs and the user documentation in the <code>docs/</code> directory.). Pull requests and patches are required to update the documentation accordingly, otherwise the change can not be accepted to the source code. See the <a href="/contribute-documentation.html">Contribute documentation</a> guide for how to update the documentation.</p> - </li> - <li> - <p><strong>Javadocs for public methods</strong>. All public methods and classes need to have JavaDocs. Please write meaningful docs. Good docs are concise and informative. Please do also update JavaDocs if you change the signature or behavior of a documented method.</p> - </li> -</ul> - -<h3 class="no_toc" id="code-formatting">Code formatting</h3> - -<ul> - <li><strong>No reformattings</strong>. Please keep reformatting of source files to a minimum. Diffs become unreadable if you (or your IDE automatically) remove or replace whitespaces, reformat code, or comments. Also, other patches that affect the same files become un-mergeable. Please configure your IDE such that code is not automatically reformatted. Pull requests with excessive or unnecessary code reformatting might be rejected.</li> -</ul> - -<hr /> - -<h2 id="code-style">Code style</h2> - -<ul> - <li><strong>Apache license headers</strong>. Make sure you have Apache License headers in your files. The RAT plugin is checking for that when you build the code.</li> - <li><strong>Tabs vs. spaces</strong>. We are using tabs for indentation, not spaces. We are not religious there, it just happened to be that we started with tabs, and it is important to not mix them (merge/diff conflicts).</li> - <li> - <p><strong>Blocks</strong>. All statements after <code>if</code>, <code>for</code>, <code>while</code>, <code>do</code>, ⦠must always be encapsulated in a block with curly braces (even if the block contains one statement):</p> - - <div class="highlight"><pre><code class="language-java"><span class="k">for</span> <span class="o">(...)</span> <span class="o">{</span> - <span class="o">...</span> -<span class="o">}</span></code></pre></div> - <p>If you are wondering why, recall the famous <a href="https://www.imperialviolet.org/2014/02/22/applebug.html"><em>goto bug</em></a> in Appleâs SSL library.</p> - </li> - <li><strong>No wildcard imports</strong>. Do not use wildcard imports in the core files. They can cause problems when adding to the code and in some cases even during refactoring. Exceptions are the Tuple classes, Tuple-related utilities, and Flink user programs, when importing operators/functions. Tests are a special case of the user programs.</li> - <li><strong>No unused imports</strong>. Remove all unused imports.</li> - <li><strong>Use Guava Checks</strong>. To increase homogeneity, consistently use Guava methods checkNotNull and checkArgument rather than Apache Commons Validate.</li> - <li><strong>No raw generic types</strong>. Do not use raw generic types, unless strictly necessary (sometime necessary for signature matches, arrays).</li> - <li><strong>Supress warnings</strong>. Add annotations to suppress warnings, if they cannot be avoided (such as âuncheckedâ, or âserialâ).</li> - <li> - <p><strong>Comments</strong>. Add comments to your code. What is it doing? Add JavaDocs or inherit them by not adding any comments to the methods. Do not automatically generate comments and avoid unnecessary comments like:</p> - - <div class="highlight"><pre><code class="language-java"><span class="n">i</span><span class="o">++;</span> <span class="c1">// increment by one</span></code></pre></div> - </li> -</ul> - -<hr /> - -<h2 id="best-practices">Best practices</h2> - -<ul> - <li>Travis: Flink is pre-configured for <a href="http://docs.travis-ci.com/">Travis CI</a>, which can be easily enabled for your private repository fork (it uses GitHub for authentication, so you so not need an additional account). Simply add the <em>Travis CI</em> hook to your repository (<em>settings â> webhooks & services â> add service</em>) and enable tests for the <code>flink</code> repository on <a href="https://travis-ci.org/profile">Travis</a>.</li> -</ul> - -<hr /> - -<h2 id="setup-a-development-environment">Setup a development environment</h2> - -<h3 id="requirements-for-developing-and-building-flink">Requirements for developing and building Flink</h3> - -<ul> - <li>Unix-like environment (We use Linux, Mac OS X, Cygwin)</li> - <li>git</li> - <li>Maven (at least version 3.0.4)</li> - <li>Java 7 or 8</li> -</ul> - -<h3 class="no_toc" id="clone-the-repository">Clone the repository</h3> - -<p>Apache Flinkâs source code is stored in a <a href="http://git-scm.com/">git</a> repository which is mirrored to <a href="https://github.com/apache/flink">Github</a>. The common way to exchange code on Github is to fork a the repository into your personal Github account. For that, you need to have a <a href="https://github.com">Github</a> account or create one for free. Forking a repository means that Github creates a copy of the forked repository for you. This is done by clicking on the <em>fork</em> button on the upper right of the <a href="https://github.com/apache/flink">repository website</a>. Once you have a fork of Flinkâs repository in your personal account, you can clone that repository to your local machine.</p> - -<div class="highlight"><pre><code>git clone https://github.com/<your-user-name>/flink.git -</code></pre></div> - -<p>The code is downloaded into a directory called <code>flink</code>.</p> - -<h3 id="proxy-settings">Proxy Settings</h3> - -<p>If you are behind a firewall you may need to provide Proxy settings to Maven and your IDE.</p> - -<p>For example, the WikipediaEditsSourceTest communicates over IRC and need a <a href="http://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html">SOCKS proxy server</a> to pass.</p> - -<h3 class="no_toc" id="setup-an-ide-and-import-the-source-code">Setup an IDE and import the source code</h3> - -<p>The Flink committers use IntelliJ IDEA and Eclipse IDE to develop the Flink code base.</p> - -<p>Minimal requirements for an IDE are:</p> - -<ul> - <li>Support for Java and Scala (also mixed projects)</li> - <li>Support for Maven with Java and Scala</li> -</ul> - -<h4 id="intellij-idea">IntelliJ IDEA</h4> - -<p>The IntelliJ IDE supports Maven out of the box and offers a plugin for Scala development.</p> - -<ul> - <li>IntelliJ download: <a href="https://www.jetbrains.com/idea/">https://www.jetbrains.com/idea/</a></li> - <li>IntelliJ Scala Plugin: <a href="http://plugins.jetbrains.com/plugin/?id=1347">http://plugins.jetbrains.com/plugin/?id=1347</a></li> -</ul> - -<p>Check out our <a href="https://github.com/apache/flink/blob/master/docs/internals/ide_setup.md#intellij-idea">Setting up IntelliJ</a> guide for details.</p> - -<h4 id="eclipse-scala-ide">Eclipse Scala IDE</h4> - -<p>For Eclipse users, we recommend using Scala IDE 3.0.3, based on Eclipse Kepler. While this is a slightly older version, -we found it to be the version that works most robustly for a complex project like Flink.</p> - -<p>Further details, and a guide to newer Scala IDE versions can be found in the -<a href="https://github.com/apache/flink/blob/master/docs/internals/ide_setup.md#eclipse">How to setup Eclipse</a> docs.</p> - -<p><strong>Note:</strong> Before following this setup, make sure to run the build from the command line once -(<code>mvn clean install -DskipTests</code>, see above)</p> - -<ol> - <li>Download the Scala IDE (preferred) or install the plugin to Eclipse Kepler. See -<a href="https://github.com/apache/flink/blob/master/docs/internals/ide_setup.md#eclipse">How to setup Eclipse</a> for download links and instructions.</li> - <li>Add the âmacroparadiseâ compiler plugin to the Scala compiler. -Open âWindowâ -> âPreferencesâ -> âScalaâ -> âCompilerâ -> âAdvancedâ and put into the âXpluginâ field the path to -the <em>macroparadise</em> jar file (typically â/home/<em>-your-user-</em>/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jarâ). -Note: If you do not have the jar file, you probably did not run the command line build.</li> - <li>Import the Flink Maven projects (âFileâ -> âImportâ -> âMavenâ -> âExisting Maven Projectsâ)</li> - <li>During the import, Eclipse will ask to automatically install additional Maven build helper plugins.</li> - <li>Close the âflink-java8â project. Since Eclipse Kepler does not support Java 8, you cannot develop this project.</li> -</ol> - -<h4 id="import-the-source-code">Import the source code</h4> - -<p>Apache Flink uses Apache Maven as build tool. Most IDE are capable of importing Maven projects.</p> - -<h3 class="no_toc" id="build-the-code">Build the code</h3> - -<p>To build Flink from source code, open a terminal, navigate to the root directory of the Flink source code, and call</p> - -<div class="highlight"><pre><code>mvn clean package -</code></pre></div> - -<p>This will build Flink and run all tests. Flink is now installed in <code>build-target</code>.</p> - -<p>To build Flink without executing the tests you can call</p> - -<div class="highlight"><pre><code>mvn -DskipTests clean package -</code></pre></div> - -<hr /> - -<h2 id="how-to-use-git-as-a-committer">How to use Git as a committer</h2> - -<p>Only the infrastructure team of the ASF has administrative access to the GitHub mirror. Therefore, comitters have to push changes to the git repository at the ASF.</p> - -<h3 class="no_toc" id="main-source-repositories">Main source repositories</h3> - -<p><strong>ASF writable</strong>: https://git-wip-us.apache.org/repos/asf/flink.git</p> - -<p><strong>ASF read-only</strong>: git://git.apache.org/repos/asf/flink.git</p> - -<p><strong>ASF read-only</strong>: https://github.com/apache/flink.git</p> - -<p>Note: Flink does not build with Oracle JDK 6. It runs with Oracle JDK 6.</p> - -<p>If you want to build for Hadoop 1, activate the build profile via <code>mvn clean package -DskipTests -Dhadoop.profile=1</code>.</p> - -<hr /> - -<h2 id="snapshots-nightly-builds">Snapshots (Nightly Builds)</h2> - -<p>Apache Flink <code>1.2-SNAPSHOT</code> is our latest development version.</p> - -<p>You can download a packaged version of our nightly builds, which include -the most recent development code. You can use them if you need a feature -before its release. Only builds that pass all tests are published here.</p> - -<ul> - <li><strong>Hadoop 1</strong>: <a href="https://s3.amazonaws.com/flink-nightly/flink-1.2-SNAPSHOT-bin-hadoop1.tgz" class="ga-track" id="download-hadoop1-nightly">flink-1.2-SNAPSHOT-bin-hadoop1.tgz</a></li> - <li><strong>Hadoop 2 and YARN</strong>: <a href="https://s3.amazonaws.com/flink-nightly/flink-1.2-SNAPSHOT-bin-hadoop2.tgz" class="ga-track" id="download-hadoop2-nightly">flink-1.2-SNAPSHOT-bin-hadoop2.tgz</a></li> -</ul> - -<p>Add the <strong>Apache Snapshot repository</strong> to your Maven <code>pom.xml</code>:</p> - -<div class="highlight"><pre><code class="language-xml"><span class="nt"><repositories></span> - <span class="nt"><repository></span> - <span class="nt"><id></span>apache.snapshots<span class="nt"></id></span> - <span class="nt"><name></span>Apache Development Snapshot Repository<span class="nt"></name></span> - <span class="nt"><url></span>https://repository.apache.org/content/repositories/snapshots/<span class="nt"></url></span> - <span class="nt"><releases><enabled></span>false<span class="nt"></enabled></releases></span> - <span class="nt"><snapshots><enabled></span>true<span class="nt"></enabled></snapshots></span> - <span class="nt"></repository></span> -<span class="nt"></repositories></span></code></pre></div> - -<p>You can now include Apache Flink as a Maven dependency (see above) with version <code>1.2-SNAPSHOT</code> (or <code>1.2-SNAPSHOT-hadoop1</code> for compatibility with old Hadoop 1.x versions).</p> - - - </div> -</div> - - - <hr /> - <div class="footer text-center"> - <p>Copyright © 2014-2016 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p>Apache Flink, Apache, 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> · <a href="/blog/feed.xml">RSS feed</a></p> - </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="/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>
