Skip to content

Instantly share code, notes, and snippets.

@owainlewis
Created July 13, 2012 12:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save owainlewis/3104609 to your computer and use it in GitHub Desktop.
Save owainlewis/3104609 to your computer and use it in GitHub Desktop.
Cassandra CLI

Basics

Create a keyspace

create keyspace store with replication_factor=1 and placement_strategy='org.apache.cassandra.locator.SimpleStrategy';

List keyspaces

show keyspaces;

Delete a keyspace

drop ks_name;

Use a keyspace

use ks_name;
create column family users with comparator = UTF8Type and
   column_metadata = [{column_name: userName, validation_class:UTF8Type},
                      {column_name: email, validation_class:UTF8Type}];

create column family products with comparator = UTF8Type and
   column_metadata = [{column_name: skid, validation_class:UTF8Type},
                      {column_name: inventory, validation_class:LongType}];

Meta Data

Default types

BytesType
UTF8Type
LexicalUUIDType
TimeUUIDType
AsciiType
LongType

Inserting data

set users['Dave Jones']['userName']='dave';
set users['Dave Jones']['email']='dave@email.com';

Queries

Get a single record

get users['Dave Jones']['email'];
get users['Dave Jones'];

List all records

list users;
list users limit 2;

Drop column family

drop column family users;

Deleting records

delete a row

del users['Dave Jones'];

delete a column

del users['Dave Jones']['email'];

Building from a schema.txt file

bin/cassandra-cli -host 10.10.10.1 -f conf/schema-sample.txt

Example schema file


create keyspace Keyspace1
    with replication_factor = 1
    and placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy';

use Keyspace1;

create column family Standard1
    with comparator = BytesType
    and keys_cached = 10000
    and rows_cached = 1000
    and row_cache_save_period = 0
    and key_cache_save_period = 3600
    and memtable_flush_after = 59
    and memtable_throughput = 255
    and memtable_operations = 0.29;

create column family Standard2
    with comparator = UTF8Type
    and read_repair_chance = 0.1
    and keys_cached = 100
    and gc_grace = 0
    and min_compaction_threshold = 5
    and max_compaction_threshold = 31;

create column family StandardByUUID1
    with comparator = TimeUUIDType;

create column family Super1
    with column_type = Super
    and comparator = BytesType
    and subcomparator = BytesType;

create column family Super2
    with column_type = Super
    and subcomparator = UTF8Type
    and rows_cached = 10000
    and keys_cached = 50
    and comment = 'A column family with supercolumns, whose column and subcolumn names are UTF8 strings';

create column family Super3
    with column_type = Super
    and comparator = LongType
    and comment = 'A column family with supercolumns, whose column names are Longs (8 bytes)'
;

create column family Indexed1
    with comparator = UTF8Type
    and default_validation_class = LongType
    and column_metadata = [{
        column_name : birthdate,
        validation_class : LongType,
        index_name : birthdate_idx,
        index_type : 0}
    ];

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment