Я новичок в cassandra, и я пытаюсь ввести данные в cassandra с помощью batch_mutate. Так что, если у меня есть таблица с одним первичным ключом, все работалиCassandra: Использование составного первичного ключа с batch_mutate java
CREATE TABLE l4_temp1 (
id int,
secidd int,
val int,
PRIMARY KEY ((id))
) WITH
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.100000 AND
gc_grace_seconds=864000 AND
index_interval=128 AND
read_repair_chance=0.000000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
default_time_to_live=0 AND
speculative_retry='99.0PERCENTILE' AND
memtable_flush_period_in_ms=0 AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'LZ4Compressor'};
Но когда я использую составной первичный ключ, он не
CREATE TABLE l4_temp1 (
id int,
secidd int,
val int,
PRIMARY KEY ((id),secid)
) WITH
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.100000 AND
gc_grace_seconds=864000 AND
index_interval=128 AND
read_repair_chance=0.000000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
default_time_to_live=0 AND
speculative_retry='99.0PERCENTILE' AND
memtable_flush_period_in_ms=0 AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'LZ4Compressor'};
Как ссылочный код я использовал стресс от Apache Cassandra коды. Это простой пример кода:
List<Column> columns = new ArrayList<Column>(session.getColumnsPerKey());
String [] arr = {"id","secid"};
for (int i = 0; i < 2; i++)
{
columns.add(new Column(ByteBufferUtil.bytes(arr[i]))
.setValue(ByteBufferUtil.bytes(i))
.setTimestamp(FBUtilities.timestampMicros()));
}
Map<String, List<Mutation>> row = getColumnsMutationMap(columns);
Map<ByteBuffer, Map<String, List<Mutation>>> record = Collections.singletonMap(ByteBufferUtil.bytes(i), row);
client.batch_mutate(record, session.getConsistencyLevel());
Так что я понимаю, что я что-то пропустил, но я не могу найти хороший пример, поэтому, пожалуйста, помогите мне с этим.
Похоже, что вы используете бережливость апи с таблицей CQL , Это намеренно? Я бы рекомендовал использовать драйвер datastax java, как рекомендовано в ответе akshat, который использует собственный интерфейс протокола. –