Once you have created the CF from cqlsh, switch over to cassandra-cli
and run "describe schema". It will show you the schema for all your
column families in syntax that can be passed back into cassandra-cli
to create them.

The cassandr-cli syntax that you are looking for is probably the "and
column_metadata =" section.

-Tupshin

On Sun, Oct 7, 2012 at 4:43 PM, Cyril Auburtin <cyril.aubur...@gmail.com> wrote:
> Thanks Aaron,
> I don't understand what is the cli equivalent of:
>
> CREATE TABLE timeline (
>           user_id varchar,
>           tweet_id bigint,
>           author varchar,
>           body varchar,
>           PRIMARY KEY (user_id, tweet_id)
>         );
>
>
>
> 2012/10/3 aaron morton <aa...@thelastpickle.com>
>>
>> > If it's just a printing issue it's really minor though
>>
>> I would guess because  timeline CF has defined columns and line CF does
>> not.
>>
>> All cqlsh knows is that every column name has two parts, it does not know
>> what the column names will be. The difference between a static and dynamic
>> CF.
>>
>> Hope that helps.
>>
>> -----------------
>> Aaron Morton
>> Freelance Developer
>> @aaronmorton
>> http://www.thelastpickle.com
>>
>> On 2/10/2012, at 10:37 PM, Cyril Auburtin <cyril.aubur...@gmail.com>
>> wrote:
>>
>> > I wanted to know why the highlighted sections below are printed
>> > differently, the 2 column families are the same
>> >
>> > Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
>> > Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>> > Columns sorted by:
>> > org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.LongType,org.apache.cassandra.db.marshal.UTF8Type)
>> >
>> > , except one is created from cql3:
>> >
>> > If it's just a printing issue it's really minor though
>> >
>> > on cql3:
>> > CREATE TABLE timeline (
>> >         ...   user_id varchar,
>> >         ...   tweet_id bigint,
>> >         ...   author varchar,
>> >         ...   body varchar,
>> >         ...   PRIMARY KEY (user_id, tweet_id)
>> >         ... );
>> > INSERT INTO timeline (user_id, tweet_id, author, body) VALUES ('gmason',
>> > 1765, 'phenry', 'Give me liberty or give me death');
>> >
>> >
>> > on CLI:
>> >
>> > create column family line with comparator = 'CompositeType(LongType,
>> > UTF8Type)' AND key_validation_class=UTF8Type AND default_validation_class =
>> > UTF8Type;
>> > set line['dude']['1545:ok'] = '1';
>> > set line['dude']['1545:ok1'] = '11111';
>> >
>> > list timeline;
>> > RowKey: gmason
>> > => (column=1765:author, value=phenry, timestamp=1349161331154000)
>> > => (column=1765:body, value=Give me liberty or give me death,
>> > timestamp=1349161331154001)
>> >
>> > list line;
>> > RowKey: dude
>> > => (column=1545:ok, value=1, timestamp=1349162658714000)
>> > => (column=1545:ok1, value=11111, timestamp=1349162638658000)
>> >
>> > on cql3:
>> >
>> > select * from timeline;
>> >  user_id | tweet_id | author | body
>> > ---------+----------+--------+----------------------------------
>> >   gmason |     1765 | phenry | Give me liberty or give me death
>> >
>> >
>> > select * from line;
>> >  key  | column1 | column2 | value
>> > ------+---------+---------+-------
>> >  dude |    1545 |      ok |     1
>> >  dude |    1545 |     ok1 | 11111
>> >
>> >
>> >
>> > ps: I have tried
>> >
>> > update column family line with comparator = 'CompositeType(LongType,
>> > UTF8Type)' AND key_validation_class=UTF8Type AND column_metadata = [
>> > {column_name: tweet_id, validation_class: LongType}
>> > {column_name: author, validation_class: UTF8Type}
>> > {column_name: body, validation_class: UTF8Type}
>> > ];
>> > for the CF line but it gives:
>> > java.lang.RuntimeException:
>> > org.apache.cassandra.db.marshal.MarshalException: unable to make long from
>> > 'tweet_id'
>> >
>>
>

Reply via email to