Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Plain View
HBase >> mail # user >> Programming practices for implementing composite row keys


+
praveenesh kumar 2013-09-05, 14:03
+
Shahab Yunus 2013-09-05, 14:14
+
Ted Yu 2013-09-05, 14:53
+
Shahab Yunus 2013-09-05, 15:28
Copy link to this message
-
Re: Programming practices for implementing composite row keys
Hi
          Have a look at Phoenix[1].  There you can define a composite RK
model and it handles the -ve number ordering.  Also the scan model u
mentioned will be well supported with start/stop RK on entity1 and
using SkipScanFilter
for others.

-Anoop-

[1] https://github.com/forcedotcom/phoenix
On Thu, Sep 5, 2013 at 8:58 PM, Shahab Yunus <[EMAIL PROTECTED]> wrote:

> Ah! I didn't know about HBASE-8693. Good information. Thanks Ted.
>
> Regards,
> Shahab
>
>
> On Thu, Sep 5, 2013 at 10:53 AM, Ted Yu <[EMAIL PROTECTED]> wrote:
>
> > For #2 and #4, see HBASE-8693 'DataType: provide extensible type API'
> which
> > has been integrated to 0.96
> >
> > Cheers
> >
> >
> > On Thu, Sep 5, 2013 at 7:14 AM, Shahab Yunus <[EMAIL PROTECTED]>
> > wrote:
> >
> > > My 2 cents:
> > >
> > > 1- Yes, that is one way to do it. You can also use fixed length for
> every
> > > attribute participating in the composite key. HBase scan would be more
> > > fitting to this pattern as well, I believe (?) It's a trade-off
> basically
> > > between space (all that padding increasing the key size) versus
> > > complexities involved in deciding and handling a delimiter and
> consequent
> > > parsing of keys etc.
> > >
> > > 2- I personally have not heard about this. As far as I understand, this
> > > goes against the whole idea of HBase scanning and prefix and fuzzy
> > filters
> > > will not be possible this way. This should not be followed.
> > >
> > > 3- See replies to 1 & 2
> > >
> > > 4- The sorting of the keys, by default, is binary comparator. It is a
> bit
> > > tricky as far as I know and the last I checked. Some tips here:
> > >
> > >
> >
> http://stackoverflow.com/questions/17248510/hbase-filters-not-working-for-negative-integers
> > >
> > > Can you normalize them (or take an absolute) before reading and writing
> > (of
> > > course at the cost of performance) if it is possible i.e. keys with
> same
> > > amount but different magnitude cannot exist as well as different
> > entities.
> > > This depends on your business logic and type/nature of data.
> > >
> > > Regards,
> > > Shahab
> > >
> > >
> > > On Thu, Sep 5, 2013 at 10:03 AM, praveenesh kumar <
> [EMAIL PROTECTED]
> > > >wrote:
> > >
> > > > Hello people,
> > > >
> > > > I have a scenario which requires creating composite row keys for my
> > hbase
> > > > table.
> > > >
> > > > Basically it would be <entity1,entity2,entity3>.
> > > >
> > > > Search would be based by entity1 and then entity2 and 3.. I know I
> can
> > do
> > > > row <start-stop>scan on entity1 first and then put row filters on
> > entity2
> > > > and entity3.
> > > >
> > > > My question is what are the best programming principles to implement
> > > these
> > > > keys.
> > > >
> > > > 1. Just use simple delimiters <entity1:entity2:entity3>.
> > > >
> > > > 2. Create complex datatypes like java structures. I don't know if
> > anyone
> > > > uses structures as keys and if they do, can someone please highlight
> me
> > > for
> > > > which scenarios they would be good fit. Does they fit good for this
> > > > scenario.
> > > >
> > > > 3. What are the pros and cons for both 1 and 2, when it comes for
> data
> > > > retrieval.
> > > >
> > > > 4. My <entity1> can be negative also. Does it make any special
> > difference
> > > > when hbase ordering is concerned. How can I tackle this scenario.
> > > >
> > > > Any help on how to implement composite row keys would be highly
> > helpful.
> > > I
> > > > want to understand how the community deals with implementing
> composite
> > > row
> > > > keys.
> > > >
> > > > Regards
> > > > Praveenesh
> > > >
> > >
> >
>
+
Doug Meil 2013-09-05, 19:45
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB