我想使用json2sstable选项将json数据插入cassandra sstable。
我的稳定是:
cid | key | ts
101 | ramu | 686
我想使用json添加另一行。
json文件是:
[
{"columns": [["cid","102"],["key","raju"],["ts","687"]]}
]
我运行以下内容:
D:\cassandra\bin>json2sstable -K demodb -c data_points
我收到此错误..
java.lang.UnsupportedOperationException:SSTable data_points-e-1-Data.db is too oldto open. Upgrade to 1.2.5 first, and run upgradesstables
at org.apache.cassandra.io.sstable.Descriptor.fromFilename(Descriptor.java:235)
at org.apache.cassandra.io.sstable.Descriptor.fromFilename(Descriptor.java:204)
at org.apache.cassandra.io.sstable.SSTableWriter.<init>(SSTableWriter.java:60)
at org.apache.cassandra.tools.SSTableImport.importUnsorted(SSTableImport.java:354)
at org.apache.cassandra.tools.SSTableImport.importJson(SSTableImport.java:335)
at org.apache.cassandra.tools.SSTableImport.main(SSTableImport.java:559)
ERROR: SSTable data_points-e-1-Data.db is too old to open. Upgrade to 1.2.5 first, and run upgradesstables"****
我该怎么办?请给我任何建议。 提前谢谢你......
答案 0 :(得分:1)
看起来问题是你给sstable的文件名。你的sstable文件名中的'e'表示sstable的版本,Cassandra正在检查和拒绝太旧('e'来自Cassandra的0.7版本)。我猜你刚从旧的例子中复制了它。您应该在您的数据目录中查看其他sstables正在使用的版本并使用相同的版本。如果你在2.0.0,它将是'ja'; 2.0.1-2.0.5将是'jb'。
您还应该知道json2sstable主要用于调试和测试。如果您正在进行批量加载,您可能需要考虑其他(经过更多测试的)选项,例如sstableloader。