我正在寻找一种将CSV加载到Cassandra的工具。我本来希望使用RazorSQL,但我被告知这将是几个月。
什么是好工具?
由于
答案 0 :(得分:2)
1)如果您要将所有数据加载到位,您可以尝试 sstableloader (仅适用于cassandra 0.8.x以上)实用程序来批量加载数据。有关详细信息,请参阅:{{ 3}}
2)Cassandra已将 BulkOutputFormat 批量加载数据引入cassandra,最新版本为cassandra-1.1.x以及hadoop作业。 有关详细信息,请参阅:cassandra bulk loader
答案 1 :(得分:1)
我很怀疑工具支持会对此有很大帮助,因为Cassandra架构需要反映您要运行的查询,而不仅仅是您域的通用模型。
cassandra的内置批量加载机制是通过BinaryMemtables:http://wiki.apache.org/cassandra/BinaryMemtable
但是,无论您使用此平台还是更常用的Thrift界面,您仍可能需要手动设计从CSV到Cassandra ColumnFamilies的映射,同时考虑您需要运行的查询。 CSV->的通用映射; Cassandra可能不合适,因为通常需要二级索引和非规范化。
答案 2 :(得分:0)
对于Cassandra 1.1.3及更高版本,有一个CQL COPY命令可用于将数据导入(或导出)到表中(或从中导出)。根据文档,如果您导入的行少于200万行,那么这是一个不错的选择。比sstableloader更容易使用,更不容易出错。 sstableloader要求您创建严格格式化的.db文件,而CQL COPY命令则接受分隔的文本文件。文件记录: http://www.datastax.com/docs/1.1/references/cql/COPY
对于较大的数据集,您应该使用sstableloader。http://www.datastax.com/docs/1.1/references/bulkloader。这里描述了一个工作示例http://www.datastax.com/dev/blog/bulk-loading。