<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_26) on Wed May 16 02:00:44 UTC 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
DataDrivenDBInputFormat (Apache Hadoop Main 2.0.0-alpha API)
</TITLE>

<META NAME="date" CONTENT="2012-05-16">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="DataDrivenDBInputFormat (Apache Hadoop Main 2.0.0-alpha API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DataDrivenDBInputFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/BooleanSplitter.html" title="class in org.apache.hadoop.mapreduce.lib.db"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBRecordReader.html" title="class in org.apache.hadoop.mapreduce.lib.db"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="DataDrivenDBInputFormat.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.hadoop.mapreduce.lib.db</FONT>
<BR>
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>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><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;
      <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><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;
          <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.hadoop.mapreduce.lib.db.DataDrivenDBInputFormat&lt;T&gt;</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../../org/apache/hadoop/conf/Configurable.html" title="interface in org.apache.hadoop.conf">Configurable</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <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>
<DL>
<DT><PRE><FONT SIZE="-1">@InterfaceAudience.Public
@InterfaceStability.Evolving
</FONT>public class <A HREF="../../../../../../src-html/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#line.61"><B>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;</B></A><DT>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;<DT>implements <A HREF="../../../../../../org/apache/hadoop/conf/Configurable.html" title="interface in org.apache.hadoop.conf">Configurable</A></DL>
</PRE>

<P>
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.
<P>

<P>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#SUBSTITUTE_TOKEN">SUBSTITUTE_TOKEN</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#DataDrivenDBInputFormat()">DataDrivenDBInputFormat</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>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;</CODE></FONT></TD>
<TD><CODE><B><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></B>(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>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#getBoundingValsQuery()">getBoundingValsQuery</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/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></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#getSplits(org.apache.hadoop.mapreduce.JobContext)">getSplits</A></B>(<A HREF="../../../../../../org/apache/hadoop/mapreduce/JobContext.html" title="interface in org.apache.hadoop.mapreduce">JobContext</A>&nbsp;job)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logically split the set of input files for the job.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBSplitter.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBSplitter</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#getSplitter(int)">getSplitter</A></B>(int&nbsp;sqlDataType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#setBoundingQuery(org.apache.hadoop.conf.Configuration, java.lang.String)">setBoundingQuery</A></B>(<A HREF="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</A>&nbsp;conf,
                                 <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;query)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the user-defined bounding query to use with a user-defined query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><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></B>(<A HREF="../../../../../../org/apache/hadoop/mapreduce/Job.html" title="class in org.apache.hadoop.mapreduce">Job</A>&nbsp;job,
                 <A HREF="http://download.oracle.com/javase/6/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="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;inputQuery,
                 <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;inputBoundingQuery)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setInput() takes a custom query and a separate "bounding query" to use
      instead of the custom "count query" used by DBInputFormat.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><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></B>(<A HREF="../../../../../../org/apache/hadoop/mapreduce/Job.html" title="class in org.apache.hadoop.mapreduce">Job</A>&nbsp;job,
                 <A HREF="http://download.oracle.com/javase/6/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="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;tableName,
                 <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;conditions,
                 <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;splitBy,
                 <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>...&nbsp;fieldNames)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Note that the "orderBy" column is called the "splitBy" in this version.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.hadoop.mapreduce.lib.db.DBInputFormat"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class 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></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#closeConnection()">closeConnection</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></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/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://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.hadoop.conf.Configurable"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.hadoop.conf.<A HREF="../../../../../../org/apache/hadoop/conf/Configurable.html" title="interface in org.apache.hadoop.conf">Configurable</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><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></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="SUBSTITUTE_TOKEN"><!-- --></A><H3>
