@Override
  public void configureInputJobProperties(TableDesc tableDesc, Map<String, String> jobProperties) {
    Properties props = tableDesc.getProperties();

    jobProperties.put(AccumuloSerDeParameters.COLUMN_MAPPINGS,
        props.getProperty(AccumuloSerDeParameters.COLUMN_MAPPINGS));

    String tableName = props.getProperty(AccumuloSerDeParameters.TABLE_NAME);
    if (null == tableName) {
      tableName = getTableName(tableDesc);
    }
    jobProperties.put(AccumuloSerDeParameters.TABLE_NAME,
        tableName);

    String useIterators = props.getProperty(AccumuloSerDeParameters.ITERATOR_PUSHDOWN_KEY);
    if (useIterators != null) {
      if (!"true".equalsIgnoreCase(useIterators) && !"false".equalsIgnoreCase(useIterators)) {
        throw new IllegalArgumentException("Expected value of true or false for "
            + AccumuloSerDeParameters.ITERATOR_PUSHDOWN_KEY);
      }

      jobProperties.put(AccumuloSerDeParameters.ITERATOR_PUSHDOWN_KEY, useIterators);
    }

    String storageType = props.getProperty(AccumuloSerDeParameters.DEFAULT_STORAGE_TYPE);
    if (null != storageType) {
      jobProperties.put(AccumuloSerDeParameters.DEFAULT_STORAGE_TYPE, storageType);
    }

    String authValue = props.getProperty(AccumuloSerDeParameters.AUTHORIZATIONS_KEY);
    if (null != authValue) {
      jobProperties.put(AccumuloSerDeParameters.AUTHORIZATIONS_KEY, authValue);
    }

    LOG.info("Computed input job properties of " + jobProperties);

    Configuration conf = getConf();
    helper.loadDependentJars(conf);

    // When Kerberos is enabled, we have to add the Accumulo delegation token to the
    // Job so that it gets passed down to the YARN/Tez task.
    if (connectionParams.useSasl()) {
      try {
        // Open an accumulo connection
        Connector conn = connectionParams.getConnector();

        // Convert the Accumulo token in a Hadoop token
        Token<? extends TokenIdentifier> accumuloToken = helper.setConnectorInfoForInputAndOutput(connectionParams, conn, conf);

        // Probably don't have a JobConf here, but we can still try...
        if (conf instanceof JobConf) {
          // Convert the Accumulo token in a Hadoop token
          LOG.debug("Adding Hadoop Token for Accumulo to Job's Credentials: " + accumuloToken);

          // Add the Hadoop token to the JobConf
          JobConf jobConf = (JobConf) conf;
          jobConf.getCredentials().addToken(accumuloToken.getService(), accumuloToken);
          LOG.info("All job tokens: " + jobConf.getCredentials().getAllTokens());
        } else {
          LOG.info("Don't have a JobConf, so we cannot persist Tokens. Have to do it later.");
        }
      } catch (Exception e) {
        throw new RuntimeException("Failed to obtain DelegationToken for "
            + connectionParams.getAccumuloUserName(), e);
      }
    }
  }
Push down table properties into the JobConf.

@param desc
         Hive table description
@param jobProps
         Properties that will be added to the JobConf by Hive
accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/AccumuloStorageHandler.java