Take a look at this method in HTable:
public Pair<byte[][],byte[][]> getStartEndKeys() throws IOException {
You would see that the first dimension corresponds to the number of regions.
Cheers
On Fri, Oct 3, 2014 at 8:33 AM, Serega Sheypak <[email protected]>
wrote:
> Ok, I found them:
> hTable.getRegionLocations().descendingKeySet()
> and
> HRegionInfo has startKey and endKey
> I have to prepare splits[][].
> I'm confused a little, how keys should be placed there? splits[][] shoud by
> and array with length=region count and width = 2?
>
>
> 2014-10-03 17:57 GMT+04:00 Serega Sheypak <[email protected]>:
>
> > Hi, here is my code:
> >
> > public void dropIfExistsAndCreate(String sourceTableName, String
> > newTableName) throws IOException {
> > LOG.info(String.format("Use [%s] to create [%s]",
> sourceTableName,
> > newTableName));
> > HTableDescriptor descriptor = getDescriptor(sourceTableName);
> > dropIfExists(newTableName); // doesn't matter
> > createTable(descriptor, newTableName);
> > }
> >
> > private void createTable(HTableDescriptor descriptor, String
> > newTableName) throws IOException {
> > descriptor.setName(Bytes.toBytes(newTableName));
> > getAdmin().createTable(descriptor);
> > LOG.info(String.format("Table created[%s]", newTableName));
> > }
> >
> > My source table has 256 regions, newly created table has no splits.
> > Is there any possibility to copy splits from source table?
> >
> > I supposed, that HTableDescriptor encasulates splits, but it was bad
> > assumption.
> >
>