cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Decker <>
Subject Re: LongType from user input
Date Thu, 30 Sep 2010 07:10:27 GMT
Apparently I have blanked the 0.7 completely out of my memory. I was trying
to implement application layer indices and ignored the fact that Cassandra
0.7 is implementing them by default. I found ticket CASSANDRA-749 about the
indices and am reading through the code right now, but is there a higher
level overview and a tutorial on how to get things started with these
indices (and maybe some inner workings)? This might actually solve all of my
problems I'm having right now :-)


On Mon, Sep 27, 2010 at 3:45 AM, Aaron Morton <>wrote:

> The only thing I can think of is that values need to be in the correct byte
> format when used in indexes in 0.7. Take a look at the module in
> the pycassa client for an example of
> which values need to be byte packed.
> How is your pig function working against cassandra? Is it using the
> ColumnFamilyRecordReader? . The code in the internal RowIterator for that
> class has an example calling the cluster to get to the comparators.
> Aaron
> On 27 Sep, 2010,at 03:11 AM, Christian Decker <>
> wrote:
> Hi Aaron,
> what changes can I expect in the 0.7 release regarding Comparison and
> Parameters? My problem is mainly that I want to take Strings from stdin (or
> Pig Scripts for that matter) and convert them in such a way that they are
> interpreted correctly and converted to the corresponding byte representation
> to use them in column names and keys.
> Regards,
> Chris
> On Sun, Sep 26, 2010 at 5:20 AM, Aaron Morton <>wrote:
>> Things a changing in v0.7, the row keys are byte arrays.
>> Not sure I understand your other concerns.
>> Aaron
>> On 25 Sep 2010, at 08:10, Christian Decker <>
>> wrote:
>> Thanks for your quick answer, I think I'll use an affix to sort of cast
>> the keys, ranges and others from their textual representation (from Pig) to
>> the desired byte representation, since I just noticed that the keys for the
>> rows themselfs are always UTF8 interpreted, and since I want to make
>> key-range as well as slice queries, I'll be better off this way I think.
>> I'll just add a 'L' for Long and 'U' for UUID (of any kind).
>>  Or is there a better way that I just can't see from my beginners angle?
>> :-)thing
>> Regards,
>> Chris
>> On Fri, Sep 24, 2010 at 6:35 PM, Tyler Hobbs < <>
>>> wrote:
>>> Yes, you can use describe_keyspace() and then look through the results.
>>> It's a little ugly in 0.6, but it works
>>> - Tyler
>>> On Fri, Sep 24, 2010 at 11:25 AM, Christian Decker <<>
>>>> wrote:
>>>> Well I'm writing a loading function for Pig, and as it happens I want to
>>>> be able to load slices from cassandra which are specified in the pig script
>>>> (thus the input from stdin) but the ColumnFamily from which to read the data
>>>> is another parameter and some of the CFs have UTF8, UUID, TimeUUID or Long
>>>> types for their keys and columns, so simply converting everything I get to
>>>> an 8byte long would break compatibility with the others.
>>>> Now thinking about it I attacked the whole problem in a weird way, since
>>>> UUID types won't work either.
>>>> So let me change my question slightly, is there a way in 0.6 to detect
>>>> the compareWith type on a running cluster? That way I could convert it to
>>>> the right type :D
>>>> Regards,
>>>> Chris
>>>> On Fri, Sep 24, 2010 at 6:09 PM, Tyler Hobbs < <>
>>>>> wrote:
>>>>> I'm not sure I understand why using this with multiple column families
>>>>> prevents you from converting it.  Could you clarify this?
>>>>> On Fri, Sep 24, 2010 at 10:56 AM, Christian Decker <<>
>>>>>> wrote:
>>>>>> Hi all,
>>>>>> I'm having quite a dilemma with the CompareWith attribute. The Problem
>>>>>> is that I have numeric IDs that I'd like to use as row keys, only
that I
>>>>>> also have to offer a possibility to let users input them from std
>>>>>> Since I cannot ask my users to input an 8byte sequence representing
the ID
>>>>>> they'd like, I was about to turn to UTF8, when I remembered that
they are
>>>>>> compared lexicographically, so that 100 actually comes before 2,
which kills
>>>>>> key slices. Also I cannot just code a converter in since this is
supposed to
>>>>>> be a used with multiple columnfamilies, so just converting an integer
>>>>>> into 8bytes isn't going to work either.
>>>>>> Any tricks for this one?
>>>>>> Regards,
>>>>>> Chris

View raw message