2017-04-14 68 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 –