blob: 573797e0345cb7293c07d4005c1a8d4d6e766095 [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>
<!-- Generated by javadoc (1.8.0_292) on Tue Jun 15 06:00:54 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DataDrivenDBInputFormat (Apache Hadoop Main 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DataDrivenDBInputFormat (Apache Hadoop Main 3.3.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":9,"i6":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<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/DataDrivenDBInputFormat.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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/BooleanSplitter.html" title="class in org.apache.hadoop.mapreduce.lib.db"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBRecordReader.html" title="class in org.apache.hadoop.mapreduce.lib.db"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html" target="_top">Frames</a></li>
<li><a href="DataDrivenDBInputFormat.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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.hadoop.mapreduce.lib.db</div>
<h2 title="Class DataDrivenDBInputFormat" class="title">Class DataDrivenDBInputFormat&lt;T extends <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBWritable.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBWritable</a>&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/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><a href="../../../../../../org/apache/hadoop/mapreduce/InputFormat.html" title="class in org.apache.hadoop.mapreduce">org.apache.hadoop.mapreduce.InputFormat</a>&lt;<a href="../../../../../../org/apache/hadoop/io/LongWritable.html" title="class in org.apache.hadoop.io">LongWritable</a>,T&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html" title="class in org.apache.hadoop.mapreduce.lib.db">org.apache.hadoop.mapreduce.lib.db.DBInputFormat</a>&lt;T&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.mapreduce.lib.db.DataDrivenDBInputFormat&lt;T&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/hadoop/conf/Configurable.html" title="interface in org.apache.hadoop.conf">Configurable</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/OracleDataDrivenDBInputFormat.html" title="class in org.apache.hadoop.mapreduce.lib.db">OracleDataDrivenDBInputFormat</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Public
@InterfaceStability.Evolving
public class <span class="typeNameLabel">DataDrivenDBInputFormat&lt;T extends <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBWritable.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBWritable</a>&gt;</span>
extends <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html" title="class in org.apache.hadoop.mapreduce.lib.db">DBInputFormat</a>&lt;T&gt;
implements <a href="../../../../../../org/apache/hadoop/conf/Configurable.html" title="interface in org.apache.hadoop.conf">Configurable</a></pre>
<div class="block">A InputFormat that reads input data from an SQL table.
Operates like DBInputFormat, but instead of using LIMIT and OFFSET to demarcate
splits, it tries to generate WHERE clauses which separate the data into roughly
equivalent shards.</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="memberSummary" 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 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#SUBSTITUTE_TOKEN">SUBSTITUTE_TOKEN</a></span></code>
<div class="block">If users are providing their own query, the following string is expected to
appear in the WHERE clause, which will be substituted with a pair of conditions
on the input to allow input splits to parallelise the import.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.mapreduce.lib.db.DBInputFormat">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.mapreduce.lib.db.<a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html" title="class in org.apache.hadoop.mapreduce.lib.db">DBInputFormat</a></h3>
<code><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#conditions">conditions</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#connection">connection</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#dbConf">dbConf</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#dbProductName">dbProductName</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#fieldNames">fieldNames</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#tableName">tableName</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" 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><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#DataDrivenDBInputFormat--">DataDrivenDBInputFormat</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/mapreduce/RecordReader.html" title="class in org.apache.hadoop.mapreduce">RecordReader</a>&lt;<a href="../../../../../../org/apache/hadoop/io/LongWritable.html" title="class in org.apache.hadoop.io">LongWritable</a>,<a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html" title="type parameter in DataDrivenDBInputFormat">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#createDBRecordReader-org.apache.hadoop.mapreduce.lib.db.DBInputFormat.DBInputSplit-org.apache.hadoop.conf.Configuration-">createDBRecordReader</a></span>(org.apache.hadoop.mapreduce.lib.db.DBInputFormat.DBInputSplit&nbsp;split,
<a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a>&nbsp;conf)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#getBoundingValsQuery--">getBoundingValsQuery</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/mapreduce/InputSplit.html" title="class in org.apache.hadoop.mapreduce">InputSplit</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#getSplits-org.apache.hadoop.mapreduce.JobContext-">getSplits</a></span>(<a href="../../../../../../org/apache/hadoop/mapreduce/JobContext.html" title="interface in org.apache.hadoop.mapreduce">JobContext</a>&nbsp;job)</code>
<div class="block">Logically split the set of input files for the job.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBSplitter.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBSplitter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#getSplitter-int-">getSplitter</a></span>(int&nbsp;sqlDataType)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#setBoundingQuery-org.apache.hadoop.conf.Configuration-java.lang.String-">setBoundingQuery</a></span>(<a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a>&nbsp;conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;query)</code>
<div class="block">Set the user-defined bounding query to use with a user-defined query.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#setInput-org.apache.hadoop.mapreduce.Job-java.lang.Class-java.lang.String-java.lang.String-">setInput</a></span>(<a href="../../../../../../org/apache/hadoop/mapreduce/Job.html" title="class in org.apache.hadoop.mapreduce">Job</a>&nbsp;job,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBWritable.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBWritable</a>&gt;&nbsp;inputClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inputQuery,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inputBoundingQuery)</code>
<div class="block">setInput() takes a custom query and a separate "bounding query" to use
instead of the custom "count query" used by DBInputFormat.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#setInput-org.apache.hadoop.mapreduce.Job-java.lang.Class-java.lang.String-java.lang.String-java.lang.String-java.lang.String...-">setInput</a></span>(<a href="../../../../../../org/apache/hadoop/mapreduce/Job.html" title="class in org.apache.hadoop.mapreduce">Job</a>&nbsp;job,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBWritable.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBWritable</a>&gt;&nbsp;inputClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;conditions,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;splitBy,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;fieldNames)</code>
<div class="block">Note that the "orderBy" column is called the "splitBy" in this version.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.mapreduce.lib.db.DBInputFormat">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.mapreduce.lib.db.<a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html" title="class in org.apache.hadoop.mapreduce.lib.db">DBInputFormat</a></h3>
<code><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#closeConnection--">closeConnection</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#createConnection--">createConnection</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#getConf--">getConf</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#getConnection--">getConnection</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#getCountQuery--">getCountQuery</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#getDBConf--">getDBConf</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#getDBProductName--">getDBProductName</a>, <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></code></li>
</ul>
<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="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.conf.Configurable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.hadoop.conf.<a href="../../../../../../org/apache/hadoop/conf/Configurable.html" title="interface in org.apache.hadoop.conf">Configurable</a></h3>
<code><a href="../../../../../../org/apache/hadoop/conf/Configurable.html#getConf--">getConf</a>, <a href="../../../../../../org/apache/hadoop/conf/Configurable.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</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="SUBSTITUTE_TOKEN">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SUBSTITUTE_TOKEN</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SUBSTITUTE_TOKEN</pre>
<div class="block">If users are providing their own query, the following string is expected to
appear in the WHERE clause, which will be substituted with a pair of conditions
on the input to allow input splits to parallelise the import.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.hadoop.mapreduce.lib.db.DataDrivenDBInputFormat.SUBSTITUTE_TOKEN">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="DataDrivenDBInputFormat--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DataDrivenDBInputFormat</h4>
<pre>public&nbsp;DataDrivenDBInputFormat()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getSplitter-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSplitter</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBSplitter.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBSplitter</a>&nbsp;getSplitter(int&nbsp;sqlDataType)</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the DBSplitter implementation to use to divide the table/query into InputSplits.</dd>
</dl>
</li>
</ul>
<a name="getSplits-org.apache.hadoop.mapreduce.JobContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSplits</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/mapreduce/InputSplit.html" title="class in org.apache.hadoop.mapreduce">InputSplit</a>&gt;&nbsp;getSplits(<a href="../../../../../../org/apache/hadoop/mapreduce/JobContext.html" title="interface in org.apache.hadoop.mapreduce">JobContext</a>&nbsp;job)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Logically split the set of input files for the job.
<p>Each <a href="../../../../../../org/apache/hadoop/mapreduce/InputSplit.html" title="class in org.apache.hadoop.mapreduce"><code>InputSplit</code></a> is then assigned to an individual <a href="../../../../../../org/apache/hadoop/mapreduce/Mapper.html" title="class in org.apache.hadoop.mapreduce"><code>Mapper</code></a>
for processing.</p>
<p><i>Note</i>: The split is a <i>logical</i> split of the inputs and the
input files are not physically split into chunks. For e.g. a split could
be <i>&lt;input-file-path, start, offset&gt;</i> tuple. The InputFormat
also creates the <a href="../../../../../../org/apache/hadoop/mapreduce/RecordReader.html" title="class in org.apache.hadoop.mapreduce"><code>RecordReader</code></a> to read the <a href="../../../../../../org/apache/hadoop/mapreduce/InputSplit.html" title="class in org.apache.hadoop.mapreduce"><code>InputSplit</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#getSplits-org.apache.hadoop.mapreduce.JobContext-">getSplits</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html" title="class in org.apache.hadoop.mapreduce.lib.db">DBInputFormat</a>&lt;<a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html" title="type parameter in DataDrivenDBInputFormat">T</a> extends <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBWritable.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBWritable</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>job</code> - job configuration.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array of <a href="../../../../../../org/apache/hadoop/mapreduce/InputSplit.html" title="class in org.apache.hadoop.mapreduce"><code>InputSplit</code></a>s for the job.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getBoundingValsQuery--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBoundingValsQuery</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getBoundingValsQuery()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a query which returns the minimum and maximum values for
the order-by column.
The min value should be in the first column, and the
max value should be in the second column of the results.</dd>
</dl>
</li>
</ul>
<a name="setBoundingQuery-org.apache.hadoop.conf.Configuration-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBoundingQuery</h4>
<pre>public static&nbsp;void&nbsp;setBoundingQuery(<a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a>&nbsp;conf,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;query)</pre>
<div class="block">Set the user-defined bounding query to use with a user-defined query.
This *must* include the substring "$CONDITIONS"
(DataDrivenDBInputFormat.SUBSTITUTE_TOKEN) inside the WHERE clause,
so that DataDrivenDBInputFormat knows where to insert split clauses.
e.g., "SELECT foo FROM mytable WHERE $CONDITIONS"
This will be expanded to something like:
SELECT foo FROM mytable WHERE (id &gt; 100) AND (id &lt; 250)
inside each split.</div>
</li>
</ul>
<a name="createDBRecordReader-org.apache.hadoop.mapreduce.lib.db.DBInputFormat.DBInputSplit-org.apache.hadoop.conf.Configuration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDBRecordReader</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/mapreduce/RecordReader.html" title="class in org.apache.hadoop.mapreduce">RecordReader</a>&lt;<a href="../../../../../../org/apache/hadoop/io/LongWritable.html" title="class in org.apache.hadoop.io">LongWritable</a>,<a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html" title="type parameter in DataDrivenDBInputFormat">T</a>&gt;&nbsp;createDBRecordReader(org.apache.hadoop.mapreduce.lib.db.DBInputFormat.DBInputSplit&nbsp;split,
<a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a>&nbsp;conf)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#createDBRecordReader-org.apache.hadoop.mapreduce.lib.db.DBInputFormat.DBInputSplit-org.apache.hadoop.conf.Configuration-">createDBRecordReader</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html" title="class in org.apache.hadoop.mapreduce.lib.db">DBInputFormat</a>&lt;<a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html" title="type parameter in DataDrivenDBInputFormat">T</a> extends <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBWritable.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBWritable</a>&gt;</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="setInput-org.apache.hadoop.mapreduce.Job-java.lang.Class-java.lang.String-java.lang.String-java.lang.String-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInput</h4>
<pre>public static&nbsp;void&nbsp;setInput(<a href="../../../../../../org/apache/hadoop/mapreduce/Job.html" title="class in org.apache.hadoop.mapreduce">Job</a>&nbsp;job,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBWritable.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBWritable</a>&gt;&nbsp;inputClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;conditions,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;splitBy,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;fieldNames)</pre>
<div class="block">Note that the "orderBy" column is called the "splitBy" in this version.
We reuse the same field, but it's not strictly ordering it -- just partitioning
the results.</div>
</li>
</ul>
<a name="setInput-org.apache.hadoop.mapreduce.Job-java.lang.Class-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setInput</h4>
<pre>public static&nbsp;void&nbsp;setInput(<a href="../../../../../../org/apache/hadoop/mapreduce/Job.html" title="class in org.apache.hadoop.mapreduce">Job</a>&nbsp;job,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBWritable.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBWritable</a>&gt;&nbsp;inputClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inputQuery,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;inputBoundingQuery)</pre>
<div class="block">setInput() takes a custom query and a separate "bounding query" to use
instead of the custom "count query" used by DBInputFormat.</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>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<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/DataDrivenDBInputFormat.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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/BooleanSplitter.html" title="class in org.apache.hadoop.mapreduce.lib.db"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBRecordReader.html" title="class in org.apache.hadoop.mapreduce.lib.db"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html" target="_top">Frames</a></li>
<li><a href="DataDrivenDBInputFormat.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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>Copyright &#169; 2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>