2014-03-03 268 views
0

我有一個需求,我需要在卡桑德拉裝載批量數據。我做了谷歌搜索,發現SSTABLE loader可以用來在cassandra中加載批量數據。我使用DataStax並想知道我是否可以使用Apache Sqoop,我的批量數據是CSV格式的。如果我可以使用Apache SQOOp,有人可以給出如何使用sqoop以CSV格式加載批量數據的語法。散裝在卡桑德拉

回答

2

Scoop用於從JDBC存儲(關係數據庫)導入,而不是CSV文件,因此您無法使用它。

如果您的文件很小(即適合一臺機器),則應考慮使用CQL shell COPY FROM進行導入。首先創建表,以匹配要導入的模式,然後運行從CQL殼這一說法(使用自己的列,文件名和分隔符):

COPY mytable(col1, col2, col3) FROM ('myfile.csv') WITH DELIMITER=',';

然後就大功告成了。所以這是簡單的方法。

現在對於SSTableLoader,最後我聽說過,如果你想使用它,你需要編寫一個自定義的java程序,將你的文件轉換爲SSTable。從您所描述的內容來看,這可能不是您的場景的最佳方法。不過,如果您的CSV文件非常龐大,請參閱here's a blog post描述所涉及的步驟(這是一個複雜的演練,所以我不打算在此重複)。