我在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驱动程序来查询它,那么有没有什么地方可以获取数据 block 。 如果我有 100 行,我应该能够获得 0-10 行,然后是 10 -20 行,依此类推。
CassandraJavaRDD<CassandraRow> cassandraRDD = CassandraJavaUtil.javaFunctions(javaSparkContext).cassandraTable(keySpaceName, tableName);
我问这个问题是因为我的表中没有可以使用 IN 子句查询来获取行范围的列。
最佳答案
您可以添加自动递增的 ID 列 - 请参阅我的 DataFrame-ified Zip With Index解决方案。然后就可以通过新创建的id
列进行查询:
SELECT ... WHERE id >= 0 and id < 10;
等等
关于java - 如何在 Cassandra 中使用 Spark 获取行范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36055542/