blob: ea2f4730d8d76e15b8ceceec9f60bb09c7748326 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.0.0-rc3/javadoc/org/apache/ignite/igfs/mapreduce/IgfsJob.html" />
<!-- Generated by javadoc (version 1.7.0_21) on Tue Mar 24 10:27:31 MSK 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>IgfsJob (Ignite 1.0.0-RC3)</title>
<meta name="date" content="2015-03-24">
<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
<link rel='shortcut icon' href='http://gridgain.com/wp-content/uploads/2014/09/favicon.ico'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css'/>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shCore.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shLegacy.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJava.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPlain.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJScript.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushBash.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushXml.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushScala.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushGroovy.js'></script>
<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','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="IgfsJob (Ignite 1.0.0-RC3)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IgfsJob.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsInputStreamJobAdapter.html" title="class in org.apache.ignite.igfs.mapreduce"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsJobAdapter.html" title="class in org.apache.ignite.igfs.mapreduce"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/igfs/mapreduce/IgfsJob.html" target="_top">Frames</a></li>
<li><a href="IgfsJob.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.igfs.mapreduce</div>
<h2 title="Interface IgfsJob" class="title">Interface IgfsJob</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsInputStreamJobAdapter.html" title="class in org.apache.ignite.igfs.mapreduce">IgfsInputStreamJobAdapter</a>, <a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsJobAdapter.html" title="class in org.apache.ignite.igfs.mapreduce">IgfsJobAdapter</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">IgfsJob</span></pre>
<div class="block">Defines executable unit for <a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsTask.html" title="class in org.apache.ignite.igfs.mapreduce"><code>IgfsTask</code></a>. Before this job is executed, it is assigned one of the
ranges provided by the <a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsRecordResolver.html" title="interface in org.apache.ignite.igfs.mapreduce"><code>IgfsRecordResolver</code></a> passed to one of the <code>IgniteFs.execute(...)</code> methods.
<p>
<a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsJob.html#execute(org.apache.ignite.IgniteFileSystem, org.apache.ignite.igfs.mapreduce.IgfsFileRange, org.apache.ignite.igfs.IgfsInputStream)"><code>execute(org.apache.ignite.IgniteFileSystem, IgfsFileRange, org.apache.ignite.igfs.IgfsInputStream)</code></a> method is given <a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsFileRange.html" title="class in org.apache.ignite.igfs.mapreduce"><code>IgfsFileRange</code></a> this
job is expected to operate on, and already opened <a href="../../../../../org/apache/ignite/igfs/IgfsInputStream.html" title="class in org.apache.ignite.igfs"><code>IgfsInputStream</code></a> for the file this range belongs to.
<p>
Note that provided input stream has position already adjusted to range start. However, it will not
automatically stop on range end. This is done to provide capability in some cases to look beyond
the range end or seek position before the reange start.
<p>
In majority of the cases, when you want to process only provided range, you should explicitly control amount
of returned data and stop at range end. You can also use <a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsInputStreamJobAdapter.html" title="class in org.apache.ignite.igfs.mapreduce"><code>IgfsInputStreamJobAdapter</code></a>, which operates
on <a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsRangeInputStream.html" title="class in org.apache.ignite.igfs.mapreduce"><code>IgfsRangeInputStream</code></a> bounded to range start and end, or manually wrap provided input stream with
<a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsRangeInputStream.html" title="class in org.apache.ignite.igfs.mapreduce"><code>IgfsRangeInputStream</code></a>.
<p>
You can inject any resources in concrete implementation, just as with regular <a href="../../../../../org/apache/ignite/compute/ComputeJob.html" title="interface in org.apache.ignite.compute"><code>ComputeJob</code></a> implementations.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsJob.html#cancel()">cancel</a></strong>()</code>
<div class="block">This method is called when system detects that completion of this
job can no longer alter the overall outcome (for example, when parent task
has already reduced the results).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsJob.html#execute(org.apache.ignite.IgniteFileSystem, org.apache.ignite.igfs.mapreduce.IgfsFileRange, org.apache.ignite.igfs.IgfsInputStream)">execute</a></strong>(<a href="../../../../../org/apache/ignite/IgniteFileSystem.html" title="interface in org.apache.ignite">IgniteFileSystem</a>&nbsp;igfs,
<a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsFileRange.html" title="class in org.apache.ignite.igfs.mapreduce">IgfsFileRange</a>&nbsp;range,
<a href="../../../../../org/apache/ignite/igfs/IgfsInputStream.html" title="class in org.apache.ignite.igfs">IgfsInputStream</a>&nbsp;in)</code>
<div class="block">Executes this job.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="execute(org.apache.ignite.IgniteFileSystem, org.apache.ignite.igfs.mapreduce.IgfsFileRange, org.apache.ignite.igfs.IgfsInputStream)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;execute(<a href="../../../../../org/apache/ignite/IgniteFileSystem.html" title="interface in org.apache.ignite">IgniteFileSystem</a>&nbsp;igfs,
<a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsFileRange.html" title="class in org.apache.ignite.igfs.mapreduce">IgfsFileRange</a>&nbsp;range,
<a href="../../../../../org/apache/ignite/igfs/IgfsInputStream.html" title="class in org.apache.ignite.igfs">IgfsInputStream</a>&nbsp;in)
throws <a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a>,
<a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Executes this job.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>igfs</code> - IGFS instance.</dd><dd><code>range</code> - File range aligned to record boundaries.</dd><dd><code>in</code> - Input stream for split file. This input stream is not aligned to range and points to file start
by default.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Execution result.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If execution failed.</dd>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If file system operation resulted in IO exception.</dd></dl>
</li>
</ul>
<a name="cancel()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>cancel</h4>
<pre>void&nbsp;cancel()</pre>
<div class="block">This method is called when system detects that completion of this
job can no longer alter the overall outcome (for example, when parent task
has already reduced the results). Job is also cancelled when
<a href="../../../../../org/apache/ignite/lang/IgniteFuture.html#cancel()"><code>IgniteFuture.cancel()</code></a> is called.
<p>
Note that job cancellation is only a hint, and just like with
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#interrupt()" title="class or interface in java.lang"><code>Thread.interrupt()</code></a> method, it is really up to the actual job
instance to gracefully finish execution and exit.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IgfsJob.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsInputStreamJobAdapter.html" title="class in org.apache.ignite.igfs.mapreduce"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/ignite/igfs/mapreduce/IgfsJobAdapter.html" title="class in org.apache.ignite.igfs.mapreduce"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/igfs/mapreduce/IgfsJob.html" target="_top">Frames</a></li>
<li><a href="IgfsJob.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://incubator.apache.org/projects/ignite.html"><nobr>2015 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Apache Ignite Fabric</b> </td> <td>:&nbsp;&nbsp; ver. <strong>1.0.0-RC3</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; March 24 2015 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
<!--FOOTER--><script type='text/javascript'>SyntaxHighlighter.all();dp.SyntaxHighlighter.HighlightAll('code');</script>
</body>
</html>