@Override
  public void preCreateTable(Table table) throws MetaException {
    if (table.getSd().getLocation() != null) {
      throw new MetaException("Location can't be specified for Accumulo");
    }

    Map<String, String> serdeParams = table.getSd().getSerdeInfo().getParameters();
    String columnMapping = serdeParams.get(AccumuloSerDeParameters.COLUMN_MAPPINGS);
    if (columnMapping == null) {
      throw new MetaException(AccumuloSerDeParameters.COLUMN_MAPPINGS
          + " missing from SERDEPROPERTIES");
    }

    try {
      String tblName = getTableName(table);
      Connector connector = connectionParams.getConnector();
      TableOperations tableOpts = connector.tableOperations();

      // Attempt to create the table, taking EXTERNAL into consideration
      if (!tableOpts.exists(tblName)) {
        tableOpts.create(tblName);
      }

      String idxTable = getIndexTableName(table);

      if (idxTable != null && !idxTable.isEmpty()) {

        // create the index table if it does not exist
        if (!tableOpts.exists(idxTable)) {
          tableOpts.create(idxTable);
        }
      }
    } catch (AccumuloSecurityException e) {
      throw new MetaException(StringUtils.stringifyException(e));
    } catch (TableExistsException e) {
      throw new MetaException(StringUtils.stringifyException(e));
    } catch (AccumuloException e) {
      throw new MetaException(StringUtils.stringifyException(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