2014-11-24 58 views
0

我們需要CSV文件數千兆字節加載到卡桑德拉。我們嘗試使用source命令提取數據,以從包含插入語句的文本文件中提取數據與csv文件的數據值。卡桑德拉源語句VS副本

通過這種方法,數據是沒有得到正確上傳 - 在所有的後續行重複從第一行數據。 (我檢查了插入命令,它們似乎包含正確的值)。

可能是什麼問題?我是否看到行重複,因爲Cassandra需要時間將數據刷新到磁盤? (nodetool顯示無未決刷新雖然)。

它是更有效的創建CSV文件,並使用複製語句來攝取的數據?請。建議。

回答

1

複印通常用於較小的數據量。推薦的方法是使用SSTable Loader並從您的數據創建SSTable文件。這是更多的工作,但應導致更快的攝取。您也可以嘗試使用Spark並通過Spark將其吸收到Cassandra中。

至於不一致之處,卡桑德拉確實基於主鍵upserts。如果多於一行匹配相同的主鍵,則最後一次寫入勝出。如果您需要保留所有行,可能需要在主鍵上添加時間戳或timeuuid列以使記錄具有唯一性。