update drop column allow cassandra cql cassandra-2.0 datastax

drop - eliminar elementos mĂșltiples de un mapa en cassandra?



drop column cassandra (2)

Tengo un campo cat_to_pub con tipo MAP .

{1: ''9-20-21'', 2: ''2-5-21'', 4: ''2-5-21'', 5: ''2'', 6: ''2'', 9: ''2-83-153-149'', 11: ''2-5-21-31'', 29: ''100'', 32: ''113-198-21''}

Puedo eliminar un elemento individual de este MAP utilizando

DELETE cat_to_pub[1] FROM user_preferences WHERE user_id = ''jayeshjain'';

¿Cómo elimino múltiples elementos de este conjunto?

por ejemplo. Si deseo eliminar la clave 1 y 2, ¿cómo formulo mi consulta?


No creo que haya una manera de hacerlo como una simple declaración simple, pero deberías poder hacerlo como una declaración por lotes. Como está eliminando de la misma partición (porque está eliminando de la misma columna de mapa), el rendimiento debería ser bastante bueno, ya que se seguirá haciendo como una sola operación (se verificará haciendo un rastreo de consulta).

BEGIN UNLOGGED BATCH DELETE cat_to_pub[1] from user_preferences where user_id =''jayeshjain''; DELETE cat_to_pub[2] from user_preferences where user_id =''jayeshjain''; APPLY BATCH;


Con la versión más nueva de cassandra (probada con 3.7) puede update user_preference set cat_to_pub = cat_to_pub - { 1, 2 } where user_id = ''jayeshjain'';