@InterfaceAudience.Public @InterfaceStability.Stable public class DBOutputFormat<K extends DBWritable,V> extends OutputFormat<K,V>
DBOutputFormat accepts <key,value> pairs, where
key has a type extending DBWritable. Returned RecordWriter
writes only the key to the database with a batch SQL query.
| Modifier and Type | Field and Description |
|---|---|
String |
dbProductName |
| Constructor and Description |
|---|
DBOutputFormat() |
| Modifier and Type | Method and Description |
|---|---|
void |
checkOutputSpecs(JobContext context)
Check for validity of the output-specification for the job.
|
String |
constructQuery(String table,
String[] fieldNames)
Constructs the query used as the prepared statement to insert data.
|
OutputCommitter |
getOutputCommitter(TaskAttemptContext context)
Get the output committer for this output format.
|
RecordWriter<K,V> |
getRecordWriter(TaskAttemptContext context)
Get the
RecordWriter for the given task. |
static void |
setOutput(Job job,
String tableName,
int fieldCount)
Initializes the reduce-part of the job
with the appropriate output settings
|
static void |
setOutput(Job job,
String tableName,
String... fieldNames)
Initializes the reduce-part of the job with
the appropriate output settings
|
public String dbProductName
public void checkOutputSpecs(JobContext context) throws IOException, InterruptedException
OutputFormatThis is to validate the output specification for the job when it is a job is submitted. Typically checks that it does not already exist, throwing an exception when it already exists, so that output is not overwritten.
checkOutputSpecs in class OutputFormat<K extends DBWritable,V>context - information about the jobIOException - when output should not be attemptedInterruptedExceptionpublic OutputCommitter getOutputCommitter(TaskAttemptContext context) throws IOException, InterruptedException
OutputFormatgetOutputCommitter in class OutputFormat<K extends DBWritable,V>context - the task contextIOExceptionInterruptedExceptionpublic String constructQuery(String table, String[] fieldNames)
table - the table to insert intofieldNames - the fields to insert into. If field names are unknown, supply an
array of nulls.public RecordWriter<K,V> getRecordWriter(TaskAttemptContext context) throws IOException
RecordWriter for the given task.getRecordWriter in class OutputFormat<K extends DBWritable,V>context - the information about the current task.RecordWriter to write the output for the job.IOExceptionpublic static void setOutput(Job job, String tableName, String... fieldNames) throws IOException
job - The jobtableName - The table to insert data intofieldNames - The field names in the table.IOExceptionpublic static void setOutput(Job job, String tableName, int fieldCount) throws IOException
job - The jobtableName - The table to insert data intofieldCount - the number of fields in the table.IOExceptionCopyright © 2020 Apache Software Foundation. All rights reserved.