卡桑德拉新手问题.我正在使用REST调用从社交网站收集一些数据.所以我最终以JSON格式返回数据.
JSON只是我表中的一列.我试图弄清楚存储JSON字符串的"最佳实践"是什么.
首先我考虑使用地图类型,但JSON包含字符串,数字类型等的混合.似乎我不能为地图键/值声明通配符类型.JSON字符串可能非常大,可能超过10KB.我可以将它存储为字符串,但似乎效率低下.我认为这是一项常见任务,因此我确信有一些关于如何执行此操作的一般指导原则.
我知道Cassandra本身支持JSON,但据我所知,当整个JSON映射与数据库模式匹配1-1时,主要使用它.对我来说情况并非如此.模式有一堆列,JSON字符串只是一种"有效负载".将JSON字符串存储为blob还是文本更好?顺便说一句,Cassandra版本是2.1.5.
任何提示赞赏.提前致谢.
我将一个长JSON字符串传递给kafka主题,例如:
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
并且想要从kafka主题创建流,其中所有字段都指定了KSQL中的每个字段,例如:
CREATE STREAM pageviews_original (*) WITH \
(kafka_topic='pageviews', value_format='JSON');
Run Code Online (Sandbox Code Playgroud) 我已关闭自动提交功能,并且在阅读后也未从消费方中提交偏移量。
受检查的消费者延迟也保持不变,这确保了偏移量不会被提交。但是问题是,它再次消耗了下一条味精消息。
我如何才能一次又一次地阅读相同的消息。只有提交了先前的偏移量后,我才应该能够阅读下一条消息。请在这里帮助我。
我最近将 datastax-enterprise 从 4.8.16 升级到 5.0.15。我们使用纯文本格式的密码身份验证。但日志中不断出现以下消息。
2018-12-11 09:50:04.446 WARN [SharedPool-Worker-5 - com.datastax.bdp.cassandra.auth.DseAuthenticator:411] Plain text authentication without client / server encryption is strongly discouraged
2018-12-11 09:50:37.465 WARN [SharedPool-Worker-1 - com.datastax.bdp.cassandra.auth.DseAuthenticator:411] Plain text authentication without client / server encryption is strongly discouraged
2018-12-11 09:50:49.472 WARN [SharedPool-Worker-4 - com.datastax.bdp.cassandra.auth.DseAuthenticator:411] Plain text authentication without client / server encryption is strongly discouraged
2018-12-11 09:55:43.148 WARN [SharedPool-Worker-2 - com.datastax.bdp.cassandra.auth.DseAuthenticator:411] Plain text authentication without client / server encryption is strongly discouraged
2018-12-11 09:57:50.736 WARN [SharedPool-Worker-3 - com.datastax.bdp.cassandra.auth.DseAuthenticator:411] …Run Code Online (Sandbox Code Playgroud)