public class AccumuloOutputFormat extends Object implements org.apache.hadoop.mapred.OutputFormat<org.apache.hadoop.io.Text,Mutation>
OutputFormat
accepts keys and values of type Text
(for a table name) and Mutation
from the Map
and Reduce functions.
The user must specify the following via static configurator methods:
Other static methods are optional.Modifier and Type | Class and Description |
---|---|
protected static class |
AccumuloOutputFormat.AccumuloRecordWriter
A base class to be used to create
RecordWriter instances that write to Accumulo. |
Modifier and Type | Field and Description |
---|---|
protected static org.apache.log4j.Logger |
log |
Constructor and Description |
---|
AccumuloOutputFormat() |
Modifier and Type | Method and Description |
---|---|
protected static Boolean |
canCreateTables(org.apache.hadoop.mapred.JobConf job)
Determines whether tables are permitted to be created as needed.
|
void |
checkOutputSpecs(org.apache.hadoop.fs.FileSystem ignored,
org.apache.hadoop.mapred.JobConf job) |
protected static AuthenticationToken |
getAuthenticationToken(org.apache.hadoop.mapred.JobConf job)
Gets the authenticated token from either the specified token file or directly from the
configuration, whichever was used when the job was configured.
|
protected static BatchWriterConfig |
getBatchWriterOptions(org.apache.hadoop.mapred.JobConf job)
Gets the
BatchWriterConfig settings. |
protected static String |
getDefaultTableName(org.apache.hadoop.mapred.JobConf job)
Gets the default table name from the configuration.
|
protected static Instance |
getInstance(org.apache.hadoop.mapred.JobConf job)
Initializes an Accumulo
Instance based on the configuration. |
protected static org.apache.log4j.Level |
getLogLevel(org.apache.hadoop.mapred.JobConf job)
Gets the log level from this configuration.
|
protected static String |
getPrincipal(org.apache.hadoop.mapred.JobConf job)
Gets the principal from the configuration.
|
org.apache.hadoop.mapred.RecordWriter<org.apache.hadoop.io.Text,Mutation> |
getRecordWriter(org.apache.hadoop.fs.FileSystem ignored,
org.apache.hadoop.mapred.JobConf job,
String name,
org.apache.hadoop.util.Progressable progress) |
protected static Boolean |
getSimulationMode(org.apache.hadoop.mapred.JobConf job)
Determines whether this feature is enabled.
|
protected static byte[] |
getToken(org.apache.hadoop.mapred.JobConf job)
Deprecated.
since 1.6.0; Use
getAuthenticationToken(JobConf) instead. |
protected static String |
getTokenClass(org.apache.hadoop.mapred.JobConf job)
Deprecated.
since 1.6.0; Use
getAuthenticationToken(JobConf) instead. |
protected static Boolean |
isConnectorInfoSet(org.apache.hadoop.mapred.JobConf job)
Determines if the connector has been configured.
|
static void |
setBatchWriterOptions(org.apache.hadoop.mapred.JobConf job,
BatchWriterConfig bwConfig)
Sets the configuration for for the job's
BatchWriter instances. |
static void |
setConnectorInfo(org.apache.hadoop.mapred.JobConf job,
String principal,
AuthenticationToken token)
Sets the connector information needed to communicate with Accumulo in this job.
|
static void |
setConnectorInfo(org.apache.hadoop.mapred.JobConf job,
String principal,
String tokenFile)
Sets the connector information needed to communicate with Accumulo in this job.
|
static void |
setCreateTables(org.apache.hadoop.mapred.JobConf job,
boolean enableFeature)
Sets the directive to create new tables, as necessary.
|
static void |
setDefaultTableName(org.apache.hadoop.mapred.JobConf job,
String tableName)
Sets the default table name to use if one emits a null in place of a table name for a given
mutation.
|
static void |
setLogLevel(org.apache.hadoop.mapred.JobConf job,
org.apache.log4j.Level level)
Sets the log level for this job.
|
static void |
setMockInstance(org.apache.hadoop.mapred.JobConf job,
String instanceName)
Deprecated.
since 1.8.0; use MiniAccumuloCluster or a standard mock framework
|
static void |
setSimulationMode(org.apache.hadoop.mapred.JobConf job,
boolean enableFeature)
Sets the directive to use simulation mode for this job.
|
static void |
setZooKeeperInstance(org.apache.hadoop.mapred.JobConf job,
ClientConfiguration clientConfig)
Configures a
ZooKeeperInstance for this job. |
static void |
setZooKeeperInstance(org.apache.hadoop.mapred.JobConf job,
String instanceName,
String zooKeepers)
Deprecated.
since 1.6.0; Use
setZooKeeperInstance(JobConf, ClientConfiguration)
instead. |
public static void setConnectorInfo(org.apache.hadoop.mapred.JobConf job, String principal, AuthenticationToken token) throws AccumuloSecurityException
WARNING: Some tokens, when serialized, divulge sensitive information in the
configuration as a means to pass the token to MapReduce tasks. This information is BASE64
encoded to provide a charset safe conversion to a string, but this conversion is not intended
to be secure. PasswordToken
is one example that is insecure in this way; however
DelegationToken
s, acquired using
SecurityOperations.getDelegationToken(DelegationTokenConfig)
, is not subject to this
concern.
job
- the Hadoop job instance to be configuredprincipal
- a valid Accumulo user name (user must have Table.CREATE permission if
setCreateTables(JobConf, boolean)
is set to true)token
- the user's passwordAccumuloSecurityException
public static void setConnectorInfo(org.apache.hadoop.mapred.JobConf job, String principal, String tokenFile) throws AccumuloSecurityException
Stores the password in a file in HDFS and pulls that into the Distributed Cache in an attempt to be more secure than storing it in the Configuration.
job
- the Hadoop job instance to be configuredprincipal
- a valid Accumulo user name (user must have Table.CREATE permission if
setCreateTables(JobConf, boolean)
is set to true)tokenFile
- the path to the password fileAccumuloSecurityException
protected static Boolean isConnectorInfoSet(org.apache.hadoop.mapred.JobConf job)
job
- the Hadoop context for the configured jobsetConnectorInfo(JobConf, String, AuthenticationToken)
protected static String getPrincipal(org.apache.hadoop.mapred.JobConf job)
job
- the Hadoop context for the configured jobsetConnectorInfo(JobConf, String, AuthenticationToken)
@Deprecated protected static String getTokenClass(org.apache.hadoop.mapred.JobConf job)
getAuthenticationToken(JobConf)
instead.@Deprecated protected static byte[] getToken(org.apache.hadoop.mapred.JobConf job)
getAuthenticationToken(JobConf)
instead.protected static AuthenticationToken getAuthenticationToken(org.apache.hadoop.mapred.JobConf job)
job
- the Hadoop job instance to be configuredsetConnectorInfo(JobConf, String, AuthenticationToken)
,
setConnectorInfo(JobConf, String, String)
@Deprecated public static void setZooKeeperInstance(org.apache.hadoop.mapred.JobConf job, String instanceName, String zooKeepers)
setZooKeeperInstance(JobConf, ClientConfiguration)
instead.ZooKeeperInstance
for this job.job
- the Hadoop job instance to be configuredinstanceName
- the Accumulo instance namezooKeepers
- a comma-separated list of zookeeper serverspublic static void setZooKeeperInstance(org.apache.hadoop.mapred.JobConf job, ClientConfiguration clientConfig)
ZooKeeperInstance
for this job.job
- the Hadoop job instance to be configuredclientConfig
- client configuration for specifying connection timeouts, SSL connection options, etc.@Deprecated public static void setMockInstance(org.apache.hadoop.mapred.JobConf job, String instanceName)
MockInstance
for this job.job
- the Hadoop job instance to be configuredinstanceName
- the Accumulo instance nameprotected static Instance getInstance(org.apache.hadoop.mapred.JobConf job)
Instance
based on the configuration.job
- the Hadoop context for the configured jobsetZooKeeperInstance(JobConf, ClientConfiguration)
public static void setLogLevel(org.apache.hadoop.mapred.JobConf job, org.apache.log4j.Level level)
job
- the Hadoop job instance to be configuredlevel
- the logging levelprotected static org.apache.log4j.Level getLogLevel(org.apache.hadoop.mapred.JobConf job)
job
- the Hadoop context for the configured jobsetLogLevel(JobConf, Level)
public static void setDefaultTableName(org.apache.hadoop.mapred.JobConf job, String tableName)
job
- the Hadoop job instance to be configuredtableName
- the table to use when the tablename is null in the write callprotected static String getDefaultTableName(org.apache.hadoop.mapred.JobConf job)
job
- the Hadoop context for the configured jobsetDefaultTableName(JobConf, String)
public static void setBatchWriterOptions(org.apache.hadoop.mapred.JobConf job, BatchWriterConfig bwConfig)
BatchWriter
instances. If not set, a new
BatchWriterConfig
, with sensible built-in defaults is used. Setting the configuration
multiple times overwrites any previous configuration.job
- the Hadoop job instance to be configuredbwConfig
- the configuration for the BatchWriter
protected static BatchWriterConfig getBatchWriterOptions(org.apache.hadoop.mapred.JobConf job)
BatchWriterConfig
settings.job
- the Hadoop context for the configured jobsetBatchWriterOptions(JobConf, BatchWriterConfig)
public static void setCreateTables(org.apache.hadoop.mapred.JobConf job, boolean enableFeature)
By default, this feature is disabled.
job
- the Hadoop job instance to be configuredenableFeature
- the feature is enabled if true, disabled otherwiseprotected static Boolean canCreateTables(org.apache.hadoop.mapred.JobConf job)
job
- the Hadoop context for the configured jobsetCreateTables(JobConf, boolean)
public static void setSimulationMode(org.apache.hadoop.mapred.JobConf job, boolean enableFeature)
By default, this feature is disabled.
job
- the Hadoop job instance to be configuredenableFeature
- the feature is enabled if true, disabled otherwiseprotected static Boolean getSimulationMode(org.apache.hadoop.mapred.JobConf job)
job
- the Hadoop context for the configured jobsetSimulationMode(JobConf, boolean)
public void checkOutputSpecs(org.apache.hadoop.fs.FileSystem ignored, org.apache.hadoop.mapred.JobConf job) throws IOException
checkOutputSpecs
in interface org.apache.hadoop.mapred.OutputFormat<org.apache.hadoop.io.Text,Mutation>
IOException
public org.apache.hadoop.mapred.RecordWriter<org.apache.hadoop.io.Text,Mutation> getRecordWriter(org.apache.hadoop.fs.FileSystem ignored, org.apache.hadoop.mapred.JobConf job, String name, org.apache.hadoop.util.Progressable progress) throws IOException
getRecordWriter
in interface org.apache.hadoop.mapred.OutputFormat<org.apache.hadoop.io.Text,Mutation>
IOException
Copyright © 2011–2019 The Apache Software Foundation. All rights reserved.