我在Spark Dataframe中有一个嵌套的json对象,需要存储在Cassandra中。我是Spark Streaming和Cassandra的新手,想知道以下内容:
答案 0 :(得分:1)
1:您可以将整个JSON文档放入一列文本数据类型;您还可以尝试从JSON映射更多字段,将它们转换为平面对象并构建一个也可以编制索引的地图。和Cassandra一样 - 你必须根据所需的查询来设计你的模型。
2:表的结构是严格定义的,你不能轻松地将一个任意列添加到一行。你必须改变整个CF /表来做到这一点。另一方面,动态列完全由CQL3 via支持 聚类列(宽行)。因此无法水平添加列 但是纵向是。
从JSON值映射中省略的列被视为空插入(如果存在,则会导致删除现有值。)
答案 1 :(得分:1)
- 我知道Cassandra的早期版本(在权威指南中)它是无架构的,它仍然是这样吗?
醇>
尽管CQL需要静态模式,但在内部,CQL分区是一个很宽的行,您可以使用群集键动态添加列。请参阅this answer和this explanation。