【问题标题】:Load data from one table to another every 10 mins - Cassandra每 10 分钟将数据从一个表加载到另一个表 - Cassandra
【发布时间】:2017-04-14 23:13:06
【问题描述】:

我们每 10 分钟就有一个数据流进入表 A。没有保存历史。每次在表 A 中加载数据时,都必须将现有数据刷新到新表 B。这可以在 Cassandra 中动态完成还是自动完成?

我可以考虑将表 A 加载到 CSV 文件中,然后在每次刷新表 A 时加载回表 B。但我想在数据库级别本身做一些事情。 任何想法或建议表示赞赏。

谢谢, 阿伦

【问题讨论】:

    标签: cassandra cassandra-2.1


    【解决方案1】:

    对于少量数据,您可以将其放入 cron:

    https://dba.stackexchange.com/questions/58901/what-is-a-good-way-to-copy-data-from-one-cassandra-columnfamily-to-another-on-th

    如果更大且运行更新版本的 cassandra (3.8+)

    http://cassandra.apache.org/doc/latest/operating/cdc.html https://issues.apache.org/jira/browse/CASSANDRA-8844

    然后将数据重播到您需要的表中(通过某种外部进程、脚本、应用程序等......)。

    基本上已经有一些工具,例如: https://github.com/carloscm/cassandra-commitlog-extract

    您可以使用那里的示例来涵盖您的用例。

    但对于大多数用例,这是在应用程序级别处理的,使用 cassandra 写入相对便宜。

    【讨论】:

    • 抱歉,我离开了几天。我的要求实际上改变了。新的要求是 Spark 应该每 10 分钟获取一个文件并更新一个 cassandra 表并插入另一个 cassandra 表。如何使用 Spark 在 Cassandra 上进行 CDC?
    • 没问题,Spark 在数据处理方面具有多功能性。最简单的方法就是按照此处所述进行操作:stackoverflow.com/questions/32451614/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    • 2019-04-09
    • 2017-09-02
    • 1970-01-01
    相关资源
    最近更新 更多