@Aaron, You said you're using a salt, which would imply that your number is random and not derived from the base key. (Where base key is the key prior to being hashed. )
Is that the case, or do you mean that Kiji is taking the first two bytes of the hash and prepending it to the key? On Mar 20, 2013, at 6:55 PM, Aaron Kimball <akimbal...@gmail.com> wrote: > 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 <yuzhih...@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.skov...@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) >>> >>> >>