You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@falcon.apache.org by pa...@apache.org on 2016/03/01 08:22:08 UTC

[05/51] [partial] falcon git commit: Copying over falcon site related files to git asf-site

http://git-wip-us.apache.org/repos/asf/falcon/blob/8609ffd6/site/0.7/Embedded-mode.html
----------------------------------------------------------------------
diff --git a/site/0.7/Embedded-mode.html b/site/0.7/Embedded-mode.html
new file mode 100644
index 0000000..74090d4
--- /dev/null
+++ b/site/0.7/Embedded-mode.html
@@ -0,0 +1,276 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 2015-11-30
+ | Rendered using Apache Maven Fluido Skin 1.3.0
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="Date-Revision-yyyymmdd" content="20151130" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Falcon - Embedded Mode</title>
+    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
+    <link rel="stylesheet" href="./css/site.css" />
+    <link rel="stylesheet" href="./css/print.css" media="print" />
+
+      
+    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script>
+
+                          
+        
+<script type="text/javascript">$( document ).ready( function() { $( '.carousel' ).carousel( { interval: 3500 } ) } );</script>
+          
+            </head>
+        <body class="topBarDisabled">
+          
+                        
+                    
+    
+        <div class="container">
+          <div id="banner">
+        <div class="pull-left">
+                                <div id="bannerLeft">
+                                                                                                <img src="images/falcon-logo.png"  alt="Apache Falcon" width="200px" height="45px"/>
+                </div>
+                      </div>
+        <div class="pull-right">  </div>
+        <div class="clear"><hr/></div>
+      </div>
+
+      <div id="breadcrumbs">
+        <ul class="breadcrumb">
+                
+                    
+                              <li class="">
+                    <a href="index.html" title="Falcon">
+        Falcon</a>
+        </li>
+      <li class="divider ">/</li>
+        <li class="">Embedded Mode</li>
+        
+                
+                    
+                  <li id="publishDate" class="pull-right">Last Published: 2015-11-30</li> <li class="divider pull-right">|</li>
+              <li id="projectVersion" class="pull-right">Version: 0.7</li>
+            
+                            </ul>
+      </div>
+
+      
+                
+        <div id="bodyColumn" >
+                                  
+            <div class="section">
+<h2>Embedded Mode<a name="Embedded_Mode"></a></h2>
+<p>Following are the steps needed to package and deploy Falcon in Embedded Mode. You need to complete Steps 1-3 mentioned  <a href="./InstallationSteps.html">here</a> before proceeding further.</p></div>
+<div class="section">
+<h3>Package Falcon<a name="Package_Falcon"></a></h3>
+<p>Ensure that you are in the base directory (where you cloned Falcon). Let&#xe2;&#x80;&#x99;s call it {project dir}</p>
+<div class="source">
+<pre>
+$mvn clean assembly:assembly -DskipTests -DskipCheck=true
+
+</pre></div>
+<div class="source">
+<pre>
+$ls {project dir}/target/
+
+</pre></div>
+<p>It should give an output like below :</p>
+<div class="source">
+<pre>
+apache-falcon-${project.version}-bin.tar.gz
+apache-falcon-${project.version}-sources.tar.gz
+archive-tmp
+maven-shared-archive-resources
+
+</pre></div>
+<p>* apache-falcon-${project.version}-sources.tar.gz contains source files of Falcon repo.</p>
+<p>* apache-falcon-${project.version}-bin.tar.gz package contains project artifacts along with it's dependencies, configuration files and scripts required to deploy Falcon.</p>
+<p>Tar can be found in {project dir}/target/apache-falcon-${project.version}-bin.tar.gz</p>
+<p>Tar is structured as follows :</p>
+<div class="source">
+<pre>
+
+|- bin
+   |- falcon
+   |- falcon-start
+   |- falcon-stop
+   |- falcon-status
+   |- falcon-config.sh
+   |- service-start.sh
+   |- service-stop.sh
+   |- service-status.sh
+|- conf
+   |- startup.properties
+   |- runtime.properties
+   |- prism.keystore
+   |- client.properties
+   |- log4j.xml
+   |- falcon-env.sh
+|- docs
+|- client
+   |- lib (client support libs)
+|- server
+   |- webapp
+      |- falcon.war
+|- data
+   |- falcon-store
+   |- graphdb
+   |- localhost
+|- examples
+   |- app
+      |- hive
+      |- oozie-mr
+      |- pig
+   |- data
+   |- entity
+      |- filesystem
+      |- hcat
+|- oozie
+   |- conf
+   |- libext
+|- logs
+|- hadooplibs
+|- README
+|- NOTICE.txt
+|- LICENSE.txt
+|- DISCLAIMER.txt
+|- CHANGES.txt
+
+</pre></div></div>
+<div class="section">
+<h3>Installing &amp; running Falcon<a name="Installing__running_Falcon"></a></h3>
+<p>Running Falcon in embedded mode requires bringing up server.</p>
+<div class="source">
+<pre>
+$tar -xzvf {falcon package}
+$cd falcon-${project.version}
+
+</pre></div></div>
+<div class="section">
+<h4>Starting Falcon Server<a name="Starting_Falcon_Server"></a></h4>
+<div class="source">
+<pre>
+$cd falcon-${project.version}
+$bin/falcon-start [-port &lt;port&gt;]
+
+</pre></div>
+<p>By default, * If falcon.enableTLS is set to true explicitly or not set at all, Falcon starts at port 15443 on <a class="externalLink" href="https://">https://</a> by default.</p>
+<p>* If falcon.enableTLS is set to false explicitly, Falcon starts at port 15000 on <a class="externalLink" href="http://.">http://.</a></p>
+<p>* To change the port, use -port option.</p>
+<p>* If falcon.enableTLS is not set explicitly, port that ends with 443 will automatically put Falcon on <a class="externalLink" href="https://.">https://.</a> Any other port will put Falcon on <a class="externalLink" href="http://.">http://.</a></p>
+<p>* Server starts with conf from {falcon-server-dir}/falcon-distributed-${project.version}/conf. To override this (to use the same conf with multiple server upgrades), set environment variable FALCON_CONF to the path of conf dir. You can find  the instructions for configuring Falcon <a href="./Configuration.html">here</a>.</p></div>
+<div class="section">
+<h4>Enabling server-client<a name="Enabling_server-client"></a></h4>
+<p>If server is not started using default-port 15443 then edit the following property in {falcon-server-dir}/falcon-${project.version}/conf/client.properties</p>
+<p>falcon.url=http://{machine-ip}:{server-port}/</p></div>
+<div class="section">
+<h4>Using Falcon<a name="Using_Falcon"></a></h4>
+<div class="source">
+<pre>
+$cd falcon-${project.version}
+$bin/falcon admin -version
+Falcon server build version: {Version:&quot;${project.version}-SNAPSHOT-rd7e2be9afa2a5dc96acd1ec9e325f39c6b2f17f7&quot;,Mode:
+&quot;embedded&quot;,Hadoop:&quot;${hadoop.version}&quot;}
+
+$bin/falcon help
+(for more details about Falcon cli usage)
+
+</pre></div>
+<p><b>Note</b> : https is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. By default Falcon runs in https mode. But user can configure it to http.</p></div>
+<div class="section">
+<h4>Dashboard<a name="Dashboard"></a></h4>
+<p>Once Falcon server is started, you can view the status of Falcon entities using the Web-based dashboard. You can open your browser at the corresponding port to use the web UI.</p>
+<p>Falcon dashboard makes the REST api calls as user &quot;falcon-dashboard&quot;. If this user does not exist on your Falcon and Oozie servers, please create the user.</p>
+<div class="source">
+<pre>
+## create user.
+[root@falconhost ~] useradd -U -m falcon-dashboard -G users
+
+## verify user is created with membership in correct groups.
+[root@falconhost ~] groups falcon-dashboard
+falcon-dashboard : falcon-dashboard users
+[root@falconhost ~]
+
+</pre></div></div>
+<div class="section">
+<h3>Running Examples using embedded package<a name="Running_Examples_using_embedded_package"></a></h3>
+<div class="source">
+<pre>
+$cd falcon-${project.version}
+$bin/falcon-start
+
+</pre></div>
+<p>Make sure the Hadoop and Oozie endpoints are according to your setup in examples/entity/filesystem/standalone-cluster.xml The cluster locations,staging and working dirs, MUST be created prior to submitting a cluster entity to Falcon. <b>staging</b> must have 777 permissions and the parent dirs must have execute permissions <b>working</b> must have 755 permissions and the parent dirs must have execute permissions</p>
+<div class="source">
+<pre>
+$bin/falcon entity -submit -type cluster -file examples/entity/filesystem/standalone-cluster.xml
+
+</pre></div>
+<p>Submit input and output feeds:</p>
+<div class="source">
+<pre>
+$bin/falcon entity -submit -type feed -file examples/entity/filesystem/in-feed.xml
+$bin/falcon entity -submit -type feed -file examples/entity/filesystem/out-feed.xml
+
+</pre></div>
+<p>Set-up workflow for the process:</p>
+<div class="source">
+<pre>
+$hadoop fs -put examples/app /
+
+</pre></div>
+<p>Submit and schedule the process:</p>
+<div class="source">
+<pre>
+$bin/falcon entity -submitAndSchedule -type process -file examples/entity/filesystem/oozie-mr-process.xml
+$bin/falcon entity -submitAndSchedule -type process -file examples/entity/filesystem/pig-process.xml
+
+</pre></div>
+<p>Generate input data:</p>
+<div class="source">
+<pre>
+$examples/data/generate.sh &lt;&lt;hdfs endpoint&gt;&gt;
+
+</pre></div>
+<p>Get status of instances:</p>
+<div class="source">
+<pre>
+$bin/falcon instance -status -type process -name oozie-mr-process -start 2013-11-15T00:05Z -end 2013-11-15T01:00Z
+
+</pre></div>
+<p>HCat based example entities are in examples/entity/hcat.</p></div>
+<div class="section">
+<h4>Stopping Falcon Server<a name="Stopping_Falcon_Server"></a></h4>
+<div class="source">
+<pre>
+$cd falcon-${project.version}
+$bin/falcon-stop
+
+</pre></div></div>
+                  </div>
+          </div>
+
+    <hr/>
+
+    <footer>
+            <div class="container">
+              <div class="row span12">Copyright &copy;                    2013-2015
+                        <a href="http://www.apache.org">Apache Software Foundation</a>.
+            All Rights Reserved.      
+                    
+      </div>
+
+                          
+                <p id="poweredBy" class="pull-right">
+                          <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+              </p>
+        
+                </div>
+    </footer>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/falcon/blob/8609ffd6/site/0.7/EntityDependency.png
----------------------------------------------------------------------
diff --git a/site/0.7/EntityDependency.png b/site/0.7/EntityDependency.png
new file mode 100644
index 0000000..9f11870
Binary files /dev/null and b/site/0.7/EntityDependency.png differ

