Hallo, Kevin
Thanks a lot for your help. Today we tried to use row key prefixes for
searching and it works fine for us :-)
-------------------------------------------------
Best wishes, Artyom Shvedchikov


On Thu, Nov 5, 2009 at 12:51 AM, Kevin Peterson <[email protected]>wrote:

> On Tue, Nov 3, 2009 at 2:13 PM, Artyom Shvedchikov <[email protected]>
> wrote:
>
> > Hallo, folks.
> >
> > We want to use partial-key lookup and compound keys (search using them)
> > with
> > Java API.
> > Can someone to provide info and example on using such keys and lookups.
> >
> >
> I'm not sure I understand you correctly, but partial key is fine as long as
> you are using a prefix.
>
> For example, if your key consists of account:timestamp:event_id, you would
> need to make sure that all these values are fixed width -- make account id
> an int, not a string, same thing with timestamp. To build your keys do
> something like
>
> byte[] row = Bytes.add(Bytes.toBytes(acctId), Bytes.toBytes(time),
> Bytes.toBytes(eventId))
>
> Then to get all rows matching a given account and timestamp, do
>
> byte[] startRow = Bytes.add(Bytes.toBytes(acctId), Bytes.toBytes(time));
> byte[] endRow = Bytes.add(Bytes.toBytes(acctId), Bytes.toBytes(time + 1));
> ResultScanner scanner = table.getScanner(new Scan(startRow, endRow));
>
> If you want to search by something that isn't a prefix of your row key,
> then
> you will need to either user a scanner filter or look into table indexed.
>

Reply via email to