【问题标题】:insert JSON String in Apache-Cassandra 0.8.2在 Apache-Cassandra 0.8.2 中插入 JSON 字符串
【发布时间】:2015-10-28 14:59:07
【问题描述】:

任何人都知道在 cassandra 中插入 json 字符串的简单方法。 假设我有一个这样的 json 字符串:{'key1':'val1','key2':'val2'}

在 MongoDB 中,我们可以直接插入一个 json 字符串,例如 dbobj.insert(jsonstring); 那么在 Cassandra 中有什么方法可以做到这一点吗?(我正在用 java 编码)

【问题讨论】:

  • 为什么数据库会关心字符串的内容。它是一个 JSON 字符串这一事实并没有使它与任何其他字符串不同,不是吗?

标签: java json cassandra


【解决方案1】:

至少有 3 种方法,但这取决于您要实现的目标以及要运行的查询类型。

您可以将 JSON 字符串存储为纯字符串/字节,作为 Cassandra 列名(假设您可以将某些内容用作行键)。但是,您将无法基于 JSON 内容进行查询;这将是您在客户端处理的不透明数据。

您可以在存储之前拆分 JSON,这样 key1, key2 是列名,val1, val2 是对应的列值。同样,您需要一些东西用作行键。此方法可让您检索单个值,并使用二级索引检索具有特定值的行。

您甚至可以使用 key1、key2 作为行键,使用 val1、val2 作为列名。鉴于您在 JSON 中分组了 key-val 对,它们可能属于同一个实体并且是相关的,所以这不太可能有用,但为了完整起见,我提到它。

编辑添加:如果您的问题实际上是如何将数据插入 Cassandra,那么您应该阅读 Java 客户端的文档,例如 Hector(还有其他选项 -见http://wiki.apache.org/cassandra/ClientOptions)

【讨论】:

    【解决方案2】:

    你可以试试这个: 插入用户 JSON '{"id": "user123", "age": 42, "state": "TX"}';

    参考: http://www.datastax.com/dev/blog/whats-new-in-cassandra-2-2-json-support

    【讨论】:

      猜你喜欢
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      • 2016-06-30
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 2012-04-05
      • 2020-07-20
      相关资源
      最近更新 更多