You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Kevin Burton <rk...@charter.net> on 2012/11/11 05:55:21 UTC

CREATE COLUMNFAMILY

I am sure this has been asked before but what is the purpose of entering
key/value or more correctly key name/data type values on the CREATE
COLUMNFAMILY command.

 

 


Re: CREATE COLUMNFAMILY

Posted by Jeremiah Jordan <je...@datastax.com>.
That is fine.  You just have to be careful that you haven't already inserted data which would be rejected by the type you update to, as a client will have issues reading that data back.

-Jeremiah

On Nov 11, 2012, at 4:09 PM, Kevin Burton <rk...@charter.net> wrote:

> What happens when you are mainly concerned about the human readable formats? Say initially you don’t supply metadata for a key like foo in the column family, but you get tired of seeing binary data displayed for the values so you update the column family to get a more human readable format by adding metadata for foo. Will this work?
>  
> From: aaron morton [mailto:aaron@thelastpickle.com] 
> Sent: Sunday, November 11, 2012 3:39 PM
> To: user@cassandra.apache.org
> Subject: Re: CREATE COLUMNFAMILY
>  
> Also most idomatic clients use the information so they can return the appropriate type to you. 
>  
>  Can the metadata be applied
> after the fact? If so how?
> UPDATE COLUMN FAMILY in the CLI will let you change it. 
> Note that we do not update the existing data. This can be a problem if you do something like change a variable length integer to a fixed length one. 
>  
> Cheers
>  
> -----------------
> Aaron Morton
> Freelance Developer
> @aaronmorton
> http://www.thelastpickle.com
>  
> On 12/11/2012, at 8:06 AM, Kevin Burton <rk...@charter.net> wrote:
> 
> 
> Thank you this helps with my understanding. 
> 
> So the goal here is to supply as many name/type pairs as can be reasonably
> be foreseen when the column family is created? Can the metadata be applied
> after the fact? If so how?
> 
> -----Original Message-----
> From: Edward Capriolo [mailto:edlinuxguru@gmail.com] 
> Sent: Sunday, November 11, 2012 9:37 AM
> To: user@cassandra.apache.org
> Subject: Re: CREATE COLUMNFAMILY
> 
> If you supply metadata cassandra can use it for several things.
> 
> 1) It validates data on insertion
> 2) Helps display the information in human readable formats in tools like the
> CLI and sstabletojson
> 3) If you add a built-in secondary index the type information is needed,
> strings sort differently then integer
> 4) columns in rows are sorted by the column name, strings sort differently
> then integers
> 
> On Sat, Nov 10, 2012 at 11:55 PM, Kevin Burton <rk...@charter.net>
> wrote:
> 
> I am sure this has been asked before but what is the purpose of 
> entering key/value or more correctly key name/data type values on the 
> CREATE COLUMNFAMILY command.
> 
> 
> 
> 
>  


RE: CREATE COLUMNFAMILY

Posted by Kevin Burton <rk...@charter.net>.
What happens when you are mainly concerned about the human readable formats?
Say initially you don't supply metadata for a key like foo in the column
family, but you get tired of seeing binary data displayed for the values so
you update the column family to get a more human readable format by adding
metadata for foo. Will this work?

 

From: aaron morton [mailto:aaron@thelastpickle.com] 
Sent: Sunday, November 11, 2012 3:39 PM
To: user@cassandra.apache.org
Subject: Re: CREATE COLUMNFAMILY

 

Also most idomatic clients use the information so they can return the
appropriate type to you. 

 

 Can the metadata be applied
after the fact? If so how?

UPDATE COLUMN FAMILY in the CLI will let you change it. 

Note that we do not update the existing data. This can be a problem if you
do something like change a variable length integer to a fixed length one. 

 

Cheers

 

-----------------

Aaron Morton

Freelance Developer

@aaronmorton

http://www.thelastpickle.com

 

On 12/11/2012, at 8:06 AM, Kevin Burton <rk...@charter.net> wrote:





Thank you this helps with my understanding. 

So the goal here is to supply as many name/type pairs as can be reasonably
be foreseen when the column family is created? Can the metadata be applied
after the fact? If so how?