http://git-wip-us.apache.org/repos/asf/falcon/blob/8609ffd6/site/0.7/EntitySpecification.html
----------------------------------------------------------------------
diff --git a/site/0.7/EntitySpecification.html b/site/0.7/EntitySpecification.html
new file mode 100644
index 0000000..f72ac2f
--- /dev/null
+++ b/site/0.7/EntitySpecification.html
@@ -0,0 +1,858 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 2015-11-30
+ | Rendered using Apache Maven Fluido Skin 1.3.0
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="Date-Revision-yyyymmdd" content="20151130" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Falcon - Contents</title>
+    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
+    <link rel="stylesheet" href="./css/site.css" />
+    <link rel="stylesheet" href="./css/print.css" media="print" />
+
+      
+    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script>
+
+                          
+        
+<script type="text/javascript">$( document ).ready( function() { $( '.carousel' ).carousel( { interval: 3500 } ) } );</script>
+          
+            </head>
+        <body class="topBarDisabled">
+          
+                        
+                    
+    
+        <div class="container">
+          <div id="banner">
+        <div class="pull-left">
+                                <div id="bannerLeft">
+                                                                                                <img src="images/falcon-logo.png"  alt="Apache Falcon" width="200px" height="45px"/>
+                </div>
+                      </div>
+        <div class="pull-right">  </div>
+        <div class="clear"><hr/></div>
+      </div>
+
+      <div id="breadcrumbs">
+        <ul class="breadcrumb">
+                
+                    
+                              <li class="">
+                    <a href="index.html" title="Falcon">
+        Falcon</a>
+        </li>
+      <li class="divider ">/</li>
+        <li class="">Contents</li>
+        
+                
+                    
+                  <li id="publishDate" class="pull-right">Last Published: 2015-11-30</li> <li class="divider pull-right">|</li>
+              <li id="projectVersion" class="pull-right">Version: 0.7</li>
+            
+                            </ul>
+      </div>
+
+      
+                
+        <div id="bodyColumn" >
+                                  
+            <div class="section">
+<h3>Contents<a name="Contents"></a></h3>
+<p></p>
+<ul>
+<li><a href="#Cluster_Specification">Cluster Specification</a></li>
+<li><a href="#Feed_Specification">Feed Specification</a></li>
+<li><a href="#Process_Specification">Process Specification</a></li></ul></div>
+<div class="section">
+<h3>Cluster Specification<a name="Cluster_Specification"></a></h3>
+<p>The cluster XSD specification is available here: A cluster contains different interfaces which are used by Falcon like readonly, write, workflow and messaging. A cluster is referenced by feeds and processes which are on-boarded to Falcon by its name.</p>
+<p>Following are the tags defined in a cluster.xml:</p>
+<div class="source">
+<pre>
+&lt;cluster colo=&quot;gs&quot; description=&quot;&quot; name=&quot;corp&quot; xmlns=&quot;uri:falcon:cluster:0.1&quot;
+ xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&gt;
+
+</pre></div>
+<p>The colo specifies the colo to which this cluster belongs to and name is the name of the cluster which has to  be unique.</p></div>
+<div class="section">
+<h4>Interfaces<a name="Interfaces"></a></h4>
+<p>A cluster has various interfaces as described below:</p>
+<div class="source">
+<pre>
+    &lt;interface type=&quot;readonly&quot; endpoint=&quot;hftp://localhost:50010&quot; version=&quot;0.20.2&quot; /&gt;
+
+</pre></div>
+<p>A readonly interface specifies the endpoint for Hadoop's HFTP protocol,  this would be used in the context of feed replication.</p>
+<div class="source">
+<pre>
+&lt;interface type=&quot;write&quot; endpoint=&quot;hdfs://localhost:8020&quot; version=&quot;0.20.2&quot; /&gt;
+
+</pre></div>
+<p>A write interface specifies the interface to write to hdfs, it's endpoint is the value of fs.defaultFS. Falcon uses this interface to write system data to hdfs and feeds referencing this cluster are written to hdfs using the same write interface.</p>
+<div class="source">
+<pre>
+&lt;interface type=&quot;execute&quot; endpoint=&quot;localhost:8021&quot; version=&quot;0.20.2&quot; /&gt;
+
+</pre></div>
+<p>An execute interface specifies the interface for job tracker, it's endpoint is the value of mapreduce.jobtracker.address. Falcon uses this interface to submit the processes as jobs on JobTracker defined here.</p>
+<div class="source">
+<pre>
+&lt;interface type=&quot;workflow&quot; endpoint=&quot;http://localhost:11000/oozie/&quot; version=&quot;4.0&quot; /&gt;
+
+</pre></div>
+<p>A workflow interface specifies the interface for workflow engine, example of its endpoint is the value for OOZIE_URL. Falcon uses this interface to schedule the processes referencing this cluster on workflow engine defined here.</p>
+<div class="source">
+<pre>
+&lt;interface type=&quot;registry&quot; endpoint=&quot;thrift://localhost:9083&quot; version=&quot;0.11.0&quot; /&gt;
+
+</pre></div>
+<p>A registry interface specifies the interface for metadata catalog, such as Hive Metastore (or HCatalog). Falcon uses this interface to register/de-register partitions for a given database and table. Also, uses this information to schedule data availability events based on partitions in the workflow engine. Although Hive metastore supports both RPC and HTTP, Falcon comes with an implementation for RPC over thrift.</p>
+<div class="source">
+<pre>
+&lt;interface type=&quot;messaging&quot; endpoint=&quot;tcp://localhost:61616?daemon=true&quot; version=&quot;5.4.6&quot; /&gt;
+
+</pre></div>
+<p>A messaging interface specifies the interface for sending feed availability messages, it's endpoint is broker url with tcp address.</p></div>
+<div class="section">
+<h4>Locations<a name="Locations"></a></h4>
+<p>A cluster has a list of locations defined:</p>
+<div class="source">
+<pre>
+&lt;location name=&quot;staging&quot; path=&quot;/projects/falcon/staging&quot; /&gt;
+&lt;location name=&quot;working&quot; path=&quot;/projects/falcon/working&quot; /&gt; &lt;!--optional--&gt;
+
+</pre></div>
+<p>Location has the name and the path, name is the type of locations .Allowed values of name are staging, temp and working. Path is the hdfs path for each location. Falcon would use the location to do intermediate processing of entities in hdfs and hence Falcon should have read/write/execute permission on these locations. These locations MUST be created prior to submitting a cluster entity to Falcon. <b>staging</b> should have 777 permissions and is a mandatory location .The parent dirs must have execute permissions so multiple users can write to this location. <b>working</b> must have 755 permissions and is a optional location. If <b>working</b> is not specified, falcon creates a sub directory in the <b>staging</b> location with 755 perms. The parent dir for <b>working</b> must have execute permissions so multiple users can read from this location</p></div>
+<div class="section">
+<h4>ACL<a name="ACL"></a></h4>
+<p>A cluster has ACL (Access Control List) useful for implementing permission requirements and provide a way to set different permissions for specific users or named groups.</p>
+<div class="source">
+<pre>
+    &lt;ACL owner=&quot;test-user&quot; group=&quot;test-group&quot; permission=&quot;*&quot;/&gt;
+
+</pre></div>
+<p>ACL indicates the Access control list for this cluster. owner is the Owner of this entity. group is the one which has access to read. permission indicates the permission.</p></div>
+<div class="section">
+<h4>Custom Properties<a name="Custom_Properties"></a></h4>
+<p>A cluster has a list of properties: A key-value pair, which are propagated to the workflow engine.</p>
+<div class="source">
+<pre>
+&lt;property name=&quot;brokerImplClass&quot; value=&quot;org.apache.activemq.ActiveMQConnectionFactory&quot; /&gt;
+
+</pre></div>
+<p>Ideally JMS impl class name of messaging engine (brokerImplClass)  should be defined here.</p></div>
+<div class="section">
+<h3>Feed Specification<a name="Feed_Specification"></a></h3>
+<p>The Feed XSD specification is available here. A Feed defines various attributes of feed like feed location, frequency, late-arrival handling and retention policies. A feed can be scheduled on a cluster, once a feed is scheduled its retention and replication process are triggered in a given cluster.</p>
+<div class="source">
+<pre>
+&lt;feed description=&quot;clicks log&quot; name=&quot;clicks&quot; xmlns=&quot;uri:falcon:feed:0.1&quot;
+xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&gt;
+
+</pre></div>
+<p>A feed should have a unique name and this name is referenced by processes as input or output feed.</p></div>
+<div class="section">
+<h4>Storage<a name="Storage"></a></h4>
+<p>Falcon introduces a new abstraction to encapsulate the storage for a given feed which can either be expressed as a path on the file system, File System Storage or a table in a catalog such as Hive, Catalog Storage.</p>
+<div class="source">
+<pre>
+    &lt;xs:choice minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
+        &lt;xs:element type=&quot;locations&quot; name=&quot;locations&quot;/&gt;
+        &lt;xs:element type=&quot;catalog-table&quot; name=&quot;table&quot;/&gt;
+    &lt;/xs:choice&gt;
+
+</pre></div>
+<p>Feed should contain one of the two storage options. Locations on File System or Table in a Catalog.</p></div>
+<div class="section">
+<h5>File System Storage<a name="File_System_Storage"></a></h5>
+<div class="source">
+<pre>
+        &lt;clusters&gt;
+        &lt;cluster name=&quot;test-cluster&quot;&gt;
+            &lt;validity start=&quot;2012-07-20T03:00Z&quot; end=&quot;2099-07-16T00:00Z&quot;/&gt;
+            &lt;retention limit=&quot;days(10)&quot; action=&quot;delete&quot;/&gt;
+            &lt;sla slaLow=&quot;hours(3)&quot; slaHigh=&quot;hours(4)&quot;/&gt;
+            &lt;locations&gt;
+                &lt;location type=&quot;data&quot; path=&quot;/hdfsDataLocation/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}&quot;/&gt;
+                &lt;location type=&quot;stats&quot; path=&quot;/projects/falcon/clicksStats&quot; /&gt;
+                &lt;location type=&quot;meta&quot; path=&quot;/projects/falcon/clicksMetaData&quot; /&gt;
+            &lt;/locations&gt;
+        &lt;/cluster&gt;
+..... more clusters &lt;/clusters&gt;
+
+</pre></div>
+<p>Feed references a cluster by it's name, before submitting a feed all the referenced cluster should be submitted to Falcon. type: specifies whether the referenced cluster should be treated as a source or target for a feed. A feed can have multiple source and target clusters. If the type of cluster is not specified then the cluster is not considered for replication. Validity of a feed on cluster specifies duration for which this feed is valid on this cluster. Retention specifies how long the feed is retained on this cluster and the action to be taken on the feed after the expiry of retention period. The retention limit is specified by expression frequency(times), ex: if feed should be retained for at least 6 hours then retention's limit=&quot;hours(6)&quot;. The field partitionExp contains partition tags. Number of partition tags has to be equal to number of partitions specified in feed schema. A partition tag can be a wildcard(*), a static string or an expression. Atleast one of t
 he strings has to be an expression. sla specifies sla for the feed on this cluster. This is an optional parameter and sla can be same or different from the global sla tag (mentioned outside the clusters tag ). This tag provides the user to flexibility to have different sla for different clusters e.g. in case of replication. If this attribute is missing then the default global sla is picked from the feed definition. Location specifies where the feed is available on this cluster. This is an optional parameter and path can be same or different from the global locations tag value ( it is mentioned outside the clusters tag ) . This tag provides the user to flexibility to have feed at different locations on different clusters. If this attribute is missing then the default global location is picked from the feed definition. Also the individual location tags data, stats, meta are optional.</p>
