无法列出文件Cassandra中的错误

时间:2017-12-28 08:15:22

标签: cassandra cassandra-3.0

我是批量使用SSTable将数据加载到cassandra中。我正在关注https://github.com/SPBTV/csv-to-sstable这个。

我通过

创建了SSTables
 $ java -jar csv-to-sstable.jar quote /home/arque/table_big.cql /home/arque/Documents/data.csv /home/arque

我在尝试运行以下命令时遇到错误:

 $ sstableloader -d 192.168.0.7 /home/arque/quote/table_big

错误:

Error: Established connection to initial hosts Opening sstables and calculating sections to stream Failed to list files in /home/arque/quote/table_big java.lang.AssertionError java.lang.RuntimeException: Failed to list files in /home/arque/quote /table_big at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:77)

1 个答案:

答案 0 :(得分:0)

错误发生在csv-to-sstable工具中。请查看此文件:https://github.com/SPBTV/csv-to-sstable/blob/master/src/main/java/com/spbtv/cassandra/bulkload/Bulkload.java

您说主键是复合键时只有问题。这是因为该工具希望主键在与列相同的通道上定义。 第66行:

// Primary key defined on the same line as the corresponding column
Pattern pattern = Pattern.compile(".*?(\\w+)\\s+\\w+\\s+PRIMARY KEY.*");

如果你改变它以满足你的需要它应该工作。