вставить строку JSON в Apache-Cassandra 0.8.2 - PullRequest
2 голосов
/ 12 августа 2011

Кто-нибудь знает, какой самый простой способ вставить строку json в Кассандру. Предположим, у меня есть строка json, подобная этой: {'key1': 'val1', 'key2': 'val2'}

В MongoDB мы можем напрямую вставить строку json, например dbobj.insert (jsonstring); Так есть ли способ сделать это в Кассандре? (Я кодирую в Java)

Ответы [ 2 ]

6 голосов
/ 14 августа 2011

Существует как минимум 3 способа, но это зависит от того, что вы пытаетесь достичь и какие запросы вы хотите выполнить.

Вы можете сохранить строку JSON в виде простой строки / байта, так какимя столбца Cassandra (при условии, что есть что-то, что вы можете использовать в качестве ключа строки).Вы не сможете выполнять запросы на основе содержимого JSON;это будут непрозрачные данные, обрабатываемые на стороне клиента.

Вы можете разделить JSON перед хранением, чтобы key1, key2 были именами столбцов, а val1, val2 - соответствующими значениями столбцов.Опять же, вам нужно что-то использовать в качестве ключа строки.Этот метод позволит вам извлекать отдельные значения и использовать вторичные индексы для извлечения строк с конкретными значениями.

Вы даже можете использовать key1, key2 в качестве ключей строки, с val1, val2 в качестве имен столбцов.Учитывая, что у вас есть пары key-val, сгруппированные в JSON, они предположительно принадлежат одной и той же сущности и связаны между собой, так что это вряд ли будет полезным, но я упомяну это для полноты.на самом деле ваш вопрос заключается в том, как вставить данные в Cassandra на всех , тогда вам следует прочитать документы для клиента Java, например Hector (есть и другие варианты - см. http://wiki.apache.org/cassandra/ClientOptions)

0 голосов
/ 28 октября 2015

вы можете попробовать это: INSERT INTO users JSON '{"id": "user123", "age": 42, "state": "TX"}';

Ссылка: http://www.datastax.com/dev/blog/whats-new-in-cassandra-2-2-json-support

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...