+<div class="source">
+<pre>
+ &lt;location type=&quot;data&quot; path=&quot;/projects/falcon/clicks&quot; /&gt;
+ &lt;location type=&quot;stats&quot; path=&quot;/projects/falcon/clicksStats&quot; /&gt;
+ &lt;location type=&quot;meta&quot; path=&quot;/projects/falcon/clicksMetaData&quot; /&gt;
+
+</pre></div>
+<p>A location tag specifies the type of location like data, meta, stats and the corresponding paths for them. A feed should at least define the location for type data, which specifies the HDFS path pattern where the feed is generated periodically. ex: type=&quot;data&quot; path=&quot;/projects/TrafficHourly/${YEAR}-${MONTH}-${DAY}/traffic&quot; The granularity of date pattern in the path should be at least that of a frequency of a feed. Other location type which are supported are stats and meta paths, if a process references a feed then the meta and stats paths are available as a property in a process.</p></div>
+<div class="section">
+<h5>Catalog Storage (Table)<a name="Catalog_Storage_Table"></a></h5>
+<p>A table tag specifies the table URI in the catalog registry as:</p>
+<div class="source">
+<pre>
+catalog:$database-name:$table-name#partition-key=partition-value);partition-key=partition-value);*
+
+</pre></div>
+<p>This is modeled as a URI (similar to an ISBN URI). It does not have any reference to Hive or HCatalog. Its quite generic so it can be tied to other implementations of a catalog registry. The catalog implementation specified in the startup config provides implementation for the catalog URI.</p>
+<p>Top-level partition has to be a dated pattern and the granularity of date pattern should be at least that of a frequency of a feed.</p>
+<div class="source">
+<pre>
+    &lt;xs:complexType name=&quot;catalog-table&quot;&gt;
+        &lt;xs:annotation&gt;
+            &lt;xs:documentation&gt;
+                catalog specifies the uri of a Hive table along with the partition spec.
+                uri=&quot;catalog:$database:$table#(partition-key=partition-value);+&quot;
+                Example: catalog:logs-db:clicks#ds=${YEAR}-${MONTH}-${DAY}
+            &lt;/xs:documentation&gt;
+        &lt;/xs:annotation&gt;
+        &lt;xs:attribute type=&quot;xs:string&quot; name=&quot;uri&quot; use=&quot;required&quot;/&gt;
+    &lt;/xs:complexType&gt;
+
+</pre></div>
+<p>Examples:</p>
+<div class="source">
+<pre>
+&lt;table uri=&quot;catalog:default:clicks#ds=${YEAR}-${MONTH}-${DAY}-${HOUR};region=${region}&quot; /&gt;
+&lt;table uri=&quot;catalog:src_demo_db:customer_raw#ds=${YEAR}-${MONTH}-${DAY}-${HOUR}&quot; /&gt;
+&lt;table uri=&quot;catalog:tgt_demo_db:customer_bcp#ds=${YEAR}-${MONTH}-${DAY}-${HOUR}&quot; /&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Partitions<a name="Partitions"></a></h4>
+<div class="source">
+<pre>
+   &lt;partitions&gt;
+        &lt;partition name=&quot;country&quot; /&gt;
+        &lt;partition name=&quot;cluster&quot; /&gt;
+    &lt;/partitions&gt;
+
+</pre></div>
+<p>A feed can define multiple partitions, if a referenced cluster defines partitions then the number of partitions in feed has to be equal to or more than the cluster partitions.</p>
+<p><b>Note:</b> This will only apply for FileSystem storage but not Table storage as partitions are defined and maintained in Hive (HCatalog) registry.</p></div>
+<div class="section">
+<h4>Groups<a name="Groups"></a></h4>
+<div class="source">
+<pre>
+    &lt;groups&gt;online,bi&lt;/groups&gt;
+
+</pre></div>
+<p>A feed specifies a list of comma separated groups, a group is a logical grouping of feeds and a group is said to be available if all the feeds belonging to a group are available. The frequency of all the feed which belong to the same group must be same.</p></div>
+<div class="section">
+<h4>Availability Flags<a name="Availability_Flags"></a></h4>
+<div class="source">
+<pre>
+    &lt;availabilityFlag&gt;_SUCCESS&lt;/availabilityFlag&gt;
+
+</pre></div>
+<p>An availabilityFlag specifies the name of a file which when present/created in a feeds data directory,  the feed is termed as available. ex: _SUCCESS, if this element is ignored then Falcon would consider the presence of feed's data directory as feed availability.</p></div>
+<div class="section">
+<h4>Frequency<a name="Frequency"></a></h4>
+<div class="source">
+<pre>
+    &lt;frequency&gt;minutes(20)&lt;/frequency&gt;
+
+</pre></div>
+<p>A feed has a frequency which specifies the frequency by which this feed is generated.  ex: it can be generated every hour, every 5 minutes, daily, weekly etc. valid frequency type for a feed are minutes, hours, days, months. The values can be negative, zero or positive.</p></div>
+<div class="section">
+<h4>SLA<a name="SLA"></a></h4>
+<div class="source">
+<pre>
+    &lt;sla slaLow=&quot;hours(40)&quot; slaHigh=&quot;hours(44)&quot; /&gt;
+
+</pre></div>
+<p>A feed can have SLA and each SLA has two properties - slaLow and slaHigh. Both slaLow and slaHigh are written using expressions like frequency. slaLow is intended to serve for alerting for feed instances which are in danger of missing their availability SLAs. slaHigh is intended to serve for reporting the feeds which missed their SLAs. SLAs are relative to feed instance time.</p></div>
+<div class="section">
+<h4>Late Arrival<a name="Late_Arrival"></a></h4>
+<div class="source">
+<pre>
+    &lt;late-arrival cut-off=&quot;hours(6)&quot; /&gt;
+
+</pre></div>
+<p>A late-arrival specifies the cut-off period till which the feed is expected to arrive late and should be honored be processes referring to it as input feed by rerunning the instances in case the data arrives late with in a cut-off period. The cut-off period is specified by expression frequency(times), ex: if the feed can arrive late upto 8 hours then late-arrival's cut-off=&quot;hours(8)&quot;</p>
+<p><b>Note:</b> This will only apply for FileSystem storage but not Table storage until a future time.</p></div>
+<div class="section">
+<h4>ACL<a name="ACL"></a></h4>
+<p>A feed has ACL (Access Control List) useful for implementing permission requirements and provide a way to set different permissions for specific users or named groups.</p>
+<div class="source">
+<pre>
+    &lt;ACL owner=&quot;test-user&quot; group=&quot;test-group&quot; permission=&quot;*&quot;/&gt;
+
+</pre></div>
+<p>ACL indicates the Access control list for this cluster. owner is the Owner of this entity. group is the one which has access to read. permission indicates the permission.</p></div>
+<div class="section">
+<h4>Custom Properties<a name="Custom_Properties"></a></h4>
+<div class="source">
+<pre>
+    &lt;properties&gt;
+        &lt;property name=&quot;tmpFeedPath&quot; value=&quot;tmpFeedPathValue&quot; /&gt;
+        &lt;property name=&quot;field2&quot; value=&quot;value2&quot; /&gt;
+        &lt;property name=&quot;queueName&quot; value=&quot;hadoopQueue&quot;/&gt;
+        &lt;property name=&quot;jobPriority&quot; value=&quot;VERY_HIGH&quot;/&gt;
+        &lt;property name=&quot;timeout&quot; value=&quot;hours(1)&quot;/&gt;
+        &lt;property name=&quot;parallel&quot; value=&quot;3&quot;/&gt;
+        &lt;property name=&quot;maxMaps&quot; value=&quot;8&quot;/&gt;
+        &lt;property name=&quot;mapBandwidth&quot; value=&quot;1&quot;/&gt;
+        &lt;property name=&quot;overwrite&quot; value=&quot;true&quot;/&gt;
+        &lt;property name=&quot;ignoreErrors&quot; value=&quot;false&quot;/&gt;
+        &lt;property name=&quot;skipChecksum&quot; value=&quot;false&quot;/&gt;
+        &lt;property name=&quot;removeDeletedFiles&quot; value=&quot;true&quot;/&gt;
+        &lt;property name=&quot;preserveBlockSize&quot; value=&quot;true&quot;/&gt;
+        &lt;property name=&quot;preserveReplicationNumber&quot; value=&quot;true&quot;/&gt;
+        &lt;property name=&quot;preservePermission&quot; value=&quot;true&quot;/&gt;
+        &lt;property name=&quot;order&quot; value=&quot;LIFO&quot;/&gt;
+    &lt;/properties&gt;
+
+</pre></div>
+<p>A key-value pair, which are propagated to the workflow engine. &quot;queueName&quot; and &quot;jobPriority&quot; are special properties available to user to specify the Hadoop job queue and priority, the same values are used by Falcon's launcher job. &quot;timeout&quot;, &quot;parallel&quot; and &quot;order&quot; are other special properties which decides replication instance's timeout value while waiting for the feed instance, parallel decides the concurrent replication instances that can run at any given time and order decides the execution order for replication instances like FIFO, LIFO and LAST_ONLY. <a href="./DistCp.html">DistCp</a> options can be passed as custom properties, which will be propagated to the <a href="./DistCp.html">DistCp</a> tool. &quot;maxMaps&quot; represents the maximum number of maps used during replication. &quot;mapBandwidth&quot; represents the bandwidth in MB/s used by each mapper during replication. &quot;overwrite&quot; represents overwrite destin
 ation during replication. &quot;ignoreErrors&quot; represents ignore failures not causing the job to fail during replication. &quot;skipChecksum&quot; represents bypassing checksum verification during replication. &quot;removeDeletedFiles&quot; represents deleting the files existing in the destination but not in source during replication. &quot;preserveBlockSize&quot; represents preserving block size during replication. &quot;preserveReplicationNumber&quot; represents preserving replication number during replication. &quot;preservePermission&quot; represents preserving permission during</p></div>
