我们每隔10分钟就会有一个数据流进入表A.没有保存历史。每次在表A中加载数据时,现有数据都必须刷新到新表B.可以在Cassandra中动态或自动执行此操作吗?每10分钟将数据从一张表加载到另一张表 - Cassandra
我能想到装载表A到CSV文件,然后加载回表B每一次表A的被刷新。但我想在数据库级别上完成一些工作。 任何意见或建议表示赞赏。
感谢, 阿伦
我们每隔10分钟就会有一个数据流进入表A.没有保存历史。每次在表A中加载数据时,现有数据都必须刷新到新表B.可以在Cassandra中动态或自动执行此操作吗?每10分钟将数据从一张表加载到另一张表 - Cassandra
我能想到装载表A到CSV文件,然后加载回表B每一次表A的被刷新。但我想在数据库级别上完成一些工作。 任何意见或建议表示赞赏。
感谢, 阿伦
对于较小的数据,你可以把这个成的cron:
如果卡桑德拉大,运行较新版本(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
您可以使用的样本有覆盖您的使用情况。
但是,这是在应用层处理大多数使用情况,写与卡桑德拉相对便宜。
道歉,我离开了几天。我的要求实际上已改变新的要求是Spark应每10分钟提取一个文件并更新一个cassandra表并插入另一个cassandra表。如何使用Spark在Cassandra上执行CDC? –
没问题,Spark在数据处理方面具有多功能性。最简单的就是做它,因为它在这里描述:http://stackoverflow.com/questions/32451614/reading-from-cassandra-using-spark-streaming –