@Override
public IndexedTable getDataset(DatasetSpecification spec,
Map<String, String> arguments, ClassLoader classLoader) throws IOException {
DatasetSpecification tableInstance = spec.getSpecification("d");
Table table = tableDef.getDataset(tableInstance, arguments, classLoader);
DatasetSpecification indexTableInstance = spec.getSpecification("i");
Table index = tableDef.getDataset(indexTableInstance, arguments, classLoader);
String columnNamesToIndex = spec.getProperty(INDEX_COLUMNS_CONF_KEY);
Preconditions.checkNotNull(columnNamesToIndex, "columnsToIndex must be specified");
String[] columns = columnNamesToIndex.split(",");
byte[][] columnsToIndex = new byte[columns.length][];