java - 如何在 Cassandra 中使用 Spark 获取行范围

标签 java apache-spark cassandra 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驱动程序来查询它,那么有没有什么地方可以获取数据 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/

相关文章:

python - 高斯混合模型 : Difference between Spark MLlib and scikit-learn

scala - 如何在 phantom-dsl 中连续更新多个字段?

perl - 如何使用 Net::Cassandra::Easy 存储和检索 TimeUUIDType 类型?

java - 主要 Activity 的 Android ClassNotFoundException

java - MyISAM 存储引擎在 Java Hibernate 中更可取吗?

scala - Apache Spark : How to save the dataframe results (Dataframe with joins), 所以对数据帧的操作不会改变结果?

elasticsearch - 如何将Elastic search与cassandra集成?

java - ByteBuddy MethodDelegation 在 Java 代理中不起作用

java - 使用 SSH 从 Java 应用程序连接到 Hadoop

hadoop - 有关使用Hive和 “(CDH 4.2.0), yarn (Hadoop 2.4.0)”构建Spark的信息?