我使用的是Cassandra 1.2.8。我想尝试json2sstable功能。我创建了关键空间“testloader”和列族symcfgTest。
我已经从列系列之一做过sstable2json。我想将这些json添加到symcfgTest的另一个列族中。但它给出了以下错误:
C:\Program Files\apache-cassandra-1.2.8\bin>json2sstable -K testloader -c symcfgTemp c:\data2.jsonn
C:\var\lib\cassandra\data\testloader\symcfgtemp\testloader-symcfgTemp-ic-1-Data.db
WARN 10:16:08,331 MemoryMeter uninitialized (jamm not specified as java agent); KeyCache size in JV
M Heap will not be calculated accurately. Usually this means cassandra-env.sh disabled jamm because
you are using a buggy JRE; upgrade to the Sun JRE instead
java.lang.NullPointerException
at org.apache.cassandra.db.ColumnFamily.create(ColumnFamily.java:71)
at org.apache.cassandra.db.ColumnFamily.create(ColumnFamily.java:66)
at org.apache.cassandra.db.ColumnFamily.create(ColumnFamily.java:61)
at org.apache.cassandra.db.ColumnFamily.create(ColumnFamily.java:56)
at org.apache.cassandra.tools.SSTableImport.importJson(SSTableImport.java:310)
at org.apache.cassandra.tools.SSTableImport.main(SSTableImport.java:532)
ERROR: null
我安装了JRE版java版“1.7.0_25”。
任何人都可以透过这个问题了解一下吗?
感谢。
答案 0 :(得分:0)
JVM警告是一个红色鲱鱼(它只是一个警告)。
真正的问题是NullPointerException。这是因为你的列族需要存在,以便json2sstable可以从Cassandra找到模式。
您说您创建了symcfgTest,但该命令显示了symcfgTemp。 symcfgTemp存在吗?如果是这样,可能存在区分大小写问题,如果将所有键空间和列族名称设置为小写,您会发现它更容易。