每10分钟将数据从一个表加载到另一个表 - Cassandra

时间:2017-04-14 13:38:31

标签: cassandra cassandra-2.1

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

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

谢谢, 阿伦

1 个答案:

答案 0 :(得分: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写入相对便宜。