2013-08-24 4 views
1

Я пытаюсь вставить данные в базу данных cassandra с помощью hector api. Ниже приведен код, который я использовал.Вставка данных в Cassandra с использованием hector

<i> 
import me.prettyprint.cassandra.serializers.StringSerializer; 
import me.prettyprint.hector.api.Cluster; 
import me.prettyprint.hector.api.Keyspace; 
import me.prettyprint.hector.api.factory.HFactory; 
import me.prettyprint.hector.api.mutation.Mutator; 

import java.util.UUID; 

public class HectorAPI { 
    private static final String USER="data"; 
    public static void main(String[] args) throws Exception{ 
     StringSerializer ss = StringSerializer.get(); 
     Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "127.0.0.1:9160"); 
     Keyspace keyspace = HFactory.createKeyspace("myKeySpace", cluster); 
     String id = UUID.randomUUID().toString(); 

     Mutator<String> mutator = HFactory.createMutator(keyspace, ss); 
     mutator.addInsertion(id, USER, HFactory.createStringColumn("full_name", "John")) 
       .addInsertion(id, USER, HFactory.createStringColumn("email", "test")) 
       .addInsertion(id, USER, HFactory.createStringColumn("state","yfcy")) 
       .addInsertion(id, USER, HFactory.createStringColumn("gender", "male")) 
       .addInsertion(id, USER, HFactory.createStringColumn("birth_year", "1990")); 
     mutator.execute(); 

    } 

} 

Но не может быть найден любые вставленные данные в/вар/Lib папки/Cassandra/данные по данному ключевого пространства. Похоже, что вставка данных не работает должным образом. В чем может быть проблема с кодом. Ниже приведена команда, которую я использовал для создания семейства столбцов данных.

CREATE COLUMN FAMILY data 
WITH comparator = UTF8Type 
AND key_validation_class=UTF8Type 
AND column_metadata = [ 
{column_name: full_name, validation_class: UTF8Type} 
{column_name: email, validation_class: UTF8Type} 
{column_name: state, validation_class: UTF8Type, index_type: KEYS} 
{column_name: gender, validation_class: UTF8Type} 
{column_name: birth_year, validation_class: UTF8Type, index_type: KEYS} 
]; 

+0

достаточно проверять данные, вставленные в папку, проверять вставленные данные из cassandra cli или использовать CQL для вашего UUID. –

ответ

0

я выполнил свой код на моей машине, и она работала хорошо; Использование Cassandra-кли инструмент и выполнить команду

get data where birth_year = 1990; 

или использовать cqlsh и выполнить команду

select * from data where birth_year = '1990'; 

, чтобы увидеть ваши данные были insrted в семье колонны ...

И могут видеть ваши данные в файле commitc cassandra, в каталоге «var\lib\cassandra\commitlog» ...

Поиск ваших данных (например, ключевое слово «full_name»), и вы будете Найди это.

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