如何在 Cassandra 中使用 spark 获取行的范围
How to get range of rows using spark in Cassandra
我在cassandra中有一个table,它的结构是这样的
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);
我问这个是因为我的 table 中没有我可以使用 IN 子句查询以获取行范围的列。
您可以添加一个自动递增的 ID 列——请参阅我的 解决方案。然后可以通过新建的id
列查询:
SELECT ... WHERE id >= 0 and id < 10;
等等
我在cassandra中有一个table,它的结构是这样的
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);
我问这个是因为我的 table 中没有我可以使用 IN 子句查询以获取行范围的列。
您可以添加一个自动递增的 ID 列——请参阅我的 id
列查询:
SELECT ... WHERE id >= 0 and id < 10;
等等