0
我有一個表,如:使用SSTableSimpleUnsortedWriter採用全鍵列的表
CREATE TABLE example (
id TEXT,
time TIMESTAMP,
value TEXT,
PRIMARY KEY (id, time, value));
在代碼中有這樣的:
cmpType = CompositeType.getInstance(AsciiType.instance,
TimestampType.instance,
AsciiType.instance);
SSTableSimpleUnsortedWriter writer = new SSTableSimpleUnsortedWriter(outputDir,
new Murmur3Partitioner(), keyspace, table, cmpType, null, sstSize);
void write(String id, Date time, String value) {
long timestamp = System.currentTimeMillis() * 1000;
writer.newRow(bytes(id));
writer.addColumn(
cmpType.builder()
.add(TimestampType.instance.decompose(time))
.add(bytes(value))
.build(),
bytes(""), timestamp);
}
但我不知道,怎麼用addColumn
在這種情況下是正確的。當我嘗試上傳使用sstableloader
這樣的代碼卡桑德拉的結果,我得到:
java.util.concurrent.ExecutionException: org.apache.cassandra.streaming.StreamException: Stream failed
at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:122)
Caused by: org.apache.cassandra.streaming.StreamException: Stream failed
at org.apache.cassandra.streaming.management.StreamEventJMXNotifier.onFailure(StreamEventJMXNotifier.java:85)
at com.google.common.util.concurrent.Futures$4.run(Futures.java:1172)
at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297)
at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)
at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)
at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:202)
at org.apache.cassandra.streaming.StreamResultFuture.maybeComplete(StreamResultFuture.java:208)
at org.apache.cassandra.streaming.StreamResultFuture.handleSessionComplete(StreamResultFuture.java:184)
at org.apache.cassandra.streaming.StreamSession.closeSession(StreamSession.java:412)
at org.apache.cassandra.streaming.StreamSession.sessionFailed(StreamSession.java:617)
at org.apache.cassandra.streaming.StreamSession.messageReceived(StreamSession.java:472)
at org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:256)
at java.lang.Thread.run(Thread.java:745)