2014-03-03 269 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描述所涉及的步骤(这是一个复杂的演练,所以我不打算在此重复)。