【问题标题】:Cassandra and JSON卡桑德拉和 JSON
【发布时间】:2017-05-12 11:06:59
【问题描述】:

好吧,我正在大量采用 JSON 格式,我正在尝试将其插入 Cassandra 集群。问题是数据没有标准的键:值格式,所以我相信它实际上不是 JSON。

以下是数据示例:

'{"15151162":"6f0aa7ebc60af9b6dd5992341e155138b3ea369a","15149182":"c141929a6ccc6157f4de7055ea565e7a83f59aea","15144225":"f70a2cdecee0e7e9fe85819e74d0e09d36060909"}'

所以请记住这一点,我想知道,我知道这有点意见,但我是否必须拆开然后批量插入数据,或者有更好的方法可以使用一些方法将它们映射到列CQL/Cassandra 的特性。

此外,作为附加信息,我们谈论了大约 2800 万条记录,因此理想情况下,我希望使用 CQL/Cassandra 来完成,而不是用编程语言重新组织对象。

我熟悉 Java、C++ 和 SQL,对 nosql/Hybrid nosql 比较陌生。

谢谢

【问题讨论】:

  • 您的示例数据是有效的 JSON。最近的 C* 版本具有原生 JSON support。您可以将 JSON 插入表中,键将映射到列。

标签: json cassandra bigdata nosql


【解决方案1】:

如果您没有密钥,请在摄取它时创建一个,方法是创建一个 guid 并像这样格式化记录。

{
  "key": "3fa55ea6-de8b-4b6f-b11e-5a3701982c65",
  "type": "weird data",
  "data": {
    "15144225": "f70a2cdecee0e7e9fe85819e74d0e09d36060909",
    "15149182": "c141929a6ccc6157f4de7055ea565e7a83f59aea",
    "15151162": "6f0aa7ebc60af9b6dd5992341e155138b3ea369a"
  }
}

当下一个程序员实际上必须反序列化这些数据时,添加类型字段非常有用。版本字段可能也是一个好主意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 2016-01-27
    • 2015-10-19
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多