mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phoenix Bai <baizh...@gmail.com>
Subject Re: How to map UUID to userId in Preference class to use mahout recommender?
Date Mon, 08 Apr 2013 03:34:05 GMT
I will look into IDMigrator.
Thank you very much  and wish you a good day!


On Mon, Apr 8, 2013 at 11:29 AM, Sean Owen <srowen@gmail.com> wrote:

> You can use the low-order bits, or have a look at what the UUID class
> does to hash itself to 32 bits in hashCode() and emulate that for 64
> bits. Collisions in a 64-bit space are very very very rare, enough to
> not care about here by a wide margin. A collision only means you
> confuse prefs from two users -- it still mostly works anyway.
>
> Yes keys were originally Comparable. It was just too much memory /
> performance overhead. Instead, you can use a mapping to/from 64-bit
> values. See IDMigrator for instance.
>
> On Mon, Apr 8, 2013 at 3:51 AM, Phoenix Bai <baizhimo@gmail.com> wrote:
> > Hi All,
> >
> > the input format required for mahout recommender is :
> >
> > *userId (long), itemId (long), rating (optional)*
> >
> > while, currently, my input format is:
> >
> > *userId (UUID, which is 128bit long), itemId (long), boolean*
> >
> > so, my question is, how could I convert userId in UUID format to long
> > datatype?
> > e.g. how to map value like "*550e8400-e29b-41d4-a716-446655440000*" to
> long
> > datatype?
> >
> > My current solution is to convert it to java UUID instance and extract
> the
> > least significant bits and use it as long type userId.
> > But I am worried about the collision that is not supposed to exist with
> > uuid.
> >
> > I am wondering two things:
> > 1) if the collision is low, could I use above approach? what`s the
> possible
> > pros and cons?
> > 2) is it possible to change or extend Preference class to modify userId
> to
> > String datatype? is it feasible?
> >
> > thanks
>

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