Con Cassandra y CQL3, ¿cómo se inserta una fila ancha completa en una sola solicitud?

Quiero insertar una sola fila con 50,000 columnas en Cassandra 1.2.8. Antes de insertarlo, tengo todos los datos de toda la fila listos (en la memoria):

+---------+------+------+------+------+-------+
|         | 0    | 1    | 2    | ...  | 49999 |
| row_id  +------+------+------+------+-------+
|         | text | text | text | ...  | text  |
+---------+------+------+------|------+-------+

Los nombres de las columnas son enteros, lo que permite el corte para la paginación. Los valores de columna son un valor en ese índice particular.

Definición de la tabla CQL3:

create table results (
    row_id text,
    index int,
    value text,
    primary key (row_id, index)
) 
with compact storage;

Como ya tengo el row_id y todos los 50,000 pares de nombre / valor en la memoria, solo quiero insertar una sola fila en Cassandra en una sola solicitud / operación para que sea lo más rápido posible.

Lo único que parece que puedo encontrar es ejecutar las siguientes 50,000 veces:

INSERT INTO results (row_id, index, value) values (my_row_id, ?, ?);

el primero? es un contador de índice (i) y el segundo? es el valor de texto para almacenar en la ubicacióni.

Esto lleva mucho tiempo. Incluso cuando ponemos los INSERTOS anteriores en un lote, lleva mucho tiempo.

Tenemos todos los datos que necesitamos (la fila completa) en su totalidad, yo asumiría que es muy fácil simplemente decir "aquí, Cassandra, almacene estos datos como una sola fila en una solicitud", por ejemplo:

//EXAMPLE-BUT-INVALID CQL3 SYNTAX:
insert into results (row_id, (index,value)) values 
    ((0,text0), (1,text1), (2,text2), ..., (N,textN));

Este ejemplo no es posible a través de la sintaxis actual de CQL3, pero espero que ilustre el efecto deseado: todo se insertaría como una sola consulta.

¿Es posible hacer esto en CQL3 y el controlador Java DataStax? Si no, supongo que me veré obligado a usar Hector o el controlador Astyanax y el Thriftbatch_insert operación en su lugar?

Respuestas a la pregunta(4)

Su respuesta a la pregunta