Tipo de datos de colección en Apache Cassandra

Tipo de datos de colección en Cassandra
En este artículo, describiremos la descripción general del tipo de datos de colección y la consulta Cassandra Query Language (CQL) de cada tipo de datos de colección con una explicación. Hay 3 tipos de tipos de datos de colección en Cassandra.

1. SET
2. LIST
3. MAP 

Vamos a discutir uno por uno.

1. CONJUNTO:
un conjunto es una recopilación de datos donde podemos almacenar un grupo de elementos de modo que un usuario puede tener varias direcciones de correo electrónico y luego, para almacenar ese tipo de datos, utilizamos el tipo de datos de recopilación que devuelve elementos ordenados al realizar una consulta. Es una colección tipada de valores únicos.

Sintaxis:

Create table keyspace-Name.Table-Name(
  field 1 data_type 1,
  /*SET keyword is used to define collection data type.*/
  field 1 set<data_type>,  
  field 1 data_type 1,
  key_constraint if any
 ); 

Paso 1: para crear un espacio de claves, utilizó la siguiente consulta CQL.

CREATE KEYSPACE keyspace1
    WITH replication = {'class': 'SimpleStrategy', 
                        'replication_factor' : 1};  

Consulta CQL para usar keyspace1
Use keyspace1;

CREATE TABLE Employee
 ( 
  E_id int,
  E_name text,

  /* set syntax to define E_email as list collection data type. */
  E_email SET<text>,  
  PRIMARY KEY(E_id)
 ); 

Paso 2: La sintaxis para la inserción utilizando el tipo de datos de colección de conjuntos.
Sintaxis:

INSERT INTO table_name(field 1, field 2, field 3..) 
            VALUES('field1_value', {'field2_value1', 'field2_value2', ..}, 
                                   { 'field3_value1', 'field3_value2', ..}....); 

Consulta CQL para inserción usando SET:

INSERT INTO Employee (E_id, E_name, E_email) 
            VALUES(100, 'Ayush Agarwal', {'ayush@gmail.com’, ’ayush2@gmail.com’});
INSERT INTO Employee (E_id, E_name, E_email) 
            VALUES(101, 'Arpan mishra', {'arpan@gmail.com’, ’arpan2@gmail.com’});
INSERT INTO Employee (E_id, E_name, E_email) 
            VALUES(102, 'Ashish Rana', {'ashish@gmail.com’, ’ashish2@gmail.com’}); 

Paso 3: consulta CQL para recuperar los datos de la tabla.

select * from Employee;

Producción:


Figura – Cassandra-Table_set

2. LISTA:
En la lista, un valor se puede almacenar varias veces. Una de las reglas en el tipo de datos de recopilación de listas es que el orden de los elementos no se puede cambiar. En la lista, una vez que los valores se almacenan, los elementos obtienen un índice particular y luego los valores se pueden recuperar a través de estos índices particulares. En la lista, el elemento no necesita ser único y se puede duplicar.

Paso 1: para crear la tabla, utilizó la siguiente consulta CQL.

CREATE TABLE keyspace1.Employee
 ( 
  E_id int,
  E_name text,

  /* list syntax to define E_email as list collection data type. */
  E_email list<text>,  
  PRIMARY KEY(E_id)
 ); 

Paso 2: la sintaxis para la inserción utilizando el tipo de datos de colección de lista.

Sintaxis:

INSERT INTO table_name(field 1, field 2, field 3..) 
            VALUES(' field1_value', ['field2_value1', 'field2_value2', ..], 
                                    [ 'field3_value1', 'field3_value2', ..]....); 

Consulta CQL para inserción usando LIST:

INSERT INTO Employee (E_id, E_name, E_email) 
            VALUES(101, 'Anmol', ['Anmol@gmail.com’, ’anmol1@gmail.com’]);
INSERT INTO Employee (E_id, E_name, E_email) 
            VALUES(102, 'Aakash tomar', ['Akash@gmail.com’, ’Akash2@gmail.com’]);
INSERT INTO Employee (E_id, E_name, E_email) 
            VALUES(103, 'Ashish paliwal', ['ashish@gmail.com’, ’ashish2@gmail.com’]);
INSERT INTO Employee (E_id, E_name, E_email) 
            VALUES(104, 'Ashish Rana', ['a1@gmail.com’, ’a2@gmail.com’]); 

Paso 3: consulta CQL para recuperar los datos de la tabla.

select * from Employee;

Producción:


Figura: tabla LIST para la consulta CQL anterior

3. MAP:
En MAP, colección escrita de pares clave-valor tal que el par de valores con un nombre de clave respectivo. El tipo de datos de la colección MAP está ordenado por claves únicas.

Paso 1: para crear la tabla, utilizó la siguiente consulta CQL.

CREATE TABLE keyspace1.Activity
 ( 
  E_id int,
  E_name text,
  task map<timestamp, text>,
  PRIMARY KEY(E_id)
 ); 

Paso 2: la sintaxis para la inserción utilizando el tipo de datos de colección de mapas.

Sintaxis:

INSERT INTO table_name(field 1, field 2, field 3..) 
            VALUES({'key1':'value1', 'key2':'value2'..........}); 

Consulta CQL para inserción usando MAP:

INSERT INTO Employee (E_id, E_name, Task) 
            VALUES(001, 'Vaibhav Nirwal', {'2019-09-28':'collection data type', 
                                                '2019-09-29':'map data type'});
INSERT INTO Employee (E_id, E_name, Task) 
            VALUES(002, 'Aksh Tomar', {'2019-09-28':'database created', 
                                       '2019-09-29':'creating table'}); 

Paso 3: consulta CQL para recuperar los datos de la tabla.

select * from Activity;

Producción:


Figura: tabla MAP para la consulta CQL anterior

Publicación traducida automáticamente

Artículo escrito por Ashish_rana y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *