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' >> > >> >