hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Kimball <akimbal...@gmail.com>
Subject Re: Evenly splitting the table
Date Wed, 20 Mar 2013 23:55:30 GMT
Hi Cole,

How are your keys structured? In Kiji, we default to using hashed row keys
where each key starts with two bytes of salt. This makes it a lot easier to
pre-split the table since you can make stronger guarantees about the key
distribution.

If your keys are "raw" text like, say, plaintext email addresses, it is
significantly more difficult to guess the right splits a priori.

cheers,
- Aaron



On Wed, Mar 20, 2013 at 3:43 PM, Ted Yu <yuzhihong@gmail.com> wrote:

> Take a look at TestAdmin#testCreateTableRPCTimeOut() where
> hbaseadmin.createTable() is called.
>
> bq. Is there a way to go about splitting the entire table without having
> specific start and end keys?
>
> I don't think so.
>
> On Wed, Mar 20, 2013 at 3:32 PM, Cole <cole.skoviak@cerner.com> wrote:
>
> > I was wondering how I can go about evenly splitting an entire table in
> > HBase during table creation[1]. I tried providing the empty byte arrays
> > HConstants.EMPTY_START_ROW and HConstants.EMPTY_END_ROW
> > as parameters to the method I linked below, and got an error: "Start
> > key must be smaller than end key". Is there a way to go about splitting
> > the entire table without having specific start and end keys? Thanks in
> > advance.
> >
> >
> > [1]
> >
> >
> http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/HBaseAdmin.html
> > #createTable(org.apache.hadoop.hbase.HTableDescriptor, byte[], byte[],
> int)
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message