<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.0.0/javadoc/org/apache/ignite/configuration/HadoopConfiguration.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<!-- Generated by javadoc (version 1.7.0_80) on Sun Apr 30 12:27:11 MSK 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HadoopConfiguration (Ignite 2.0.0)</title>
<meta name="date" content="2017-04-30">
<link rel="stylesheet" type="text/css" href="../../../../javadoc.css" title="Style">

<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="HadoopConfiguration (Ignite 2.0.0)";
    }
//-->
</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/HadoopConfiguration.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>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/ignite/configuration/FileSystemConfiguration.html" title="class in org.apache.ignite.configuration"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/configuration/HadoopConfiguration.html" target="_top">Frames</a></li>
<li><a href="HadoopConfiguration.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><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&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.configuration</div>
<h2 title="Class HadoopConfiguration" class="title">Class HadoopConfiguration</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.configuration.HadoopConfiguration</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">HadoopConfiguration</span>
extends <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></pre>
<div class="block">Ignite Hadoop Accelerator configuration.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#DFLT_EXTERNAL_EXECUTION">DFLT_EXTERNAL_EXECUTION</a></strong></code>
<div class="block">Default value for external execution flag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#DFLT_FINISHED_JOB_INFO_TTL">DFLT_FINISHED_JOB_INFO_TTL</a></strong></code>
<div class="block">Default finished job info time-to-live.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#DFLT_MAX_PARALLEL_TASKS">DFLT_MAX_PARALLEL_TASKS</a></strong></code>
<div class="block">Default value for the max parallel tasks.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#DFLT_MAX_TASK_QUEUE_SIZE">DFLT_MAX_TASK_QUEUE_SIZE</a></strong></code>
<div class="block">Default value for the max task queue size.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#HadoopConfiguration()">HadoopConfiguration</a></strong>()</code>
<div class="block">Default constructor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#HadoopConfiguration(org.apache.ignite.configuration.HadoopConfiguration)">HadoopConfiguration</a></strong>(<a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a>&nbsp;cfg)</code>
<div class="block">Copy constructor.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#getFinishedJobInfoTtl()">getFinishedJobInfoTtl</a></strong>()</code>
<div class="block">Gets finished job info time-to-live in milliseconds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/hadoop/HadoopMapReducePlanner.html" title="interface in org.apache.ignite.hadoop">HadoopMapReducePlanner</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#getMapReducePlanner()">getMapReducePlanner</a></strong>()</code>
<div class="block">Gets Hadoop map-reduce planner, a component which defines job execution plan based on job
 configuration and current grid topology.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#getMaxParallelTasks()">getMaxParallelTasks</a></strong>()</code>
<div class="block">Gets max number of local tasks that may be executed in parallel.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#getMaxTaskQueueSize()">getMaxTaskQueueSize</a></strong>()</code>
<div class="block">Gets max task queue size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#getNativeLibraryNames()">getNativeLibraryNames</a></strong>()</code>
<div class="block">Get native library names.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#setFinishedJobInfoTtl(long)">setFinishedJobInfoTtl</a></strong>(long&nbsp;finishedJobInfoTtl)</code>
<div class="block">Sets finished job info time-to-live.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#setMapReducePlanner(org.apache.ignite.hadoop.HadoopMapReducePlanner)">setMapReducePlanner</a></strong>(<a href="../../../../org/apache/ignite/hadoop/HadoopMapReducePlanner.html" title="interface in org.apache.ignite.hadoop">HadoopMapReducePlanner</a>&nbsp;planner)</code>
<div class="block">Sets Hadoop map-reduce planner, a component which defines job execution plan based on job
 configuration and current grid topology.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#setMaxParallelTasks(int)">setMaxParallelTasks</a></strong>(int&nbsp;maxParallelTasks)</code>
