Cassandra上的Spark如何影响Cassandra数据建模?

Cassandra上的Spark如何影响Cassandra数据建模?,cassandra,data-modeling,datastax,Cassandra,Data Modeling,Datastax,在处理Cassandra时,我学到的第一件事是,您需要非常小心您的数据模型,因为Cassandra不支持连接、聚合等。因此,您可以根据查询对数据建模,使用广泛的去规范化等 但假设我决定在卡桑德拉之上运行Spark。Spark将允许进行连接和聚合,以及对数据进行不同的计算 所以我的问题是,当我在Cassandra中对数据建模时,考虑到我将在其上运行Spark时,我是否需要更改我的模型,使其适合Spark以实现更快的计算,或者我仍然需要坚持在普通Cassandra中进行数据建模的最佳实践 例如,如果

在处理Cassandra时,我学到的第一件事是,您需要非常小心您的数据模型,因为Cassandra不支持连接、聚合等。因此,您可以根据查询对数据建模,使用广泛的去规范化等

但假设我决定在卡桑德拉之上运行Spark。Spark将允许进行连接和聚合,以及对数据进行不同的计算

所以我的问题是,当我在Cassandra中对数据建模时,考虑到我将在其上运行Spark时,我是否需要更改我的模型,使其适合Spark以实现更快的计算,或者我仍然需要坚持在普通Cassandra中进行数据建模的最佳实践


例如,如果我在cassandra中有表1和表2,它们包含相同的数据,但在表1中,数据由Key1、Key2(partion key)键控,而在表2中,数据由Key1、Key3(partion key)键控,那么这些基本上是我的数据的两个视图,可以进行快速查询。如果需要通过Key1、Key2、Key3查询数据,则必须创建第三个表Table3。但是知道我可以在Cassandra上的Spark中查询和连接Table1和Table2,我可能不需要创建Table3?

Table1+Table2意味着两次读取,而只有Table3意味着一次读取。因此,使用复合主键的表3会更快