Как мне вставить SuperColumn с Python / Thrift? - PullRequest
0 голосов
/ 10 ноября 2010

Используя интерфейс python / thrift, я пытаюсь вставить SuperColumn так же, как пример комментариев в WTF - это Supercolumn ..

Я дошел до создания SuperColumn и понял, что мне нужно использовать batch_mutate для его вставки. Но я не знаю, как создать мутацию и установить ключ и тип SuperColumn

keyspace = "Keyspace1"

col1 = Column(name = "commenter", value = "J Doe", timestamp = time.time())
col2 = Column(name = "email", value = "jdoe@example.com", 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)

1 Ответ

0 голосов
/ 10 ноября 2010

Я бы использовал pycassa или что-то, чтобы сделать жизнь проще, но что-то вроде:

keyspace = "Keyspace1"
tableName = "Super1"
key = "jdoe"
col1 = Column(name = "commenter", value = "J Doe", timestamp = time.time())
col2 = Column(name = "email", value = "jdoe@example.com", 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)
...