2010-11-10 4 views
0

Utilisation du python/interface Thrift Je suis en train d'insérer un SuperColumn comme l'exemple des commentaires dans WTF is a Supercolumn..Comment insérer une SuperColumn avec python/thrift?

Je suis devenu aussi loin que pour créer le SuperColumn et compris que je devrais utiliser batch_mutate pour l'insérer. Mais je ne sais pas comment créer la mutation et définir la clé et le type SuperColumn

keyspace = "Keyspace1" 

col1 = Column(name = "commenter", value = "J Doe", timestamp = time.time()) 
col2 = Column(name = "email", value = "[email protected]", timestamp = time.time()) 

sc = SuperColumn(name = str(uuid.uuidl()), [col1, col2]) 

# i am guessing the missing code goes here 

mutation = Mutation(column_or_supercolumn = sc?) 
client.batch_mutate(keyspace, mutation, ConsistencyLevel.ZERO) 
+0

pourquoi ne pas utiliser un api client de haut niveau? (http://wiki.apache.org/cassandra/ClientOptions) – Schildmeijer

Répondre

0

J'utiliser pycassa ou quelque chose pour rendre la vie plus facile, mais quelque chose comme:

keyspace = "Keyspace1" 
tableName = "Super1" 
key = "jdoe" 
col1 = Column(name = "commenter", value = "J Doe", timestamp = time.time()) 
col2 = Column(name = "email", value = "[email protected]", timestamp = time.time()) 

newData = [Mutation(ColumnOrSuperColumn(None, 
          SuperColumn(str(uuid.uuidl()), 
             [col1, col2])))] 
dataMap = {key : {tableName : newData}} 

client.batch_mutate(keyspace=keyspace, 
        mutation_map=dataMap, 
        consistency_level=ConsistencyLevel.ZERO) 
+0

Merci, j'ai utilisé la pycassa à la fin car cela rend la vie plus facile ... –

Questions connexes