Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Cassandra检索数据块_Java_Apache Spark_Cassandra - Fatal编程技术网

Java 从Cassandra检索数据块

Java 从Cassandra检索数据块,java,apache-spark,cassandra,Java,Apache Spark,Cassandra,我有一个表,其中包含大约5亿条卡桑德拉记录。我需要传递所有这些记录并进行一些处理,然后将处理后的记录插入其他表中。由于内存问题,我需要将这些记录作为块检索。有办法吗? 例如,在第一个块中,我需要获取第一个2M,然后在第二个块中,我需要检索第二个2M,依此类推。如果您只运行一个常规的execute方法,您将返回一个ResultSet。如文件所述: 对结果集行的检索通常是分页的(获取结果的第一页,并且仅在第一页的所有结果都已使用后才获取下一页)。页面大小可以通过QueryOptions.setFet

我有一个表,其中包含大约5亿条卡桑德拉记录。我需要传递所有这些记录并进行一些处理,然后将处理后的记录插入其他表中。由于内存问题,我需要将这些记录作为块检索。有办法吗?
例如,在第一个块中,我需要获取第一个2M,然后在第二个块中,我需要检索第二个2M,依此类推。

如果您只运行一个常规的
execute
方法,您将返回一个
ResultSet
。如文件所述:

对结果集行的检索通常是分页的(获取结果的第一页,并且仅在第一页的所有结果都已使用后才获取下一页)。页面大小可以通过QueryOptions.setFetchSize(int)全局配置,也可以通过语句.setFetchSize(int)按语句配置。尽管在需要时自动(透明)获取新页面,但也可以通过fetchMoreResults()提前强制检索下一页


因此,您可以运行一个查询,询问所有数据,并将获取大小设置为您的块大小。然后迭代你的
结果集
,直到你得到你的记录块、处理、插入,然后再次开始迭代。

我个人不确定cassandra是否适合这些目的。.谢谢你的回答,但为什么?这不是一个答案,只是一个注释。IMHO Cassandra用于快速插入操作、更新计数器和按键序列搜索少量行,而不是简单地遍历数百万行。什么版本的Cassandra?哪个驱动程序?我使用的是DataStac DDC Server 3.9.0,并通过Spark Cassandra Connector 2.11 Java访问它。我使用的是SpringBoot的CassandraRepository,在我的情况下是否也可以这样做?怎么做?