使用 Java 将数据从 Cassandra 中的一个表复制到另一个表

2024-04-07

我正在尝试将所有数据从一个列族(表)移动到另一个列族。由于两个表都有不同的描述,我必须从 table-1 中提取所有数据并为 table-2 创建一个新对象,然后执行批量 aync 插入。我的 table-1 有数百万条记录,因此我无法直接获取数据结构中的所有数据并计算出来。我正在寻找使用 Spring Data Cassandra 和 Java 轻松实现这一点的解决方案。

我最初计划首先将所有数据移动到临时表,然后创建一些复合键关系,然后查询我的主表。然而,这对我来说似乎并不有利。谁能提出一个好的策略来做到这一点?任何线索将不胜感激。谢谢!


我的 table-1 有数百万条记录,因此我无法直接获取数据结构中的所有数据并计算出来。

使用 datastax java 驱动程序,您可以通过以下方式获取所有数据标记范围 https://docs.datastax.com/en/drivers/java/3.1/com/datastax/driver/core/TokenRange.html并计算出每个标记范围的数据。例如:

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); 
}

每个令牌范围仅包含所有数据的一部分,并且可以由一台物理机器处理。您可以独立(并行或异步)处理每个令牌范围以获得更高的性能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Java 将数据从 Cassandra 中的一个表复制到另一个表 的相关文章

  • 如何在java中将数组值排序为循环格式?

    我的数组值如下 String value 1 2 3 4 5 6 7 8 9 10 假设如果我将值 5 传递给 tat 数组 它应该按如下顺序排序 5 6 7 8 9 10 1 2 3 4 怎么办 有人帮忙吗 感谢你 你需要的就是所谓的轮换
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • Jframe 内有 2 个 Jdialogs 的 setModal 问题

    当我设置第一个选项时 我遇到了问题JDialog模态 第二个非模态 这是我正在尝试实现的功能 单击 测试对话框 按钮 一个JDialog有名字自定义对话框 主要的将会打开 如果单击 是 选项自定义对话框主 其他JDialog named 自
  • java inputstream 打印控制台内容

    sock new Socket www google com 80 out new BufferedOutputStream sock getOutputStream in new BufferedInputStream sock getI
  • Mockito 使用 @Mock 时将 Null 值注入到 Spring bean 中?

    由于我是 Spring Test MVC 的新手 我不明白这个问题 我从以下代码中获取了http markchensblog blogspot in search label Spring http markchensblog blogsp
  • 如何在单个查询中搜索 RealmObject 的 RealmList 字段

    假设我有一堂课 public class Company extends RealmObject private String companyId private RealmList
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • 如何检查某个元素是否存在于一组项目中?

    In an ifJava中的语句如何检查一个对象是否存在于一组项目中 例如 在这种情况下 我需要验证水果是苹果 橙子还是香蕉 if fruitname in APPLE ORANGES GRAPES Do something 这是一件非常微
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • Akka 与现有 java 项目集成的示例

    如果我已经有现有的javaWeb 应用程序使用spring and servlet容器 将 Akka 集成到其中的正确方法是什么 就像我将会有Actor1 and Actor2互相沟通的 开始使用这些演员的切入点是什么 例如 1 把它放在那
  • 如何使用 JMagick 转换色彩空间?

    如何使用 JMagick API 转换色彩空间 例如 CMYK gt RGB 和 RGB gt CMYK None
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • Java继承,扩展类如何影响实际类

    我正在查看 Sun 认证学习指南 其中有一段描述了最终修饰符 它说 如果程序员可以自由地扩展我们所知的 String 类文明 它可能会崩溃 他什么意思 如果可以扩展 String 类 我是否不会有一个名为 MyString 的类继承所有 S
  • 蓝牙发送和接收文本数据

    我是 Android 开发新手 我想制作一个使用蓝牙发送和接收文本的应用程序 我得到了有关发送文本的所有内容逻辑工作 但是当我尝试在手机中测试它时 我看不到界面 这是Main Activity Code import android sup
  • hibernate 6.0.2.Final 和 spring boot 2.7.0 的entityManagerFactory bean 未配置问题

    所以最近我想升级我的 Spring Boot 项目项目的一些依赖项 特别是这些组件 雅加达 EE 9 弹簧靴2 7 休眠 6 0 2 Final 完成此操作后 所有更新和代码折射 更新将 javax 导入到 jakarta 以及一些 hib
  • 在java中以原子方式获取多个锁

    我有以下代码 注意 为了可读性 我尽可能简化了代码 如果我忘记了任何关键部分 请告诉我 public class User private Relations relations public User relations new Rela
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • Java 正则表达式中的逻辑 AND

    是否可以在 Java Regex 中实现逻辑 AND 如果答案是肯定的 那么如何实现呢 正则表达式中的逻辑 AND 由一系列堆叠的先行断言组成 例如 foo bar glarch 将匹配包含所有三个 foo bar 和 glarch 的任何
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也