-----Original Message-----
From: Edward Capriolo [mailto:edlinuxguru@gmail.com] 
Sent: Sunday, November 11, 2012 9:37 AM
To: user@cassandra.apache.org
Subject: Re: CREATE COLUMNFAMILY

If you supply metadata cassandra can use it for several things.

1) It validates data on insertion
2) Helps display the information in human readable formats in tools like the
CLI and sstabletojson
3) If you add a built-in secondary index the type information is needed,
strings sort differently then integer
4) columns in rows are sorted by the column name, strings sort differently
then integers

On Sat, Nov 10, 2012 at 11:55 PM, Kevin Burton <rk...@charter.net>
wrote:



I am sure this has been asked before but what is the purpose of 
entering key/value or more correctly key name/data type values on the 
CREATE COLUMNFAMILY command.





 

 


Re: CREATE COLUMNFAMILY

Posted by aaron morton <aa...@thelastpickle.com>.
Also most idomatic clients use the information so they can return the appropriate type to you. 

>  Can the metadata be applied
> after the fact? If so how?
UPDATE COLUMN FAMILY in the CLI will let you change it. 
Note that we do not update the existing data. This can be a problem if you do something like change a variable length integer to a fixed length one. 

Cheers

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

On 12/11/2012, at 8:06 AM, Kevin Burton <rk...@charter.net> wrote:

> Thank you this helps with my understanding. 
> 
> So the goal here is to supply as many name/type pairs as can be reasonably
> be foreseen when the column family is created? Can the metadata be applied
> after the fact? If so how?
> 
> -----Original Message-----
> From: Edward Capriolo [mailto:edlinuxguru@gmail.com] 
> Sent: Sunday, November 11, 2012 9:37 AM
> To: user@cassandra.apache.org
> Subject: Re: CREATE COLUMNFAMILY
> 
> If you supply metadata cassandra can use it for several things.
> 
> 1) It validates data on insertion
> 2) Helps display the information in human readable formats in tools like the
> CLI and sstabletojson
> 3) If you add a built-in secondary index the type information is needed,
> strings sort differently then integer
> 4) columns in rows are sorted by the column name, strings sort differently
> then integers
> 
> On Sat, Nov 10, 2012 at 11:55 PM, Kevin Burton <rk...@charter.net>
> wrote:
>> I am sure this has been asked before but what is the purpose of 
>> entering key/value or more correctly key name/data type values on the 
>> CREATE COLUMNFAMILY command.
>> 
>> 
>> 
>> 
> 


RE: CREATE COLUMNFAMILY

Posted by Kevin Burton <rk...@charter.net>.
Thank you this helps with my understanding. 

So the goal here is to supply as many name/type pairs as can be reasonably
be foreseen when the column family is created? Can the metadata be applied
after the fact? If so how?

-----Original Message-----
From: Edward Capriolo [mailto:edlinuxguru@gmail.com] 
Sent: Sunday, November 11, 2012 9:37 AM
To: user@cassandra.apache.org
Subject: Re: CREATE COLUMNFAMILY

If you supply metadata cassandra can use it for several things.

1) It validates data on insertion
2) Helps display the information in human readable formats in tools like the
CLI and sstabletojson
3) If you add a built-in secondary index the type information is needed,
strings sort differently then integer
4) columns in rows are sorted by the column name, strings sort differently
then integers

On Sat, Nov 10, 2012 at 11:55 PM, Kevin Burton <rk...@charter.net>
wrote:
> I am sure this has been asked before but what is the purpose of 
> entering key/value or more correctly key name/data type values on the 
> CREATE COLUMNFAMILY command.
>
>
>
>


Re: CREATE COLUMNFAMILY

Posted by Edward Capriolo <ed...@gmail.com>.
If you supply metadata cassandra can use it for several things.

1) It validates data on insertion
2) Helps display the information in human readable formats in tools
like the CLI and
sstabletojson
3) If you add a built-in secondary index the type information is
needed, strings sort differently then integer
4) columns in rows are sorted by the column name, strings sort
differently then integers

On Sat, Nov 10, 2012 at 11:55 PM, Kevin Burton <rk...@charter.net> wrote:
> I am sure this has been asked before but what is the purpose of entering
> key/value or more correctly key name/data type values on the CREATE
> COLUMNFAMILY command.
>
>
>
>