使用Java在Cassandra中将数据从一个表复制到另一个表
我正在尝试将所有数据从一个列族(表)移至另一列族。由于两个表都有不同的描述,因此我将不得不从表1中提取所有数据并为表2创建一个新对象,然后进行批量aync插入。我的表1有数百万条记录,因此我无法直接在我的数据结构中获取所有数据并进行计算。我正在寻找使用Spring
Data Cassandra和Java轻松实现此目的的解决方案。
我最初计划首先将所有数据移动到临时表,然后创建一些组合键关系,然后再查询我的主表。但是,这似乎对我不利。谁能建议一个好的策略来做到这一点?任何线索将不胜感激。谢谢!
-
我的表1有数百万条记录,因此我无法直接在我的数据结构中获取所有数据并进行计算。
使用datastax
java驱动程序,您可以按令牌范围获取所有数据,并从每个令牌范围计算出数据。例如:Set<TokenRange> tokenRanges = cassandraSession.getCluster().getMetadata().getTokenRanges(); for(TokenRange tr: tokenRanges) { List<Row> rows = new ArrayList<>(); for(TokenRange sub: tr.unwrap()){ String query = "SELECT * FROM keyspace.table WHERE token(pk) > ? AND token(pk) <= ?"; SimpleStatement st = new SimpleStatement( query, sub.getStart(), sub.getEnd() ); rows.addAll( session.execute( st ).all() ); } transformAndWriteToNewTable(rows); }
每个令牌范围仅包含所有数据的一部分,并且可以由一台物理机处理。您可以独立(并行或异步)处理每个令牌范围,以获得更高的性能。
-
在MySQL中将行从一个表复制到另一个表
2021-04-20 关注 0 浏览95 1答案
-
如何在MySQL中将数据从一个表复制到另一个新表?
2021-02-02 关注 0 浏览142 1答案
-
在 Postgres 中将表从一个数据库复制到另一个数据库
2022-04-11 关注 0 浏览48 1答案
-
将数据从一个表复制到另一个不同的列名
2021-06-04 关注 0 浏览87 1答案
-
在 SQL Server 中将表从一个数据库复制到另一个数据库
2022-04-11 关注 0 浏览51 1答案
-
在MySQL中将数据从一个表插入到另一个表
2021-02-02 关注 0 浏览184 1答案
-
PHP和mysql将记录从一个表复制到另一个表
2021-02-02 关注 0 浏览116 1答案
-
SQL Server将所有行从一个表复制到另一个表(即重复表)
2021-04-20 关注 0 浏览152 1答案
-
将数据复制到另一个表中
2022-07-28 关注 0 浏览13 1答案
-
使用Java将文件从一个目录复制到另一个目录
2021-02-02 关注 0 浏览130 1答案