Я пытаюсь использовать sstableloader для таблицы, созданной с помощью CQL 3.0. Я создал таблицу в Cassandra с CQL 3 следующим образом:
CREATE TABLE users1 (
id text PRIMARY KEY,
firstname text,
lastname text,
) WITH
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'SnappyCompressor'};
Я создаю sstables с помощью SSTableSimpleUnsortedWriter следующим образом:
IPartitioner partitioner = new Murmur3Partitioner();
SSTableSimpleUnsortedWriter usersWriter = new SSTableSimpleUnsortedWriter(
directory, partitioner,keyspace,"users1",AsciiType.instance, null,64);
long timestamp = System.currentTimeMillis() * 1000;
ByteBuffer id = bytes("a11");
usersWriter.newRow(id);
usersWriter.addColumn(bytes("firstname"), bytes("Ticho"), timestamp);
usersWriter.addColumn(bytes("lastname"), bytes("Richie"), timestamp);
usersWriter.close();
System.exit(0);
Хотя sstables сгенерированы, и я успешно загрузил sstables в кластер из 4 узлов в EC2. Но я не могу их запросить. Он просто ждет и в конце концов выдает ошибку тайм-аута RPC. Я мог бы успешно выполнить загрузку и запрос с помощью семейства столбцов, созданного с помощью CLI, как показано в Блоге разработчиков Datastax< /а>.
Пожалуйста, посоветуйте мне, как правильно использовать SSTableSimpleUnsortedWriter с CQL....
Моя конечная цель — создать семейство столбцов с составными ключами в CQL (реплицируя таблицу SQL) и загрузить данные с помощью SSTableLoader из очень большого файла экспорта csv.