随机推荐

  • 使用 MVVM 模式挂钩 Storyboard.Complete 事件

    基本上 我得到的是一个简单的警报消息设置 有一个单独警报的视图 其中一些数据绑定到虚拟机的文本和颜色 绿色表示成功 红色表示错误等
  • 在 MS PowerPoint 中查找并突出显示文本

    我使用此站点中的一些代码创建了一个宏 用于在 Word 文档上进行关键字搜索并突出显示结果 我想在 PowerPoint 中复制这种效果 这是我的 Word 代码 Sub HighlightKeywords Dim range As ran
  • Java:将出生数据转换为天数

    我真的需要一些关于具体任务的帮助 用户输入出生数据 YYYY MM DD 程序会告诉您您的年龄 以天为单位 控制台中的输出将是 例如 您出生于 1981 年 11 月 6 日 您已经 7068 天了 我已经重写了我的代码大约 20 次但没有
  • 使用 HTML 5 的进度条(下载)

    我正在开发一个需要从数据库下载内容的项目 通常使用手机 高端智能手机 访问该网站 我想知道是否可以在使用 HTML5 下载内容的过程中添加进度条 以便在执行此操作时会在整个屏幕上出现一个灯箱 并且只显示进度条 可以使用 XMLHttpReq
  • NSArray 越界检查

    菜鸟问题 检查 NSArray 或 NSMutableArray 的索引是否存在的最佳方法是什么 我到处找都没有结果 这是我尝试过的 if sections arr objectAtIndex 4 or sections arr objec
  • 为什么 Firefox 会截断我的 中的文本?

    我有一个简单的
  • 芹菜“重试”并更新参数

    考虑一个任务将列表作为参数并处理列表中的每个元素 这可能会成功也可能会失败 在这种情况下 如何仅对失败的元素进行 重试 Example app task bind True def my test self my list list new
  • 在 bash 脚本中模拟用户输入[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在创建自己的 bash 脚本 但目前陷入困境 基本上 该脚本将用于在 CentOS 中自动设置服务器 某些软件通常要求用户输入密码 我希望脚本将我
  • 将复选框添加到 ASP.NET 网格视图

    我正在尝试在我的网络应用程序中启用批量删除 我显示的数据位于GridView我想添加一列 其中每一行包含一个复选框 或任何替代选项 用户可以标记要删除的行 然后立即删除所有行 当我添加一个CheckBoxField 它必须绑定到我自然在数据
  • 删除元素时映射迭代器如何失效? [复制]

    这个问题在这里已经有答案了 使用擦除方法时 迭代器何时以及如何在映射中失效 例如 std map lt int int gt aMap aMap 33 1 aMap 42 10000 aMap 69 100 aMap 666 1 std m
  • WordPress 到 Jekyll 脚本抛出错误

    我已经为这个问题苦苦挣扎了一天左右 但无法弄清楚发生了什么 我正在尝试运行一个脚本将我的 Wordpress sql 导入 Jekyll 并将所有内容转换为 Markdown 但每次我运行脚本 在 Mac 和 Ubuntu 上 时都会收到错
  • Python定时器回调方法

    from threading import Timer class test timer def init self self awesum hh self timer Timer 1 self say hello args WOW def
  • 在 Grails 中使用 Groovy++ 的经验

    有人尝试过在幕后实现一个包含 Groovy 的 Grails 解决方案吗 Groovy 使用 Groovy 1 7 5 并包含将 G 与 Grails 集成的插件
  • 当键盘在 Flutter TextField 中可见时,键盘顶部有大量空白

    这是我的代码 build BuildContext context return new Scaffold body new SafeArea child new ListView builder itemBuilder itemBuild
  • 动态更改从数组创建的按钮的按钮标签和标题(快速)

    我的环境 下面的代码是在我公司 iPad 上的 swift Playgrounds 4 中编写的 项目目标 我正在努力改进学校的课堂管理工具 它基本上是一个纸质交通灯 每个学生都有一个衣夹 我想要一个应用程序 其中我的 28 个学生都由一个
  • pthread_mutex_t 可以在内存中移动吗?

    我想构建一个动态分配的 pthread mutex 数组 该数组将随着时间的推移而增长 添加更多互斥体 我的问题是 如果数组通过 realloc 移动 它们是否仍然有效 我担心的是 pthread mutex init 可能会以某种方式设置
  • 更新具有一个字段的当前最高(最大值)值的行[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有这个 SQL 查询 这是错误的
  • 在Java中,如何从资源构造文件?

    File 在其构造函数中采用 String 和 URI getClass getResource 返回 URL 和getResourceAsStream 返回输入流 有没有办法从资源构造文件 你不能 至少在资源位于 Jar 内的标准情况下不
  • JPA/Hibernate - 与子实体一起分离实体

    我使用 JPA 2 和 Hibernate 3 6 8 作为实现 假设我们有一个实体Foo Entity public class Foo OneToOne private Bar bar 我需要将整个实体图从会话中分离出来 当我这样做时e
  • 使用 Java 将数据从 Cassandra 中的一个表复制到另一个表

    我正在尝试将所有数据从一个列族 表 移动到另一个列族 由于两个表都有不同的描述 我必须从 table 1 中提取所有数据并为 table 2 创建一个新对象 然后执行批量 aync 插入 我的 table 1 有数百万条记录 因此我无法直接