To handle tasks, like to store multiple elements, collections are used in Cassandra. Collection can be of three types in Cassandra: Set, List or Map
Set:
It stores a group of elements. Sorted elements are returned when querying.
Example:
Creating a table: Create table volunteers ( id int, email set<text>, Primary key(id) ); |
Inserting values in the table:
INSERT INTO volunteers (id, email) VALUES(1, {'[email protected]'}); INSERT INTO volunteers (id, email) VALUES(2, {'[email protected]'}); INSERT INTO volunteers (id, email) VALUES(3, {'[email protected]'}); |
Output:
id email 1 {'[email protected]'} 2 {'[email protected]'} 3 {'[email protected]'}
List:
When the order of elements matters, the list collection is used.
Example:
Altering the table: Alter table volunteers add department list<text>; |
Inserting values in the table:
INSERT INTO volunteers (id, email, department) VALUES(4, {'[email protected]'}, ['Medical']); |
Output:
id email department 1 {'[email protected]'} null 2 {'[email protected]'} null 3 {'[email protected]'} null 4 {[email protected]'} ['Medical']
Map:
To store a key-value pair, the map collection is used.
Example:
Creating a table: Create table teachers ( id int, teacher map<text, text>, Primary key(id) ); |
Output: After inserting some data in map collection type.
id teacher 1 {‘History’: ‘Smith’, ‘Geography’: ‘Davison’} |