@Override protected int execute(TableManager tableManager) throws InterruptedException, IOException { byte[][] splitKeys = createDescriptor.getSplitKeys(); int numRegions = splitKeys != null ? splitKeys.length + 1 : 1; System.out.printf("Creating table '%s' with %d region%s...\n", createDescriptor.getName(), numRegions, numRegions == 1 ? "" : "s"); tableManager.createTable(createDescriptor); System.out.printf("Table '%s' in repository '%s' created\n", createDescriptor.getName(), repositoryName); return 0; }
@Override public RepositoryTable createTable(String tableName) throws InterruptedException, IOException { return createTable(new TableCreateDescriptor(tableName)); }
@Override public RepositoryTable createTable(TableCreateDescriptor descriptor) throws InterruptedException, IOException { try { lilyProxy.createTable(repositoryName, converter.convert(descriptor)); return new RepositoryTableImpl(repositoryName, descriptor.getName()); } catch (AvroIOException e) { throw converter.convert(e); } catch (AvroGenericException e) { throw converter.convert(e); } }
@Override public RepositoryTable createTable(TableCreateDescriptor descriptor) throws InterruptedException, IOException { if (!RepoAndTableUtil.isValidTableName(descriptor.getName())) { throw new IllegalArgumentException(String.format("'%s' is not a valid table name. " + RepoAndTableUtil.VALID_NAME_EXPLANATION, descriptor.getName())); } if (tableExists(descriptor.getName())) { throw new IllegalArgumentException(String.format("Table '%s' already exists", descriptor.getName())); } LilyHBaseSchema.getRecordTable(tableFactory, repositoryName, descriptor.getName(), descriptor.getSplitKeys()); return new RepositoryTableImpl(repositoryName, descriptor.getName()); }
public TableCreateDescriptor convert(AvroTableCreateDescriptor avroDescriptor) { String name = avroDescriptor.getName(); List<ByteBuffer> avroSplitKeys = avroDescriptor.getSplitKeys(); byte[][] splitKeys = null; if (avroSplitKeys != null) { splitKeys = new byte[avroSplitKeys.size()][]; for (int i = 0; i < avroSplitKeys.size(); i++) { splitKeys[i] = asArray(avroSplitKeys.get(i)); } } return new TableCreateDescriptor(name, splitKeys); }
public AvroTableCreateDescriptor convert(TableCreateDescriptor descriptor) { AvroTableCreateDescriptor avroDescriptor = new AvroTableCreateDescriptor(); avroDescriptor.setName(descriptor.getName()); byte[][] splitKeys = descriptor.getSplitKeys(); if (splitKeys != null) { List<ByteBuffer> avroSplitKeys = new ArrayList<ByteBuffer>(splitKeys.length); for (byte[] splitKey : splitKeys) { avroSplitKeys.add(ByteBuffer.wrap(splitKey)); } avroDescriptor.setSplitKeys(avroSplitKeys); } return avroDescriptor; }
createDescriptor = new TableCreateDescriptor(tableName, parsedSplitKeys); } else if (regionCount != -1) { byte[][] parsedSplitKeys = TableConfig.parseSplitKeys(regionCount, null, splitKeyPrefix); createDescriptor = new TableCreateDescriptor(tableName, parsedSplitKeys); } else { createDescriptor = new TableCreateDescriptor(tableName);