2012-03-12 3 views
0

Я новичок в cassandra и считаю это немного трудным для понимания в создании простого пространства ключей с некоторой структурой, о которой я думаю. Я создал ключевое пространство, называемое «приобретение», используя CLIS cassandra.Нужно руководствоваться созданием записи в cassandra

Использование Cassandra-CLI, как я могу создать следующий за «приобретение» ключевого пространства -

TagNo // This is the super column 
{ 
    ID // This is the column family 
    { 
    // here we shall have lots of entries. (Rows) 
    user1: {rate, distance, capacity} 
    user2: {rate, distance, capacity} 
    }  
} 

Оценить расстояние и емкость может храниться в виде строки или двойников. Но на данный момент это не имеет большого значения.

Я не уверен, как это сделать, используя CLI. Поэтому, пожалуйста, помогите

ответ

2
  • создать пространство ключей.

    создать приобретение ключевого пространства с placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' и strategy_options = {replication_factor: 1};

  • создать супер колонку семьи.

     
    create column family TagNo with column_type = 'Super' and comparator = 'UTF8Type' and subcomparator = 'UTF8Type' and default_validation_class = 'UTF8Type' and column_metadata = [{ column_name : rate, validation_class : AsciiType}, { column_name : 'distance', validation_class : AsciiType}, {column_name : 'capacity', validation_class : AsciiType}]; 
    
  • установить несколько примерных значений в семейство колонн TagNo super.

     
    [[email protected]] set TagNo[utf8('ID')]['user1']['rate'] = '10'; 
    Value inserted. 
    Elapsed time: 2 msec(s). 
    [[email protected]] set TagNo[utf8('ID')]['user1']['distance'] = '100'; 
    Value inserted. 
    Elapsed time: 2 msec(s). 
    [[email protected]] set TagNo[utf8('ID')]['user1']['capacity'] = '50'; 
    Value inserted. 
    Elapsed time: 2 msec(s). 
    [[email protected]] set TagNo[utf8('ID')]['user2']['capacity'] = '50'; 
    Value inserted. 
    Elapsed time: 2 msec(s). 
    [[email protected]] set TagNo[utf8('ID')]['user2']['rate'] = '20'; 
    Value inserted. 
    Elapsed time: 1 msec(s). 
    [[email protected]] set TagNo[utf8('ID')]['user2']['distance'] = '100'; 
    Value inserted. 
    Elapsed time: 2 msec(s). 
    
  • показать значения ..

     
    [[email protected]] get TagNo[utf8('ID')]; 
    => (super_column=user1, 
        (column=capacity, value=50, timestamp=1331605812776000) 
        (column=distance, value=100, timestamp=1331605805912000) 
        (column=rate, value=10, timestamp=1331605780216000)) 
    => (super_column=user2, 
        (column=capacity, value=50, timestamp=1331605816568000) 
        (column=distance, value=100, timestamp=1331605846008000) 
        (column=rate, value=20, timestamp=1331605821608000)) 
    Returned 2 results. 
    Elapsed time: 3 msec(s). 
    
+0

Спасибо за сниппета. Просто вопрос. Чтобы создать семейство столбцов ID, мне показалось, что мне нужно написать команду «create colum ID» ... Поэтому я предполагаю, что набор команд TagNo [utf8 ('ID')] ['user1'] ['rate'] = '10'; создаст идентификатор семейства столбцов? –

+1

Добро пожаловать, нет, идентификатор является rowkey для супер столбца TagNo. – Jasonw

+0

Еще раз спасибо :) –

Смежные вопросы