@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.
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 DBOutputFormat()
public void checkOutputSpecs(JobContext context) throws IOException, InterruptedException
OutputFormat
This 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 attemptedInterruptedException
public OutputCommitter getOutputCommitter(TaskAttemptContext context) throws IOException, InterruptedException
OutputFormat
getOutputCommitter
in class OutputFormat<K extends DBWritable,V>
context
- the task contextIOException
InterruptedException
public 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.IOException
public 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.IOException
public 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.IOException
Copyright © 2018 Apache Software Foundation. All rights reserved.