2017-04-14 70 views
1

我们每隔10分钟就会有一个数据流进入表A.没有保存历史。每次在表A中加载数据时,现有数据都必须刷新到新表B.可以在Cassandra中动态或自动执行此操作吗?每10分钟将数据从一张表加载到另一张表 - Cassandra

我能想到装载表A到CSV文件,然后加载回表B每一次表A的被刷新。但我想在数据库级别上完成一些工作。 任何意见或建议表示赞赏。

感谢, 阿伦

回答

1

对于较小的数据,你可以把这个成的cron:

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

如果卡桑德拉大,运行较新版本(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

您可以使用的样本有覆盖您的使用情况。

但是,这是在应用层处理大多数使用情况,写与卡桑德拉相对便宜。

+0

道歉,我离开了几天。我的要求实际上已改变新的要求是Spark应每10分钟提取一个文件并更新一个cassandra表并插入另一个cassandra表。如何使用Spark在Cassandra上执行CDC? –

+0

没问题,Spark在数据处理方面具有多功能性。最简单的就是做它,因为它在这里描述:http://stackoverflow.com/questions/32451614/reading-from-cassandra-using-spark-streaming –