【问题标题】:Bulk copy from Cassandra table column to a file从 Cassandra 表列批量复制到文件
【发布时间】:2019-08-10 14:39:21
【问题描述】:

我需要将 cassandra 数据库列复制到文件中。
该数据库有 1500 万条记录,其中包含以下列。我想将付款列数据复制到文件中。因为它是一个生产环境,会给 cassandra 集群带来压力。

userid      | contract | payment | createdDate

有什么建议吗?

在 1500 万个支付细节中,我们想要修改几个(基于某些条件)并插入到不同的 Cassandra 表中。

复制到文件 -> 处理它 -> 将其写入新的数据库表。这就是计划。但首先如何从 cassandra 数据库中获取列的副本。

问候 基兰

【问题讨论】:

    标签: cassandra cassandra-3.0


    【解决方案1】:

    您可以使用 Spark + Spark Cassandra Connector (SCC) 来执行数据加载、修改和回写。 SCC 有许多旋钮可用于调整吞吐量,以免在读写时使集群过载。

    如果您没有 Spark,您仍然可以在获取数据时使用类似的方法 - 不发出 select * from table(这会使处理请求的节点过载),而是按特定令牌范围执行数据加载,因此查询将转到不同的服务器,并且不会使它们过载太多。您可以找到按令牌范围进行扫描的代码示例here

    【讨论】:

    • 按照你建议的git代码,它只从一个节点获取数据?集群中不同节点的数据如何?此外,如果程序由于某种原因在中途失败,我们如何在重新开始时从那里恢复?请帮忙
    • 没有。它从集群中的所有节点获取数据,具体取决于该节点拥有的数据部分
    • 我还没有尝试过这个..但它是更相关的方法。我们正处于设计阶段,正在寻找方法的可能性,这似乎是我们的选择。接受此解决方案。
    猜你喜欢
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    • 2015-04-23
    • 2014-07-15
    • 2014-03-11
    • 2015-07-23
    相关资源
    最近更新 更多