Crear una vista materializada usando la definición de tabla en Cassandra

En este artículo, discutiremos cómo podemos crear una vista materializada basada en un problema particular y también cubriremos el ejemplo del mismo. Vamos a discutir uno por uno.

Requisito previo : vista materializada 

En esto, verá cómo puede crear la vista materializada basada en la definición de la tabla. Entendamos esto usando los siguientes pasos que se detallan a continuación.

Creando la definición de la tabla:

Ahora, para comprender los escenarios, considere un ejemplo donde cricket_team es un nombre de tabla y team_name, team_match_wins, team_match_losses y team_match_ties son los campos.

CREATE TABLE cricket_team
(
team_name text primary key,
team_match_wins int,
team_match_losses int,
team_match_ties int
);

Inserción de datos en la tabla:

Ahora, verá la consulta CQL para insertar algunas filas para la tabla creada anteriormente.

Insert into cricket_team( team_name, team_match_wins, team_match_losses, team_match_ties) 
values ('IN' , 100, 5, 5); 
Insert into cricket_team( team_name, team_match_wins, team_match_losses, team_match_ties) 
values ('NZ' , 80, 5, 2); 
Insert into cricket_team( team_name, team_match_wins, team_match_losses, team_match_ties) 
values ('AUS' , 80, 4, 5); 
Insert into cricket_team( team_name, team_match_wins, team_match_losses, team_match_ties) 
values ('PAK' , 70, 8, 5); 
Insert into cricket_team( team_name, team_match_wins, team_match_losses, team_match_ties) 
values ('ENG' , 60, 9, 5);

Verificando datos:

Ahora, para verificar los datos insertados anteriormente, puede usar la siguiente consulta CQL.

 select * from cricket_team;

Producción :

nombre del equipo team_match_losses team_match_ties team_match_wins
paquete 8 5 70
EN 5 5 100
Australia 4 5 80
Nueva Zelanda 5 2 80
ESP 9 5 60

Ejemplo –

Ahora, si desea realizar una consulta de la siguiente manera.

select * cricket_team_by_team_match_wins where team_match_wins = 100;

Nota –

Los campos de clave principal no pueden ser NULL, la cláusula WHERE debe incluir una verificación NULL. Dado que la cláusula WHERE en SELECT se basa en team_match_wins, team_match_wins debe ser la clave de partición.

Creación de una vista materializada:

Ahora, si ejecuta esta consulta obtendrá un error porque no hay una tabla con el nombre cricket_team _by_ team_match_wins. Entonces, primero, puede crear una vista materializada usando la siguiente consulta CQL.

create materialized view if not exists
cricket_team_by_team_match_wins As
select * from cricket_team
where team_match_wins IS NOT NULL AND team_name IS NOT NULL
primary key((team_match_wins),team_name);

Ejecutando la consulta:

Ahora, si ejecuta la consulta que se indica a continuación, se ejecutará con éxito.

select * cricket_team_by_team_match_wins where team_match_wins = 100;

Producción :

team_match_wins nombre del equipo team_match_losses team_match_ties
100 EN 5 5

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 *