+<div class="section">
+<h3>Process Specification<a name="Process_Specification"></a></h3>
+<p>A process defines configuration for a workflow. A workflow is a directed acyclic graph(DAG) which defines the job for the workflow engine. A process definition defines  the configurations required to run the workflow job. For example, process defines the frequency at which the workflow should run, the clusters on which the workflow should run, the inputs and outputs for the workflow, how the workflow failures should be handled, how the late inputs should be handled and so on.</p>
+<p>The different details of process are:</p></div>
+<div class="section">
+<h4>Name<a name="Name"></a></h4>
+<p>Each process is identified with a unique name. Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+&lt;/process&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Tags<a name="Tags"></a></h4>
+<p>An optional list of comma separated tags which are used for classification of processes. Syntax:</p>
+<div class="source">
+<pre>
+...
+    &lt;tags&gt;consumer=consumer@xyz.com, owner=producer@xyz.com, department=forecasting&lt;/tags&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Pipelines<a name="Pipelines"></a></h4>
+<p>An optional list of comma separated word strings, specifies the data processing pipeline(s) to which this process belongs. Only letters, numbers and underscore are allowed for pipeline string. Syntax:</p>
+<div class="source">
+<pre>
+...
+    &lt;pipelines&gt;test_Pipeline, dataReplication, clickStream_pipeline&lt;/pipelines&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Cluster<a name="Cluster"></a></h4>
+<p>The cluster on which the workflow should run. A process should contain one or more clusters. Cluster definition for the cluster name gives the end points for workflow execution, name node, job tracker, messaging and so on. Each cluster inturn has validity mentioned, which tell the times between which the job should run on that specified cluster.  Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+   &lt;clusters&gt;
+        &lt;cluster name=&quot;test-cluster1&quot;&gt;
+            &lt;validity start=&quot;2012-12-21T08:15Z&quot; end=&quot;2100-01-01T00:00Z&quot;/&gt;
+        &lt;/cluster&gt;
+        &lt;cluster name=&quot;test-cluster2&quot;&gt;
+            &lt;validity start=&quot;2012-12-21T08:15Z&quot; end=&quot;2100-01-01T00:00Z&quot;/&gt;
+        &lt;/cluster&gt;
+       ....
+       ....
+    &lt;/clusters&gt;
+
+...
+&lt;/process&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Parallel<a name="Parallel"></a></h4>
+<p>Parallel defines how many instances of the workflow can run concurrently. It should be a positive integer &gt; 0. For example, parallel of 1 ensures that only one instance of the workflow can run at a time. The next instance will start only after the running instance completes. Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+   &lt;parallel&gt;[parallel]&lt;/parallel&gt;
+...
+&lt;/process&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Order<a name="Order"></a></h4>
+<p>Order defines the order in which the ready instances are picked up. The possible values are FIFO(First In First Out), LIFO(Last In First Out), and ONLYLAST(Last Only). Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+   &lt;order&gt;[order]&lt;/order&gt;
+...
+&lt;/process&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Timeout<a name="Timeout"></a></h4>
+<p>A optional Timeout specifies the maximum time an instance waits for a dataset before being killed by the workflow engine, a time out is specified like frequency. If timeout is not specified, falcon computes a default timeout for a process based on its frequency, which is six times of the frequency of process or 30 minutes if computed timeout is less than 30 minutes.</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+   &lt;timeout&gt;[timeunit]([frequency])&lt;/timeout&gt;
+...
+&lt;/process&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Frequency<a name="Frequency"></a></h4>
+<p>Frequency defines how frequently the workflow job should run. For example, hours(1) defines the frequency as hourly, days(7) defines weekly frequency. The values for timeunit can be minutes/hours/days/months and the frequency number should be a positive integer &gt; 0.  Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+   &lt;frequency&gt;[timeunit]([frequency])&lt;/order&gt;
+...
+&lt;/process&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>SLA<a name="SLA"></a></h4>
+<div class="source">
+<pre>
+    &lt;sla shouldStartIn=&quot;hours(2)&quot; shouldEndIn=&quot;hours(4)&quot;/&gt;
+
+</pre></div>
+<p>A process can have SLA which is defined by 2 optional attributes - shouldStartIn and shouldEndIn. All the attributes are written using expressions like frequency. shouldStartIn is the time by which the process should have started. shouldEndIn is the time by which the process should have finished.</p></div>
+<div class="section">
+<h4>Validity<a name="Validity"></a></h4>
+<p>Validity defines how long the workflow should run. It has 3 components - start time, end time and timezone. Start time and end time are timestamps defined in yyyy-MM-dd'T'HH:mm'Z' format and should always be in UTC. Timezone is used to compute the next instances starting from start time. The workflow will start at start time and end before end time specified on a given cluster. So, there will not be a workflow instance at end time. Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+   &lt;validity start=[start time] end=[end time] timezone=[timezone]/&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>Examples:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;sample-process&quot;&gt;
+...
+    &lt;frequency&gt;days(1)&lt;/frequency&gt;
+    &lt;validity start=&quot;2012-01-01T00:40Z&quot; end=&quot;2012-04-01T00:00&quot; timezone=&quot;UTC&quot;/&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>The daily workflow will start on Jan 1st 2012 at 00:40 UTC, it will run at 40th minute of every hour and the last instance will be at March 31st 2012 at 23:40 UTC.</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;sample-process&quot;&gt;
+...
+    &lt;frequency&gt;hours(1)&lt;/frequency&gt;
+    &lt;validity start=&quot;2012-03-11T08:40Z&quot; end=&quot;2012-03-12T08:00&quot; timezone=&quot;PST8PDT&quot;/&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>The hourly workflow will start on March 11th 2012 at 00:40 PST, the next instances will be at 01:40 PST, 03:40 PDT, 04:40 PDT and so on till 23:40 PDT. So, there will be just 23 instances of the workflow for March 11th 2012 because of DST switch.</p></div>
+<div class="section">
+<h4>Inputs<a name="Inputs"></a></h4>
+<p>Inputs define the input data for the workflow. The workflow job will start executing only after the schedule time and when all the inputs are available. There can be 0 or more inputs and each of the input maps to a feed. The path and frequency of input data is picked up from feed definition. Each input should also define start and end instances in terms of <a href="./FalconDocumentation.html">EL expressions</a> and can optionally specify specific partition of input that the workflow requires. The components in partition should be subset of partitions defined in the feed.</p>
+<p>For each input, Falcon will create a property with the input name that contains the comma separated list of input paths. This property can be used in workflow actions like pig scripts and so on.</p>
+<p>Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+    &lt;inputs&gt;
+        &lt;input name=[input name] feed=[feed name] start=[start el] end=[end el] partition=[partition]/&gt;
+        ...
+    &lt;/inputs&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>Example:</p>
+<div class="source">
+<pre>
+&lt;feed name=&quot;feed1&quot;&gt;
+...
+    &lt;partition name=&quot;isFraud&quot;/&gt;
+    &lt;partition name=&quot;country&quot;/&gt;
+    &lt;frequency&gt;hours(1)&lt;/frequency&gt;
+    &lt;locations&gt;
+        &lt;location type=&quot;data&quot; path=&quot;/projects/bootcamp/feed1/${YEAR}-${MONTH}-${DAY}-${HOUR}&quot;/&gt;
+        ...
+    &lt;/locations&gt;
+...
+&lt;/feed&gt;
+&lt;process name=&quot;sample-process&quot;&gt;
+...
+    &lt;inputs&gt;
+        &lt;input name=&quot;input1&quot; feed=&quot;feed1&quot; start=&quot;today(0,0)&quot; end=&quot;today(1,0)&quot; partition=&quot;*/US&quot;/&gt;
+        ...
+    &lt;/inputs&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>The input for the workflow is a hourly feed and takes 0th and 1st hour data of today(the day when the workflow runs). If the workflow is running for 2012-03-01T06:40Z, the inputs are /projects/bootcamp/feed1/2012-03-01-00/*/US and /projects/bootcamp/feed1/2012-03-01-01/*/US. The property for this input is input1=/projects/bootcamp/feed1/2012-03-01-00/*/US,/projects/bootcamp/feed1/2012-03-01-01/*/US</p>
+<p>Also, feeds with Hive table storage can be used as inputs to a process. Several parameters from inputs are passed as params to the user workflow or pig script.</p>
+<div class="source">
+<pre>
+    ${wf:conf('falcon_input_database')} - database name associated with the feed for a given input
+    ${wf:conf('falcon_input_table')} - table name associated with the feed for a given input
+    ${wf:conf('falcon_input_catalog_url')} - Hive metastore URI for this input feed
+    ${wf:conf('falcon_input_partition_filter_pig')} - value of ${coord:dataInPartitionFilter('$input', 'pig')}
+    ${wf:conf('falcon_input_partition_filter_hive')} - value of ${coord:dataInPartitionFilter('$input', 'hive')}
+    ${wf:conf('falcon_input_partition_filter_java')} - value of ${coord:dataInPartitionFilter('$input', 'java')}
+
+</pre></div>
+<p><b>NOTE:</b> input is the name of the input configured in the process, which is input.getName().</p>
+<div class="source">
+<pre>&lt;input name=&quot;input&quot; feed=&quot;clicks-raw-table&quot; start=&quot;yesterday(0,0)&quot; end=&quot;yesterday(20,0)&quot;/&gt;
+</pre></div>
+<p>Example workflow configuration:</p>
+<div class="source">
+<pre>
+&lt;configuration&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_input_database&lt;/name&gt;
+    &lt;value&gt;falcon_db&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_input_table&lt;/name&gt;
+    &lt;value&gt;input_table&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_input_catalog_url&lt;/name&gt;
+    &lt;value&gt;thrift://localhost:29083&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_input_storage_type&lt;/name&gt;
+    &lt;value&gt;TABLE&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;feedInstancePaths&lt;/name&gt;
+    &lt;value&gt;hcat://localhost:29083/falcon_db/output_table/ds=2012-04-21-00&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_input_partition_filter_java&lt;/name&gt;
+    &lt;value&gt;(ds='2012-04-21-00')&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_input_partition_filter_hive&lt;/name&gt;
+    &lt;value&gt;(ds='2012-04-21-00')&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_input_partition_filter_pig&lt;/name&gt;
+    &lt;value&gt;(ds=='2012-04-21-00')&lt;/value&gt;
+  &lt;/property&gt;
+  ...
+&lt;/configuration&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Optional Inputs<a name="Optional_Inputs"></a></h4>
+<p>User can mention one or more inputs as optional inputs. In such cases the job does not wait on those inputs which are mentioned as optional. If they are present it considers them otherwise continue with the compulsory ones. Example:</p>
+<div class="source">
+<pre>
+&lt;feed name=&quot;feed1&quot;&gt;
+...
+    &lt;partition name=&quot;isFraud&quot;/&gt;
+    &lt;partition name=&quot;country&quot;/&gt;
+    &lt;frequency&gt;hours(1)&lt;/frequency&gt;
+    &lt;locations&gt;
+        &lt;location type=&quot;data&quot; path=&quot;/projects/bootcamp/feed1/${YEAR}-${MONTH}-${DAY}-${HOUR}&quot;/&gt;
+        ...
+    &lt;/locations&gt;
+...
+&lt;/feed&gt;
+&lt;process name=&quot;sample-process&quot;&gt;
+...
+    &lt;inputs&gt;
+        &lt;input name=&quot;input1&quot; feed=&quot;feed1&quot; start=&quot;today(0,0)&quot; end=&quot;today(1,0)&quot; partition=&quot;*/US&quot;/&gt;
+        &lt;input name=&quot;input2&quot; feed=&quot;feed2&quot; start=&quot;today(0,0)&quot; end=&quot;today(1,0)&quot; partition=&quot;*/UK&quot; optional=&quot;true&quot; /&gt;
+        ...
+    &lt;/inputs&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p><b>Note:</b> This is only supported for FileSystem storage but not Table storage at this point.</p></div>
+<div class="section">
+<h4>Outputs<a name="Outputs"></a></h4>
+<p>Outputs define the output data that is generated by the workflow. A process can define 0 or more outputs. Each output is mapped to a feed and the output path is picked up from feed definition. The output instance that should be generated is specified in terms of <a href="./FalconDocumentation.html">EL expression</a>.</p>
+<p>For each output, Falcon creates a property with output name that contains the path of output data. This can be used in workflows to store in the path. Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+    &lt;outputs&gt;
+        &lt;output name=[input name] feed=[feed name] instance=[instance el]/&gt;
+        ...
+    &lt;/outputs&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>Example:</p>
+<div class="source">
+<pre>
+&lt;feed name=&quot;feed2&quot;&gt;
+...
+    &lt;frequency&gt;days(1)&lt;/frequency&gt;
+    &lt;locations&gt;
+        &lt;location type=&quot;data&quot; path=&quot;/projects/bootcamp/feed2/${YEAR}-${MONTH}-${DAY}&quot;/&gt;
+        ...
+    &lt;/locations&gt;
+...
+&lt;/feed&gt;
+&lt;process name=&quot;sample-process&quot;&gt;
+...
+    &lt;outputs&gt;
+        &lt;output name=&quot;output1&quot; feed=&quot;feed2&quot; instance=&quot;today(0,0)&quot;/&gt;
+        ...
+    &lt;/outputs&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>The output of the workflow is feed instance for today. If the workflow is running for 2012-03-01T06:40Z, the workflow generates output /projects/bootcamp/feed2/2012-03-01. The property for this output that is available for workflow is: output1=/projects/bootcamp/feed2/2012-03-01</p>
+<p>Also, feeds with Hive table storage can be used as outputs to a process. Several parameters from outputs are passed as params to the user workflow or pig script.</p>
+<div class="source">
+<pre>
+    ${wf:conf('falcon_output_database')} - database name associated with the feed for a given output
+    ${wf:conf('falcon_output_table')} - table name associated with the feed for a given output
+    ${wf:conf('falcon_output_catalog_url')} - Hive metastore URI for the given output feed
+    ${wf:conf('falcon_output_dataout_partitions')} - value of ${coord:dataOutPartitions('$output')}
+
+</pre></div>
+<p><b>NOTE:</b> output is the name of the output configured in the process, which is output.getName().</p>
+<div class="source">
+<pre>&lt;output name=&quot;output&quot; feed=&quot;clicks-summary-table&quot; instance=&quot;today(0,0)&quot;/&gt;
+</pre></div>
+<p>Example workflow configuration:</p>
+<div class="source">
+<pre>
+&lt;configuration&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_output_database&lt;/name&gt;
+    &lt;value&gt;falcon_db&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_output_table&lt;/name&gt;
+    &lt;value&gt;output_table&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_output_catalog_url&lt;/name&gt;
+    &lt;value&gt;thrift://localhost:29083&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_output_storage_type&lt;/name&gt;
+    &lt;value&gt;TABLE&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;feedInstancePaths&lt;/name&gt;
+    &lt;value&gt;hcat://localhost:29083/falcon_db/output_table/ds=2012-04-21-00&lt;/value&gt;
+  &lt;/property&gt;
+  &lt;property&gt;
+    &lt;name&gt;falcon_output_dataout_partitions&lt;/name&gt;
+    &lt;value&gt;'ds=2012-04-21-00'&lt;/value&gt;
+  &lt;/property&gt;
+  ....
+&lt;/configuration&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Custom Properties<a name="Custom_Properties"></a></h4>
+<p>The properties are key value pairs that are passed to the workflow. These properties are optional and can be used in workflow to parameterize the workflow. Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+    &lt;properties&gt;
+        &lt;property name=[key] value=[value]/&gt;
+        ...
+    &lt;/properties&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>The following are some special properties, which when present are used by the Falcon's launcher job, the same property is also available in workflow which can be used to propagate to pig or M/R job.</p>
+<div class="source">
+<pre>
+        &lt;property name=&quot;queueName&quot; value=&quot;hadoopQueue&quot;/&gt;
+        &lt;property name=&quot;jobPriority&quot; value=&quot;VERY_HIGH&quot;/&gt;
+        &lt;!-- This property is used to turn off JMS notifications for this process. JMS notifications are enabled by default. --&gt;
+        &lt;property name=&quot;userJMSNotificationEnabled&quot; value=&quot;false&quot;/&gt;
+
+</pre></div></div>
+<div class="section">
+<h4>Workflow<a name="Workflow"></a></h4>
+<p>The workflow defines the workflow engine that should be used and the path to the workflow on hdfs. The workflow definition on hdfs contains the actual job that should run and it should confirm to the workflow specification of the engine specified. The libraries required by the workflow should be in lib folder inside the workflow path.</p>
+<p>The properties defined in the cluster and cluster properties(nameNode and jobTracker) will also be available for the workflow.</p>
+<p>There are 3 engines supported today.</p></div>
+<div class="section">
+<h5>Oozie<a name="Oozie"></a></h5>
+<p>As part of oozie workflow engine support, users can embed a oozie workflow. Refer to oozie <a class="externalLink" href="http://oozie.apache.org/docs/4.0.1/DG_Overview.html">workflow overview</a> and <a class="externalLink" href="http://oozie.apache.org/docs/4.0.1/WorkflowFunctionalSpec.html">workflow specification</a> for details.</p>
+<p>Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+    &lt;workflow engine=[workflow engine] path=[workflow path]/&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>Example:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;sample-process&quot;&gt;
+...
+    &lt;workflow engine=&quot;oozie&quot; path=&quot;/projects/bootcamp/workflow&quot;/&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>This defines the workflow engine to be oozie and the workflow xml is defined at /projects/bootcamp/workflow/workflow.xml. The libraries are at /projects/bootcamp/workflow/lib.</p></div>
+<div class="section">
+<h5>Pig<a name="Pig"></a></h5>
+<p>Falcon also adds the Pig engine which enables users to embed a Pig script as a process.</p>
+<p>Example:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;sample-process&quot;&gt;
+...
+    &lt;workflow engine=&quot;pig&quot; path=&quot;/projects/bootcamp/pig.script&quot;/&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>This defines the workflow engine to be pig and the pig script is defined at /projects/bootcamp/pig.script.</p>
+<p>Feeds with Hive table storage will send one more parameter apart from the general ones:</p>
+<div class="source">
+<pre>$input_filter
+</pre></div></div>
+<div class="section">
+<h5>Hive<a name="Hive"></a></h5>
+<p>Falcon also adds the Hive engine as part of Hive Integration which enables users to embed a Hive script as a process. This would enable users to create materialized queries in a declarative way.</p>
+<p>Example:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;sample-process&quot;&gt;
+...
+    &lt;workflow engine=&quot;hive&quot; path=&quot;/projects/bootcamp/hive-script.hql&quot;/&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>This defines the workflow engine to be hive and the hive script is defined at /projects/bootcamp/hive-script.hql.</p>
+<p>Feeds with Hive table storage will send one more parameter apart from the general ones:</p>
+<div class="source">
+<pre>$input_filter
+</pre></div></div>
+<div class="section">
+<h4>Retry<a name="Retry"></a></h4>
+<p>Retry policy defines how the workflow failures should be handled. Three retry policies are defined: periodic, exp-backoff(exponential backoff) and final. Depending on the delay and number of attempts, the workflow is re-tried after specific intervals. Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+    &lt;retry policy=[retry policy] delay=[retry delay] attempts=[retry attempts]/&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>Examples:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;sample-process&quot;&gt;
+...
+    &lt;retry policy=&quot;periodic&quot; delay=&quot;minutes(10)&quot; attempts=&quot;3&quot;/&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>The workflow is re-tried after 10 mins, 20 mins and 30 mins. With exponential backoff, the workflow will be re-tried after 10 mins, 20 mins and 40 mins.</p></div>
+<div class="section">
+<h4>Late data<a name="Late_data"></a></h4>
+<p>Late data handling defines how the late data should be handled. Each feed is defined with a late cut-off value which specifies the time till which late data is valid. For example, late cut-off of hours(6) means that data for nth hour can get delayed by upto 6 hours. Late data specification in process defines how this late data is handled.</p>
+<p>Late data policy defines how frequently check is done to detect late data. The policies supported are: backoff, exp-backoff(exponention backoff) and final(at feed's late cut-off). The policy along with delay defines the interval at which late data check is done.</p>
+<p>Late input specification for each input defines the workflow that should run when late data is detected for that input.</p>
+<p>Syntax:</p>
+<div class="source">
+<pre>
+&lt;process name=&quot;[process name]&quot;&gt;
+...
+    &lt;late-process policy=[late handling policy] delay=[delay]&gt;
+        &lt;late-input input=[input name] workflow-path=[workflow path]/&gt;
+        ...
+    &lt;/late-process&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>Example:</p>
+<div class="source">
+<pre>
+&lt;feed name=&quot;feed1&quot;&gt;
+...
+    &lt;frequency&gt;hours(1)&lt;/frequency&gt;
+    &lt;late-arrival cut-off=&quot;hours(6)&quot;/&gt;
+...
+&lt;/feed&gt;
+&lt;process name=&quot;sample-process&quot;&gt;
+...
+    &lt;inputs&gt;
+        &lt;input name=&quot;input1&quot; feed=&quot;feed1&quot; start=&quot;today(0,0)&quot; end=&quot;today(1,0)&quot;/&gt;
+        ...
+    &lt;/inputs&gt;
+    &lt;late-process policy=&quot;final&quot;&gt;
+        &lt;late-input input=&quot;input1&quot; workflow-path=&quot;/projects/bootcamp/workflow/lateinput1&quot; /&gt;
+        ...
+    &lt;/late-process&gt;
+...
+&lt;/process&gt;
+
+</pre></div>
+<p>This late handling specifies that late data detection should run at feed's late cut-off which is 6 hours in this case. If there is late data, Falcon should run the workflow specified at /projects/bootcamp/workflow/lateinput1/workflow.xml</p>
+<p><b>Note:</b> This is only supported for FileSystem storage but not Table storage at this point.</p></div>
+<div class="section">
+<h4>ACL<a name="ACL"></a></h4>
+<p>A process has ACL (Access Control List) useful for implementing permission requirements and provide a way to set different permissions for specific users or named groups.</p>
+<div class="source">
+<pre>
+    &lt;ACL owner=&quot;test-user&quot; group=&quot;test-group&quot; permission=&quot;*&quot;/&gt;
+
+</pre></div>
+<p>ACL indicates the Access control list for this cluster. owner is the Owner of this entity. group is the one which has access to read. permission indicates the permission.</p></div>
+                  </div>
+          </div>
+
+    <hr/>
+
+    <footer>
+            <div class="container">
+              <div class="row span12">Copyright &copy;                    2013-2015
+                        <a href="http://www.apache.org">Apache Software Foundation</a>.
+            All Rights Reserved.      
+                    
+      </div>
+
+                          
+                <p id="poweredBy" class="pull-right">
+                          <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+              </p>
+        
+                </div>
+    </footer>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/falcon/blob/8609ffd6/site/0.7/FalconCLI.html
----------------------------------------------------------------------
diff --git a/site/0.7/FalconCLI.html b/site/0.7/FalconCLI.html
new file mode 100644
index 0000000..67c32cb
--- /dev/null
+++ b/site/0.7/FalconCLI.html
@@ -0,0 +1,302 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 2015-11-30
+ | Rendered using Apache Maven Fluido Skin 1.3.0
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="Date-Revision-yyyymmdd" content="20151130" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Falcon - FalconCLI</title>
+    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
+    <link rel="stylesheet" href="./css/site.css" />
+    <link rel="stylesheet" href="./css/print.css" media="print" />
+
+      
+    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script>
+
+                          
+        
+<script type="text/javascript">$( document ).ready( function() { $( '.carousel' ).carousel( { interval: 3500 } ) } );</script>
+          
+            </head>
+        <body class="topBarDisabled">
+          
+                        
+                    
+    
+        <div class="container">
+          <div id="banner">
+        <div class="pull-left">
+                                <div id="bannerLeft">
+                                                                                                <img src="images/falcon-logo.png"  alt="Apache Falcon" width="200px" height="45px"/>
+                </div>
+                      </div>
+        <div class="pull-right">  </div>
+        <div class="clear"><hr/></div>
+      </div>
+
+      <div id="breadcrumbs">
+        <ul class="breadcrumb">
+                
+                    
+                              <li class="">
+                    <a href="index.html" title="Falcon">
+        Falcon</a>
+        </li>
+      <li class="divider ">/</li>
+        <li class="">FalconCLI</li>
+        
+                
+                    
+                  <li id="publishDate" class="pull-right">Last Published: 2015-11-30</li> <li class="divider pull-right">|</li>
+              <li id="projectVersion" class="pull-right">Version: 0.7</li>
+            
+                            </ul>
+      </div>
+
+      
+                
+        <div id="bodyColumn" >
+                                  
+            <div class="section">
+<h2>FalconCLI<a name="FalconCLI"></a></h2>
+<p>FalconCLI is a interface between user and Falcon. It is a command line utility provided by Falcon. FalconCLI supports Entity Management, Instance Management and Admin operations.There is a set of web services that are used by FalconCLI to interact with Falcon.</p></div>
+<div class="section">
+<h3>Entity Management Operations<a name="Entity_Management_Operations"></a></h3></div>
+<div class="section">
+<h4>Submit<a name="Submit"></a></h4>
+<p>Submit option is used to set up entity definition.</p>
+<p>Example:  $FALCON_HOME/bin/falcon entity -submit -type cluster -file /cluster/definition.xml</p>
+<p>Note: The url option in the above and all subsequent commands is optional. If not mentioned it will be picked from client.properties file. If the option is not provided and also not set in client.properties, Falcon CLI will fail.</p></div>
+<div class="section">
+<h4>Schedule<a name="Schedule"></a></h4>
+<p>Once submitted, an entity can be scheduled using schedule option. Process and feed can only be scheduled.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity  -type [process|feed] -name &lt;&lt;name&gt;&gt; -schedule</p>
+<p>Optional Arg : -skipDryRun. When this argument is specified, Falcon skips oozie dryrun.</p>
+<p>Example: $FALCON_HOME/bin/falcon entity  -type process -name sampleProcess -schedule</p></div>
+<div class="section">
+<h4>Suspend<a name="Suspend"></a></h4>
+<p>Suspend on an entity results in suspension of the oozie bundle that was scheduled earlier through the schedule function. No further instances are executed on a suspended entity. Only schedule-able entities(process/feed) can be suspended.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity  -type [feed|process] -name &lt;&lt;name&gt;&gt; -suspend</p></div>
+<div class="section">
+<h4>Resume<a name="Resume"></a></h4>
+<p>Puts a suspended process/feed back to active, which in turn resumes applicable oozie bundle.</p>
+<p>Usage:  $FALCON_HOME/bin/falcon entity  -type [feed|process] -name &lt;&lt;name&gt;&gt; -resume</p></div>
+<div class="section">
+<h4>Delete<a name="Delete"></a></h4>
+<p>Delete removes the submitted entity definition for the specified entity and put it into the archive.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity  -type [cluster|feed|process] -name &lt;&lt;name&gt;&gt; -delete</p></div>
+<div class="section">
+<h4>List<a name="List"></a></h4>
+<p>Entities of a particular type can be listed with list sub-command.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity -list</p>
+<p>Optional Args : -fields &lt;&lt;field1,field2&gt;&gt; -type &lt;&lt;[cluster|feed|process],[cluster|feed|process]&gt;&gt; -nameseq &lt;&lt;namesubsequence&gt;&gt; -tagkeys &lt;&lt;tagkeyword1,tagkeyword2&gt;&gt; -filterBy &lt;&lt;field1:value1,field2:value2&gt;&gt; -tags &lt;&lt;tagkey=tagvalue,tagkey=tagvalue&gt;&gt; -orderBy &lt;&lt;field&gt;&gt; -sortOrder &lt;&lt;sortOrder&gt;&gt; -offset 0 -numResults 10</p>
+<p><a href="./Restapi/EntityList.html">Optional params described here.</a></p></div>
+<div class="section">
+<h4>Summary<a name="Summary"></a></h4>
+<p>Summary of entities of a particular type and a cluster will be listed. Entity summary has N most recent instances of entity.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity -type [feed|process] -summary</p>
+<p>Optional Args : -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -fields &lt;&lt;field1,field2&gt;&gt; -filterBy &lt;&lt;field1:value1,field2:value2&gt;&gt; -tags &lt;&lt;tagkey=tagvalue,tagkey=tagvalue&gt;&gt; -orderBy &lt;&lt;field&gt;&gt; -sortOrder &lt;&lt;sortOrder&gt;&gt; -offset 0 -numResults 10 -numInstances 7</p>
+<p><a href="./Restapi/EntitySummary.html">Optional params described here.</a></p></div>
+<div class="section">
+<h4>Update<a name="Update"></a></h4>
+<p>Update operation allows an already submitted/scheduled entity to be updated. Cluster update is currently not allowed.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity  -type [feed|process] -name &lt;&lt;name&gt;&gt; -update -file &lt;&lt;path_to_file&gt;&gt;</p>
+<p>Optional Arg : -skipDryRun. When this argument is specified, Falcon skips oozie dryrun.</p>
+<p>Example: $FALCON_HOME/bin/falcon entity -type process -name <a href="./HourlyReportsGenerator.html">HourlyReportsGenerator</a> -update -file /process/definition.xml</p></div>
+<div class="section">
+<h4>Touch<a name="Touch"></a></h4>
+<p>Force Update operation allows an already submitted/scheduled entity to be updated.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity  -type [feed|process] -name &lt;&lt;name&gt;&gt; -touch</p>
+<p>Optional Arg : -skipDryRun. When this argument is specified, Falcon skips oozie dryrun.</p></div>
+<div class="section">
+<h4>Status<a name="Status"></a></h4>
+<p>Status returns the current status of the entity.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity -type [cluster|feed|process] -name &lt;&lt;name&gt;&gt; -status</p></div>
+<div class="section">
+<h4>Dependency<a name="Dependency"></a></h4>
+<p>With the use of dependency option, we can list all the entities on which the specified entity is dependent. For example for a feed, dependency return the cluster name and for process it returns all the input feeds, output feeds and cluster names.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity -type [cluster|feed|process] -name &lt;&lt;name&gt;&gt; -dependency</p></div>
+<div class="section">
+<h4>Definition<a name="Definition"></a></h4>
+<p>Definition option returns the entity definition submitted earlier during submit step.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity -type [cluster|feed|process] -name &lt;&lt;name&gt;&gt; -definition</p></div>
+<div class="section">
+<h4>Lookup<a name="Lookup"></a></h4>
+<p>Lookup option tells you which feed does a given path belong to. This can be useful in several scenarios e.g. generally you would want to have a single definition for common feeds like metadata with same location otherwise it can result in a problem (different retention durations can result in surprises for one team) If you want to check if there are multiple definitions of same metadata then you can pick an instance of that and run through the lookup command like below.</p>
+<p>Usage: $FALCON_HOME/bin/falcon entity -type feed -lookup -path /data/projects/my-hourly/2014/10/10/23/</p>
+<p>If you have multiple feeds with location as /data/projects/my-hourly/${YEAR}/${MONTH}/${DAY}/${HOUR} then this command will return all of them.</p></div>
+<div class="section">
+<h3>Instance Management Options<a name="Instance_Management_Options"></a></h3></div>
+<div class="section">
+<h4>Kill<a name="Kill"></a></h4>
+<p>Kill sub-command is used to kill all the instances of the specified process whose nominal time is between the given start time and end time.</p>
+<p>Note:  1. The start time and end time needs to be specified in TZ format. Example:   01 Jan 2012 01:00  =&gt; 2012-01-01T01:00Z</p>
+<p>3. Process name is compulsory parameter for each instance management command.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -kill -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot;</p></div>
+<div class="section">
+<h4>Suspend<a name="Suspend"></a></h4>
+<p>Suspend is used to suspend a instance or instances  for the given process. This option pauses the parent workflow at the state, which it was in at the time of execution of this command.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -suspend -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot;</p></div>
+<div class="section">
+<h4>Continue<a name="Continue"></a></h4>
+<p>Continue option is used to continue the failed workflow instance. This option is valid only for process instances in terminal state, i.e. KILLED or FAILED.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -continue -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot;</p></div>
+<div class="section">
+<h4>Rerun<a name="Rerun"></a></h4>
+<p>Rerun option is used to rerun instances of a given process. On issuing a rerun, by default the execution resumes from the last failed node in the workflow. This option is valid only for process instances in terminal state, i.e. SUCCEEDED, KILLED or FAILED. If one wants to forcefully rerun the entire workflow, -force should be passed along with -rerun Additionally, you can also specify properties to override via a properties file.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -rerun -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; [-force] [-file &lt;&lt;properties file&gt;&gt;]</p></div>
+<div class="section">
+<h4>Resume<a name="Resume"></a></h4>
+<p>Resume option is used to resume any instance that  is in suspended state.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -resume -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot;</p></div>
+<div class="section">
+<h4>Status<a name="Status"></a></h4>
+<p>Status option via CLI can be used to get the status of a single or multiple instances.  If the instance is not yet materialized but is within the process validity range, WAITING is returned as the state. Along with the status of the instance time is also returned. Log location gives the oozie workflow url If the instance is in WAITING state, missing dependencies are listed. The job urls are populated for all actions of user workflow and non-succeeded actions of the main-workflow. The user then need not go to the underlying scheduler to get the job urls when needed to debug an issue in the job.</p>
+<p>Example : Suppose a process has 3 instance, one has succeeded,one is in running state and other one is waiting, the expected output is:</p>
+<p>{&quot;status&quot;:&quot;SUCCEEDED&quot;,&quot;message&quot;:&quot;getStatus is successful&quot;,&quot;instances&quot;:[{&quot;instance&quot;:&quot;2012-05-07T05:02Z&quot;,&quot;status&quot;:&quot;SUCCEEDED&quot;,&quot;logFile&quot;:&quot;http://oozie-dashboard-url&quot;},{&quot;instance&quot;:&quot;2012-05-07T05:07Z&quot;,&quot;status&quot;:&quot;RUNNING&quot;,&quot;logFile&quot;:&quot;http://oozie-dashboard-url&quot;}, {&quot;instance&quot;:&quot;2010-01-02T11:05Z&quot;,&quot;status&quot;:&quot;WAITING&quot;}]</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -status</p>
+<p>Optional Args : -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -colo &lt;&lt;colo&gt;&gt; -filterBy &lt;&lt;field1:value1,field2:value2&gt;&gt; -lifecycle &lt;&lt;lifecycles&gt;&gt; -orderBy field -sortOrder &lt;&lt;sortOrder&gt;&gt; -offset 0 -numResults 10</p>
+<p><a href="./Restapi/InstanceStatus.html"> Optional params described here.</a></p></div>
+<div class="section">
+<h4>List<a name="List"></a></h4>
+<p>List option via CLI can be used to get single or multiple instances.  If the instance is not yet materialized but is within the process validity range, WAITING is returned as the state. Instance time is also returned. Log location gives the oozie workflow url If the instance is in WAITING state, missing dependencies are listed</p>
+<p>Example : Suppose a process has 3 instance, one has succeeded,one is in running state and other one is waiting, the expected output is:</p>
+<p>{&quot;status&quot;:&quot;SUCCEEDED&quot;,&quot;message&quot;:&quot;getStatus is successful&quot;,&quot;instances&quot;:[{&quot;instance&quot;:&quot;2012-05-07T05:02Z&quot;,&quot;status&quot;:&quot;SUCCEEDED&quot;,&quot;logFile&quot;:&quot;http://oozie-dashboard-url&quot;},{&quot;instance&quot;:&quot;2012-05-07T05:07Z&quot;,&quot;status&quot;:&quot;RUNNING&quot;,&quot;logFile&quot;:&quot;http://oozie-dashboard-url&quot;}, {&quot;instance&quot;:&quot;2010-01-02T11:05Z&quot;,&quot;status&quot;:&quot;WAITING&quot;}]}</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -list</p>
+<p>Optional Args : -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -colo &lt;&lt;colo&gt;&gt; -lifecycle &lt;&lt;lifecycles&gt;&gt; -filterBy &lt;&lt;field1:value1,field2:value2&gt;&gt; -orderBy field -sortOrder &lt;&lt;sortOrder&gt;&gt; -offset 0 -numResults 10</p>
+<p><a href="./Restapi/InstanceList.html">Optional params described here.</a></p></div>
+<div class="section">
+<h4>Summary<a name="Summary"></a></h4>
+<p>Summary option via CLI can be used to get the consolidated status of the instances between the specified time period. Each status along with the corresponding instance count are listed for each of the applicable colos. The unscheduled instances between the specified time period are included as UNSCHEDULED in the output to provide more clarity.</p>
+<p>Example : Suppose a process has 3 instance, one has succeeded,one is in running state and other one is waiting, the expected output is:</p>
+<p>{&quot;status&quot;:&quot;SUCCEEDED&quot;,&quot;message&quot;:&quot;getSummary is successful&quot;, instancesSummary:[{&quot;cluster&quot;: &lt;&lt;name&gt;&gt; &quot;map&quot;:[{&quot;SUCCEEDED&quot;:&quot;1&quot;}, {&quot;WAITING&quot;:&quot;1&quot;}, {&quot;RUNNING&quot;:&quot;1&quot;}]}]}</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -summary</p>
+<p>Optional Args : -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -colo &lt;&lt;colo&gt;&gt; -filterBy &lt;&lt;field1:value1,field2:value2&gt;&gt; -lifecycle &lt;&lt;lifecycles&gt;&gt; -orderBy field -sortOrder &lt;&lt;sortOrder&gt;&gt;</p>
+<p><a href="./Restapi/InstanceSummary.html">Optional params described here.</a></p></div>
+<div class="section">
+<h4>Running<a name="Running"></a></h4>
+<p>Running option provides all the running instances of the mentioned process.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -running</p>
+<p>Optional Args : -colo &lt;&lt;colo&gt;&gt; -lifecycle &lt;&lt;lifecycles&gt;&gt; -filterBy &lt;&lt;field1:value1,field2:value2&gt;&gt; -orderBy &lt;&lt;field&gt;&gt; -sortOrder &lt;&lt;sortOrder&gt;&gt; -offset 0 -numResults 10</p>
+<p><a href="./Restapi/InstanceRunning.html">Optional params described here.</a></p></div>
+<div class="section">
+<h4>FeedInstanceListing<a name="FeedInstanceListing"></a></h4>
+<p>Get falcon feed instance availability.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type feed -name &lt;&lt;name&gt;&gt; -listing</p>
+<p>Optional Args : -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -colo &lt;&lt;colo&gt;&gt;</p>
+<p><a href="./Restapi/FeedInstanceListing.html">Optional params described here.</a></p></div>
+<div class="section">
+<h4>Logs<a name="Logs"></a></h4>
+<p>Get logs for instance actions</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -logs</p>
+<p>Optional Args : -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -runid &lt;&lt;runid&gt;&gt; -colo &lt;&lt;colo&gt;&gt; -lifecycle &lt;&lt;lifecycles&gt;&gt; -filterBy &lt;&lt;field1:value1,field2:value2&gt;&gt; -orderBy field -sortOrder &lt;&lt;sortOrder&gt;&gt; -offset 0 -numResults 10</p>
+<p><a href="./Restapi/InstanceLogs.html">Optional params described here.</a></p></div>
+<div class="section">
+<h4>LifeCycle<a name="LifeCycle"></a></h4>
+<p>Describes list of life cycles of a entity , for feed it can be replication/retention and for process it can be execution. This can be used with instance management options. Default values are replication for feed and execution for process.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -status -lifecycle &lt;&lt;lifecycletype&gt;&gt; -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot; -end &quot;yyyy-MM-dd'T'HH:mm'Z'&quot;</p></div>
+<div class="section">
+<h4>Triage<a name="Triage"></a></h4>
+<p>Given a feed/process instance this command traces it's ancestors to find what all ancestors have failed. It's useful if lot of instances are failing in a pipeline as it then finds out the root cause of the pipeline being stuck.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -triage -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot;</p></div>
+<div class="section">
+<h4>Params<a name="Params"></a></h4>
+<p>Displays the workflow params of a given instance. Where start time is considered as nominal time of that instance and end time won't be considered.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -params -start &quot;yyyy-MM-dd'T'HH:mm'Z'&quot;</p></div>
+<div class="section">
+<h4>Dependency<a name="Dependency"></a></h4>
+<p>Display the dependent instances which are dependent on the given instance. For example for a given process instance it will list all the input feed instances(if any) and the output feed instances(if any).</p>
+<p>An example use case of this command is as follows: Suppose you find out that the data in a feed instance was incorrect and you need to figure out which all process instances consumed this feed instance so that you can reprocess them after correcting the feed instance. You can give the feed instance and it will tell you which process instance produced this feed and which all process instances consumed this feed.</p>
+<p>NOTE: 1. instanceTime must be a valid instanceTime e.g. instanceTime of a feed should be in it's validity range on applicable clusters,  and it should be in the range of instances produced by the producer process(if any)</p>
+<p>2. For processes with inputs like latest() which vary with time the results are not guaranteed to be correct.</p>
+<p>Usage: $FALCON_HOME/bin/falcon instance -type &lt;&lt;feed/process&gt;&gt; -name &lt;&lt;name&gt;&gt; -params -instanceTime &quot;yyyy-MM-dd'T'HH:mm'Z'&quot;</p>
+<p>For example: $FALCON_HOME/bin/falcon instance -dependency -type feed -name out -instanceTime 2014-12-15T00:00Z name: producer, type: PROCESS, cluster: local, instanceTime: 2014-12-15T00:00Z, tags: Output name: consumer, type: PROCESS, cluster: local, instanceTime: 2014-12-15T00:03Z, tags: Input name: consumer, type: PROCESS, cluster: local, instanceTime: 2014-12-15T00:04Z, tags: Input name: consumer, type: PROCESS, cluster: local, instanceTime: 2014-12-15T00:02Z, tags: Input name: consumer, type: PROCESS, cluster: local, instanceTime: 2014-12-15T00:05Z, tags: Input</p>
+<p>Response: default/Success!</p>
+<p>Request Id: default/1125035965@qtp-503156953-7 - 447be0ad-1d38-4dce-b438-20f3de69b172</p>
+<p><a href="./Restapi/InstanceDependency.html">Optional params described here.</a></p></div>
+<div class="section">
+<h3>Metadata Lineage Options<a name="Metadata_Lineage_Options"></a></h3></div>
+<div class="section">
+<h4>Lineage<a name="Lineage"></a></h4>
+<p><a href="http://www.graphviz.org/content/dot-language">dot</a> format. You can use the output and view a graphical representation of DAG using an online graphviz viewer like <a href="http://graphviz-dev.appspot.com/">this</a>.</p>
+<p>Usage:</p>
+<p>$FALCON_HOME/bin/falcon metadata -lineage -pipeline my-pipeline</p>
+<p>pipeline is a mandatory option.</p></div>
+<div class="section">
+<h4>Vertex<a name="Vertex"></a></h4>
+<p>Get the vertex with the specified id.</p>
+<p>Usage: $FALCON_HOME/bin/falcon metadata -vertex -id &lt;&lt;id&gt;&gt;</p>
+<p>Example: $FALCON_HOME/bin/falcon metadata -vertex -id 4</p></div>
+<div class="section">
+<h4>Vertices<a name="Vertices"></a></h4>
+<p>Get all vertices for a key index given the specified value.</p>
+<p>Usage: $FALCON_HOME/bin/falcon metadata -vertices -key &lt;&lt;key&gt;&gt; -value &lt;&lt;value&gt;&gt;</p>
+<p>Example: $FALCON_HOME/bin/falcon metadata -vertices -key type -value feed-instance</p></div>
+<div class="section">
+<h4>Vertex Edges<a name="Vertex_Edges"></a></h4>
+<p>Get the adjacent vertices or edges of the vertex with the specified direction.</p>
+<p>Usage: $FALCON_HOME/bin/falcon metadata -edges -id &lt;&lt;vertex-id&gt;&gt; -direction &lt;&lt;direction&gt;&gt;</p>
+<p>Example: $FALCON_HOME/bin/falcon metadata -edges -id 4 -direction both $FALCON_HOME/bin/falcon metadata -edges -id 4 -direction inE</p></div>
+<div class="section">
+<h4>Edge<a name="Edge"></a></h4>
+<p>Get the edge with the specified id.</p>
+<p>Usage: $FALCON_HOME/bin/falcon metadata -edge -id &lt;&lt;id&gt;&gt;</p>
+<p>Example: $FALCON_HOME/bin/falcon metadata -edge -id Q9n-Q-5g</p></div>
+<div class="section">
+<h3>Metadata Discovery Options<a name="Metadata_Discovery_Options"></a></h3></div>
+<div class="section">
+<h4>List<a name="List"></a></h4>
+<p>Lists of all dimensions of given type. If the user provides optional param cluster, only the dimensions related to the cluster are listed. Usage: $FALCON_HOME/bin/falcon metadata -list -type [cluster_entity|feed_entity|process_entity|user|colo|tags|groups|pipelines]</p>
+<p>Optional Args : -cluster &lt;&lt;cluster name&gt;&gt;</p>
+<p>Example: $FALCON_HOME/bin/falcon metadata -list -type process_entity -cluster primary-cluster $FALCON_HOME/bin/falcon metadata -list -type tags</p></div>
+<div class="section">
+<h4>Relations<a name="Relations"></a></h4>
+<p>List all dimensions related to specified Dimension identified by dimension-type and dimension-name. Usage: $FALCON_HOME/bin/falcon metadata -relations -type [cluster_entity|feed_entity|process_entity|user|colo|tags|groups|pipelines] -name &lt;&lt;Dimension Name&gt;&gt;</p>
+<p>Example: $FALCON_HOME/bin/falcon metadata -relations -type process_entity -name sample-process</p></div>
+<div class="section">
+<h3>Admin Options<a name="Admin_Options"></a></h3></div>
+<div class="section">
+<h4>Help<a name="Help"></a></h4>
+<p>Usage: $FALCON_HOME/bin/falcon admin -help</p></div>
+<div class="section">
+<h4>Version<a name="Version"></a></h4>
+<p>Version returns the current version of Falcon installed. Usage: $FALCON_HOME/bin/falcon admin -version</p></div>
+<div class="section">
+<h4>Status<a name="Status"></a></h4>
+<p>Status returns the current state of Falcon (running or stopped). Usage: $FALCON_HOME/bin/falcon admin -status</p></div>
+<div class="section">
+<h3>Recipe Options<a name="Recipe_Options"></a></h3></div>
+<div class="section">
+<h4>Submit Recipe<a name="Submit_Recipe"></a></h4>
+<p>Submit the specified recipe.</p>
+<p>Usage: $FALCON_HOME/bin/falcon recipe -name &lt;name&gt; Name of the recipe. User should have defined &lt;name&gt;-template.xml and &lt;name&gt;.properties in the path specified by falcon.recipe.path in client.properties file. falcon.home path is used if its not specified in client.properties file. If its not specified in client.properties file and also if files cannot be found at falcon.home, Falcon CLI will fail.</p>
+<p>Optional Args : -tool &lt;recipeToolClassName&gt; Falcon provides a base tool that recipes can override. If this option is not specified the default Recipe Tool RecipeTool defined is used. This option is required if user defines his own recipe tool class.</p>
+<p>Example: $FALCON_HOME/bin/falcon recipe -name hdfs-replication</p></div>
+                  </div>
+          </div>
+
+    <hr/>
+
+    <footer>
+            <div class="container">
+              <div class="row span12">Copyright &copy;                    2013-2015
+                        <a href="http://www.apache.org">Apache Software Foundation</a>.
+            All Rights Reserved.      
+                    
+      </div>
+
+                          
+                <p id="poweredBy" class="pull-right">
+                          <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+              </p>
+        
+                </div>
+    </footer>
+  </body>
+</html>