Scala 获取每个键按日期排序的特定行数

Scala 获取每个键按日期排序的特定行数,scala,apache-spark,cassandra,datastax-enterprise,spark-cassandra-connector,Scala,Apache Spark,Cassandra,Datastax Enterprise,Spark Cassandra Connector,我有一个表格,从中我可以得到如下数据: val all = sc.cassandraTable("keyspace","table") .select("key_name", "column1", "column2", "column3", "date") .as((i:String, p:String, e:String, c:Double, d:java.util.Date) => ((i), (c, p, e, d))) 表是按日期排序的。我希望以一种方式获取数据,即对于每个键

我有一个表格,从中我可以得到如下数据:

val all = sc.cassandraTable("keyspace","table")
 .select("key_name", "column1", "column2", "column3", "date")
 .as((i:String, p:String, e:String, c:Double, d:java.util.Date) => ((i), (c, p, e, d)))

表是按日期排序的。我希望以一种方式获取数据,即对于每个键名,我都有指定数量的记录。我不知道它是在cassandra表的查询中实现的,还是应该在从表中加载数据后完成。例如,我希望将每个键名的五条最新记录分组到某种排序的集合中

您可以从链接中使用下面这样的群集列限制

从id=62c36092-82a1-3a00-93d1-46196ee77204的播放列表中选择* 按宋订购,订单描述限制50


我不确定cassandra连接器是否接受谓词上的下推。因此,您可能希望加载数据,然后应用您的操作连接器公开了一个
spanByKey()
额外的方法。您可能会感兴趣:因此,如果我使用
spanByKey
数据不会被洗牌(保留顺序),并且我可以从每个键的结果数组中获得前五个元素,它们将是五条最新记录?是的,但我必须对每个键运行此查询,我希望在一个数组中执行所有操作以提高效率。