You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Christopher Bowland <cb...@gmail.com> on 2012/03/05 04:24:01 UTC

Writing Data To A Super Column That Is In A Column Family With A Type Of Standard

Is it possible to mix both Standard and Super columns in the same
Column Family? One of our Perl developers seems to have this working,
but I have been using the Java Pelops client and have been unable to
make this happen.

I'm not asking how to do with Pelops as I'll bug those guys if it is
possible, but can standard and super columns be mixed in the same
column family?

Here's the script he was using (which looks like he is able to define
a column_type of super for some the columns but not others):

create column family users
    with comparator = UTF8T
    and key_validation_class=UTF8TYpe
    and compression_options = { sstable_compression:SnappyCompressor,
chunk_length_kb:64}
    and column_metadata = [
    { column_name: FirstName, validation_class : UTF8Type},
    { column_name: LastName, validation_class : UTF8Type},
    { column_name: FavStore, validation_class : IntegerType},
    { column_type: super, column_name: HomeAddress
    , column_metadata = [
      { column_name: Street, validation_class : UTF8Type},
      { column_name: State, validation_class : UTF8Type},
      { column_name: Zip, validation_class : LongType} ] },
    { column_type: super, column_name: WorkAddress
    , column_metadata = [
    { column_name: Street, validation_class : UTF8Type},
    { column_name: State, validation_class : UTF8Type},
    { column_name: Zip, validation_class : LongType} ] },
    { column_type: super, column_name: Favorites }
    ];

And here's the CLI output which for the column_types of super
indicates a hash value instead of a scaler.

list users;
Using default limit of 100
-------------------
RowKey: bobjones
=> (column=FavStore, value=59580595188280, timestamp=1330696438)
=> (column=Favorites, value=HASH(0x3618bc0), timestamp=1330696438)
=> (column=FirstName, value=Bob, timestamp=1330696438)
=> (column=HomeAddress, value=HASH(0x3618b30), timestamp=1330696438)
=> (column=LastName, value=Jones, timestamp=1330696438)
=> (column=WorkAddress, value=HASH(0x3619688), timestamp=1330696438)


Thanks in advance.

cb

-- 
Christopher Bowland
cbowland@gmail.com

Re: Writing Data To A Super Column That Is In A Column Family With A Type Of Standard

Posted by aaron morton <aa...@thelastpickle.com>.
> Is it possible to mix both Standard and Super columns in the same
> Column Family? 
No. 

> create column family users
>    with comparator = UTF8T
>    and key_validation_class=UTF8TYpe
>    and compression_options = { sstable_compression:SnappyCompressor,
> chunk_length_kb:64}
>    and column_metadata = [
>    { column_name: FirstName, validation_class : UTF8Type},
>    { column_name: LastName, validation_class : UTF8Type},
>    { column_name: FavStore, validation_class : IntegerType},
>    { column_type: super, column_name: HomeAddress…

column_type is not a support attribute for column_metadata.

That is not a valid create column family statement, it fails to execute on a clean 1.0.7. install . If you are able to get it working can you show the output from the CLI

it may be a trick performed by the client. 
Cheers

-----------------
Aaron Morton
Freelance Developer
@aaronmorton
http://www.thelastpickle.com

On 5/03/2012, at 4:24 PM, Christopher Bowland wrote:

> Is it possible to mix both Standard and Super columns in the same
> Column Family? One of our Perl developers seems to have this working,
> but I have been using the Java Pelops client and have been unable to
> make this happen.
> 
> I'm not asking how to do with Pelops as I'll bug those guys if it is
> possible, but can standard and super columns be mixed in the same
> column family?
> 
> Here's the script he was using (which looks like he is able to define
> a column_type of super for some the columns but not others):
> 
> create column family users
>    with comparator = UTF8T
>    and key_validation_class=UTF8TYpe
>    and compression_options = { sstable_compression:SnappyCompressor,
> chunk_length_kb:64}
>    and column_metadata = [
>    { column_name: FirstName, validation_class : UTF8Type},
>    { column_name: LastName, validation_class : UTF8Type},
>    { column_name: FavStore, validation_class : IntegerType},
>    { column_type: super, column_name: HomeAddress
>    , column_metadata = [
>      { column_name: Street, validation_class : UTF8Type},
>      { column_name: State, validation_class : UTF8Type},
>      { column_name: Zip, validation_class : LongType} ] },
>    { column_type: super, column_name: WorkAddress
>    , column_metadata = [
>    { column_name: Street, validation_class : UTF8Type},
>    { column_name: State, validation_class : UTF8Type},
>    { column_name: Zip, validation_class : LongType} ] },
>    { column_type: super, column_name: Favorites }
>    ];
> 
> And here's the CLI output which for the column_types of super
> indicates a hash value instead of a scaler.
> 
> list users;
> Using default limit of 100
> -------------------
> RowKey: bobjones
> => (column=FavStore, value=59580595188280, timestamp=1330696438)
> => (column=Favorites, value=HASH(0x3618bc0), timestamp=1330696438)
> => (column=FirstName, value=Bob, timestamp=1330696438)
> => (column=HomeAddress, value=HASH(0x3618b30), timestamp=1330696438)
> => (column=LastName, value=Jones, timestamp=1330696438)
> => (column=WorkAddress, value=HASH(0x3619688), timestamp=1330696438)
> 
> 
> Thanks in advance.
> 
> cb
> 
> -- 
> Christopher Bowland
> cbowland@gmail.com