<div class="block">Sets max number of local tasks that may be executed in parallel.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#setMaxTaskQueueSize(int)">setMaxTaskQueueSize</a></strong>(int&nbsp;maxTaskQueueSize)</code>
<div class="block">Sets max task queue size.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#setNativeLibraryNames(java.lang.String...)">setNativeLibraryNames</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;libNames)</code>
<div class="block">Set native library names.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#toString()">toString</a></strong>()</code></td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<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></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="DFLT_FINISHED_JOB_INFO_TTL">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_FINISHED_JOB_INFO_TTL</h4>
<pre>public static final&nbsp;long DFLT_FINISHED_JOB_INFO_TTL</pre>
<div class="block">Default finished job info time-to-live.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.HadoopConfiguration.DFLT_FINISHED_JOB_INFO_TTL">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_EXTERNAL_EXECUTION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_EXTERNAL_EXECUTION</h4>
<pre>public static final&nbsp;boolean DFLT_EXTERNAL_EXECUTION</pre>
<div class="block">Default value for external execution flag.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.HadoopConfiguration.DFLT_EXTERNAL_EXECUTION">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_MAX_PARALLEL_TASKS">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_PARALLEL_TASKS</h4>
<pre>public static final&nbsp;int DFLT_MAX_PARALLEL_TASKS</pre>
<div class="block">Default value for the max parallel tasks.</div>
</li>
</ul>
<a name="DFLT_MAX_TASK_QUEUE_SIZE">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DFLT_MAX_TASK_QUEUE_SIZE</h4>
<pre>public static final&nbsp;int DFLT_MAX_TASK_QUEUE_SIZE</pre>
<div class="block">Default value for the max task queue size.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.ignite.configuration.HadoopConfiguration.DFLT_MAX_TASK_QUEUE_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="HadoopConfiguration()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HadoopConfiguration</h4>
<pre>public&nbsp;HadoopConfiguration()</pre>
<div class="block">Default constructor.</div>
</li>
</ul>
<a name="HadoopConfiguration(org.apache.ignite.configuration.HadoopConfiguration)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HadoopConfiguration</h4>
<pre>public&nbsp;HadoopConfiguration(<a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a>&nbsp;cfg)</pre>
<div class="block">Copy constructor.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cfg</code> - Configuration to copy.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getMaxParallelTasks()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxParallelTasks</h4>
<pre>public&nbsp;int&nbsp;getMaxParallelTasks()</pre>
<div class="block">Gets max number of local tasks that may be executed in parallel.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Max number of local tasks that may be executed in parallel.</dd></dl>
</li>
</ul>
<a name="setMaxParallelTasks(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxParallelTasks</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a>&nbsp;setMaxParallelTasks(int&nbsp;maxParallelTasks)</pre>
<div class="block">Sets max number of local tasks that may be executed in parallel.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxParallelTasks</code> - Max number of local tasks that may be executed in parallel.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getMaxTaskQueueSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxTaskQueueSize</h4>
<pre>public&nbsp;int&nbsp;getMaxTaskQueueSize()</pre>
<div class="block">Gets max task queue size.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Max task queue size.</dd></dl>
</li>
</ul>
<a name="setMaxTaskQueueSize(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxTaskQueueSize</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a>&nbsp;setMaxTaskQueueSize(int&nbsp;maxTaskQueueSize)</pre>
<div class="block">Sets max task queue size.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxTaskQueueSize</code> - Max task queue size.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getFinishedJobInfoTtl()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFinishedJobInfoTtl</h4>
<pre>public&nbsp;long&nbsp;getFinishedJobInfoTtl()</pre>
<div class="block">Gets finished job info time-to-live in milliseconds.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Finished job info time-to-live.</dd></dl>
</li>
</ul>
<a name="setFinishedJobInfoTtl(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFinishedJobInfoTtl</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a>&nbsp;setFinishedJobInfoTtl(long&nbsp;finishedJobInfoTtl)</pre>
<div class="block">Sets finished job info time-to-live.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>finishedJobInfoTtl</code> - Finished job info time-to-live.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getMapReducePlanner()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMapReducePlanner</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/hadoop/HadoopMapReducePlanner.html" title="interface in org.apache.ignite.hadoop">HadoopMapReducePlanner</a>&nbsp;getMapReducePlanner()</pre>
<div class="block">Gets Hadoop map-reduce planner, a component which defines job execution plan based on job
 configuration and current grid topology.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Map-reduce planner.</dd></dl>
</li>
</ul>
<a name="setMapReducePlanner(org.apache.ignite.hadoop.HadoopMapReducePlanner)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMapReducePlanner</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a>&nbsp;setMapReducePlanner(<a href="../../../../org/apache/ignite/hadoop/HadoopMapReducePlanner.html" title="interface in org.apache.ignite.hadoop">HadoopMapReducePlanner</a>&nbsp;planner)</pre>
<div class="block">Sets Hadoop map-reduce planner, a component which defines job execution plan based on job
 configuration and current grid topology.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>planner</code> - Map-reduce planner.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getNativeLibraryNames()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNativeLibraryNames</h4>
<pre>@Nullable
public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getNativeLibraryNames()</pre>
<div class="block">Get native library names.
 <p>
 Ignite Hadoop Accelerator executes all Hadoop jobs and tasks in the same process, isolating them with help
 of classloaders. If Hadoop job or task loads a native library, it might lead to exception, because Java do
 not allow to load the same library multiple times from different classloaders. To overcome the problem,
 you should to the following:
 <ul>
     <li>Load necessary libraries in advance from base classloader; <a href="../../../../org/apache/ignite/lifecycle/LifecycleBean.html" title="interface in org.apache.ignite.lifecycle"><code>LifecycleBean</code></a> is a good candidate
     for this;</li>
     <li>Add names of loaded libraries to this property, so that Hadoop engine is able to link them;</li>
     <li>Remove <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/System.html?is-external=true#load(java.lang.String)" title="class or interface in java.lang"><code>System.load(String)</code></a> and <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/System.html?is-external=true#loadLibrary(java.lang.String)" title="class or interface in java.lang"><code>System.loadLibrary(String)</code></a> calls from your job/task.</li>     *
 </ul></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Native library names.</dd></dl>
</li>
</ul>
<a name="setNativeLibraryNames(java.lang.String...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNativeLibraryNames</h4>
<pre>public&nbsp;<a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html" title="class in org.apache.ignite.configuration">HadoopConfiguration</a>&nbsp;setNativeLibraryNames(@Nullable
                                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;libNames)</pre>
<div class="block">Set native library names. See <a href="../../../../org/apache/ignite/configuration/HadoopConfiguration.html#getNativeLibraryNames()"><code>getNativeLibraryNames()</code></a> for more information.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>libNames</code> - Native library names.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="toString()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<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></dd>
</dl>
</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/HadoopConfiguration.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>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/ignite/configuration/FileSystemConfiguration.html" title="class in org.apache.ignite.configuration"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/configuration/IgniteConfiguration.html" title="class in org.apache.ignite.configuration"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/configuration/HadoopConfiguration.html" target="_top">Frames</a></li>
<li><a href="HadoopConfiguration.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><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&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://ignite.apache.org"><nobr>2017 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>                                         </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>Ignite Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>2.0.0</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             April 30 2017                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
</body>
</html>
