如何在Cassandra中使用spark获取行范围

时间:2016-03-17 08:49:58

标签: java apache-spark spark-cassandra-connector

我在cassandra有一张表,结构就像这样

CREATE TABLE dmp.Table (

pid text PRIMARY KEY,
day_count map<text, int>, 
first_seen map<text, timestamp>, 
last_seen map<text, timestamp>, 
usage_count map<text, int>
}

现在我尝试使用spark-cassandra驱动程序查询它,所以我可以在哪里获取数据块。 如果我有100行,我应该能够获得0-10行,然后是10-20,依此类推。

 CassandraJavaRDD<CassandraRow> cassandraRDD = CassandraJavaUtil.javaFunctions(javaSparkContext).cassandraTable(keySpaceName, tableName);

我问这个问题,因为我的表中没有列可以使用IN子句查询以获取行范围。

1 个答案:

答案 0 :(得分:1)

您可以添加自动递增ID coloumn - 请参阅我的 DataFrame-ified Zip With Index 解决方案。然后,您可以通过新创建的id列进行查询:

SELECT ... WHERE id >= 0 and id < 10;