The reason the timestamp is the key is because I want to be able to do range scans for a particular event_id_type.
Persisting the record with a different row key in another table is an option. Since there are no transactions, is the only way to fix data that might be out sync within two tables an M/R job ? I saw a TransactionManager class in HBase 0.26 API, but it is not available in the most recent releases. Is there a way (even if non performant) to do atomic operations between tables in HBase ? Thank you. On Thu, Sep 29, 2011 at 7:30 PM, lars hofhansl <[email protected]> wrote: > I assume with "row" you mean the row-key. > > > The only way to query this is do a scan with just event_type as start key > (i.e. scan starting with a prefix of the key). > That will be inefficient if there are many key starting with the same > event_type. > > If that is a common query you should consider populating a second table with > event_type-eventid as key, and timestamp as value. > Why is the timestamp part of the key? > > > -- Lars > > > ----- Original Message ----- > From: Sam Seigal <[email protected]> > To: [email protected] > Cc: > Sent: Thursday, September 29, 2011 6:27 PM > Subject: querying values by row > > Hi, > > I am wondering what is the best way to query a record when only the > leading and trailing letters of a row are known. > > For example, if my row looks something like: > > event_type-timestamp-eventid > > If i know the event_type and eventid, but do not really care about the > timestamp, what is the most efficient way to get this record ? > > I know that the eventid and event_type combination will be unique. > > I see that the RegExpRowFilter has been deprecated, so I cannot query > for something like event_type*event_id. What are other options ? > > Thank you, > > Sam >
