如何使用java8逐个分区地从Cassandra加载/读取数据?

问题描述 投票:0回答:1

我正在使用spring-boot,datastax-java-cassandra-connector_2.11-2.4.1.jar和java8。

我有需要从C *表读取/加载数据的场景,但是该表可能有数百万条记录。

我需要从C *表加载此数据,无论如何使用datastax-java-cassandra-connector API的java / spring-boot我可以按分区拉数据分区?

spring-boot cassandra spring-data datastax-enterprise datastax-java-driver
1个回答
0
投票

虽然select * from table可能有效,但更有效的方法可能是通过类似select * from table where token(part_key) > beginRange and token(part_key) <= endRange的查询按令牌范围读取数据。 Spark Cassandra连接器的工作方式相同-它获取所有可用令牌范围的列表,然后从每个令牌范围获取数据,但将其直接发送到保存此令牌范围的节点(与select * from table相反,该节点检索所有令牌范围)数据通过协调器节点)。

在计算令牌边界时,请特别小心,尤其是对于整个范围的开始和结束。您可以找到example of the Java code in my repository(将其粘贴到此处太长了。)

© www.soinside.com 2019 - 2024. All rights reserved.