SUBSTITUTE_TOKEN</H3>
<PRE>
public static final <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../../src-html/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#line.69"><B>SUBSTITUTE_TOKEN</B></A></PRE>
<DL>
<DD>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.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../../constant-values.html#org.apache.hadoop.mapreduce.lib.db.DataDrivenDBInputFormat.SUBSTITUTE_TOKEN">Constant Field Values</A></DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="DataDrivenDBInputFormat()"><!-- --></A><H3>
DataDrivenDBInputFormat</H3>
<PRE>
public <A HREF="../../../../../../src-html/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#line.61"><B>DataDrivenDBInputFormat</B></A>()</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getSplitter(int)"><!-- --></A><H3>
getSplitter</H3>
<PRE>
protected <A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBSplitter.html" title="interface in org.apache.hadoop.mapreduce.lib.db">DBSplitter</A> <A HREF="../../../../../../src-html/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#line.128"><B>getSplitter</B></A>(int&nbsp;sqlDataType)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the DBSplitter implementation to use to divide the table/query into InputSplits.</DL>
</DD>
</DL>
<HR>

<A NAME="getSplits(org.apache.hadoop.mapreduce.JobContext)"><!-- --></A><H3>
getSplits</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/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; <A HREF="../../../../../../src-html/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#line.167"><B>getSplits</B></A>(<A HREF="../../../../../../org/apache/hadoop/mapreduce/JobContext.html" title="interface in org.apache.hadoop.mapreduce">JobContext</A>&nbsp;job)
                           throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>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>.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DBInputFormat.html#getSplits(org.apache.hadoop.mapreduce.JobContext)">getSplits</A></CODE> in class <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></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>job</CODE> - job configuration.
<DT><B>Returns:</B><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.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getBoundingValsQuery()"><!-- --></A><H3>
getBoundingValsQuery</H3>
<PRE>
protected <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../../src-html/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#line.234"><B>getBoundingValsQuery</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><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.</DL>
</DD>
</DL>
<HR>

<A NAME="setBoundingQuery(org.apache.hadoop.conf.Configuration, java.lang.String)"><!-- --></A><H3>
setBoundingQuery</H3>
<PRE>
public static void <A HREF="../../../../../../src-html/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#line.265"><B>setBoundingQuery</B></A>(<A HREF="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</A>&nbsp;conf,
                                    <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;query)</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="createDBRecordReader(org.apache.hadoop.mapreduce.lib.db.DBInputFormat.DBInputSplit, org.apache.hadoop.conf.Configuration)"><!-- --></A><H3>
createDBRecordReader</H3>
<PRE>
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; <A HREF="../../../../../../src-html/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#line.277"><B>createDBRecordReader</B></A>(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="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><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> in class <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></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setInput(org.apache.hadoop.mapreduce.Job, java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String...)"><!-- --></A><H3>
setInput</H3>
<PRE>
public static void <A HREF="../../../../../../src-html/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#line.313"><B>setInput</B></A>(<A HREF="../../../../../../org/apache/hadoop/mapreduce/Job.html" title="class in org.apache.hadoop.mapreduce">Job</A>&nbsp;job,
                            <A HREF="http://download.oracle.com/javase/6/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="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;tableName,
                            <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;conditions,
                            <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;splitBy,
                            <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>...&nbsp;fieldNames)</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setInput(org.apache.hadoop.mapreduce.Job, java.lang.Class, java.lang.String, java.lang.String)"><!-- --></A><H3>
setInput</H3>
<PRE>
public static void <A HREF="../../../../../../src-html/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html#line.324"><B>setInput</B></A>(<A HREF="../../../../../../org/apache/hadoop/mapreduce/Job.html" title="class in org.apache.hadoop.mapreduce">Job</A>&nbsp;job,
                            <A HREF="http://download.oracle.com/javase/6/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="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;inputQuery,
                            <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;inputBoundingQuery)</PRE>
<DL>
<DD>setInput() takes a custom query and a separate "bounding query" to use
      instead of the custom "count query" used by DBInputFormat.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DataDrivenDBInputFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/BooleanSplitter.html" title="class in org.apache.hadoop.mapreduce.lib.db"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/hadoop/mapreduce/lib/db/DataDrivenDBRecordReader.html" title="class in org.apache.hadoop.mapreduce.lib.db"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="DataDrivenDBInputFormat.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2012 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
