public void doOperation(final AddElementsFromHdfs operation, final Context context, final AccumuloStore store) throws OperationException { validateOperation(operation); if (null == operation.getSplitsFilePath()) { final String splitsFilePath = getPathWithSlashSuffix(operation.getWorkingPath()) + context.getJobId() + "/splits"; LOGGER.info("Using working directory for splits files: " + splitsFilePath); operation.setSplitsFilePath(splitsFilePath); } try { checkHdfsDirectories(operation, store); } catch (final IOException e) { throw new OperationException("Operation failed due to filesystem error: " + e.getMessage()); } if (!operation.isUseProvidedSplits() && needsSplitting(store)) { sampleAndSplit(operation, context, store); } fetchElements(operation, store); final String skipImport = operation.getOption(AccumuloStoreConstants.ADD_ELEMENTS_FROM_HDFS_SKIP_IMPORT); if (null == skipImport || !"TRUE".equalsIgnoreCase(skipImport)) { importElements(operation, store); } else { LOGGER.info("Skipping import as {} was {}", AccumuloStoreConstants.ADD_ELEMENTS_FROM_HDFS_SKIP_IMPORT, skipImport); } }