Comandos - Apache Cassandra

Descargar como xlsx, pdf o txt
Descargar como xlsx, pdf o txt
Está en la página 1de 16

DOCUMENTED SHELL COMMANUSO

Redirige la salida de las


consultas CQL a un archivo en
lugar de mostrarlas en la
CAPTURE pantalla.
Limpia la pantalla de la shell
CLEAR de CQL.
Limpia la pantalla de la shell
CLS de CQL.
Establece un nivel de
consistencia de las consultas
CONSISTENCY CQL.

Copia los datos hacia o desde


un archivo CSV en una tabla
COPY de Cassandra.

Describe, muestra la estructura


y detalles de un keyspace,
DESC tabla o tipo de datos.
EXIT Sale de shell de CQL.
Muestra la salida de las
consultas CQL en un formato
EXPAND más detallado y fácil de leer.
Muestra lla lista de todos los
HELP comandos CQL.
Se usa para iniciar sesión en
un servidor Cassandra seguro,
solicitando un nombre de
LOGIN usuario y contraseña.

Habilita o deshabilita la
paginación de resultados en la
shell de CQL. Cuando está
habilitada, los resultados se
PAGING muestran en páginas.
Especifica el nivel de
consistencia de las operaciones
de lectura y escritura en la
SERIAL misma fila.

Muestra información sobre la


configuración y estado del
clúster de Cassandra, como la
versión, descripción,
SHOW configuración, etc.
Ejecuta un archivo de
SOURCE comandos de CQL en la shell.
Habilitada o deshabilita el
seguimiento de las consultas
CQL para depurar y analizar el
TRACING rendimiento.
Habilita o deshabilita la
compatibilidad con Unicode
UNICODE en la salida de la shell.
CQL HELP TOPICS: USO
Muestra información sobre
agregados en el esquema de
AGGREGATES Cassandra.
Cambia la estrategia de
replicaciób de claves y habilita
o deshabilita el registro de
ALTER_KEYSPACE confirmaciones.

Cambia las propiedades de


tabla de una vista
ALTER_MATERIALIZED_VIEW materializada

Modifica las columnas y


propiedades de una tabla, o
ALTER_TABLE modifica.
Cambia la contraseña y
establece las opciones de
superusuario o de inicio de
ALTER_ROL sesión.

Modifica un tipo definico por


ALTER_TYPE el usuario (UDT) existente.

Modifica las opciones de


ALTER_USE usuario existentes.

Aplica una serie de


operaciones a una colección
existente, por ejemplo agregar
elementos a una lista o
APPLY actualiza valores en un mapa.

Convierte un carácter o una


ASCII cadena en su valor ASCII.
Aplicar varias instrucciones de
lenguaje de modificación de
datos (DML) con atomicidad
BATCH y/o de forma aislada.

Inicia una transacción explicíta


dentro de la shell de CQL,
agrupar varias operaciones de
BEGIN lectura y escritura.

Consultas CQL para trabajar


BLOB con datos binarios.

Representa valores booleanos


BOOLEAN (verdadero o falsos)

COUNTER Contador incremental.

Define un agregado definido


CREATE_AGGREGATE por el usuario.

Crea un índice adjunto al


CREATE_CUSTOM_IDEX almacenamiento

Crea una función


personalizada para ejecutar el
código proporcionado por el
CREATE_FUNCTION usuario.
Define un nuevo índice para
CREATE_INDEX una sola columna de una tabla.

CREATE_KEYSPACE Crea un nuevo keyspace.

Optimiza las solicitudes de


lectura y elimina la necesidad
de varias solicitudes de
escritura mediante la
duplicación de datos de una
CREATE_MATERIALIZED_VIEWtabla base.
Crea un objeto de base de
datos de todo el clúster que se
utiliza para el control de
CREATE_ROLE acceso.

CREATE_TABLE Crea una nueva tabla.

Crea un tipo de datos


personalizado en el espacio de
claves que contiene uno o
varios campos de información
CREATE_TYPE relacionada.

CREATE_USER Crea un nuevo usuario.

DATE Proporciona fecha y hora.


Quita los datos de una o varias
DELETE columnas o quita toda la fila.

Elimina un agregado definido


por el usuario de un espacio de
DROP_AGGREGATE claves.
Elimina una tabla existente de
DROP_COLUMNFAMILY un keyspace.

Elimina una función definida


por el usuario (UDF) de un
DROP_FUNCTION espacio de claves.

DROP_INDEX Quita un índice de una tabla.

DROP_KEYSCAPE Elimina el espacio de claves.

Quita la vista materializada


DROP_MATERIALIZED_VIEW con nombre.

DROP_ROLE Quita un rol.

DROP_TABLE Quita la tabla.

DROP_USER Quita un usuario.

DROP_TRIGGER Elimina un trigger específico.


Elimina un tipo de usuario
personalizado definido
DROP_TYPE previamente en un keyspace.
Elimina un usuario de
DROP_USER autenticación.
Muestra una lista de todas las
funciones definidas en un
FUNCTIONS keyspace específico.

Permite el acceso a los


GRANT recursos de la base de datos.
Inserta una fila completa o
upserts datos en filas
INSERT existentes.
INSERT_JSON Insetar datos JSON.

INT Representa valores enteros.

JSON Insetar datos JSON.


KEYWORDS Palabras clave y reservadas.

Enumera los permisos de los


LIST_PERMISSIONS recursos.
Enumera los roles y muestra el
estado de inicio de sesión y de
LIST_ROLES superusuario.
Enumera los usuarios de
autenticación interna
existentes y su estado de
LIST_USERS superusuario.

Deniehga el permiso en un
recurso, incluso si el rol se
concede directamente o hereda
RESTRICT permisos.
Configura la columna utilizada
para el control de acceso a
RESTRICT_ROWS nivel de fila.

Gestiona permisos de usuarios,


como crear roles, asignar
PERMISSIONS permisos y revocar permisos.
Quita los privilegios de los
objetos de base de datos de los
REVOKE roles.
SELECT Devuelve datos de una tabla.
Recupera los registros de una
tabla y los devuelve en
SELECT_JSON formato JSON.

Representa cadenas de texto


TEXT largas.

Representa la hora del día, sin


TIME fecha, en formayo de 24 horas.

Representa una marca de


tiempo que incluye tanto la
TIMESTAMP fecha como la hora.
Quita todos los datos de una
TRUNCATE tabla.

Lista los tipos de datos


TYPES disponibles.

Actualiza los datos de una fila


UDPATE de una tabla.

Elimina una restricción de un


UNRESTRICT rol.
Quita la definición de columna
para el control de acceso a
UNRESTRICT ROWS nivel de fila.
Selecciona el espacio de
claves para la sesión de cliente
USE actual.

Representa identificadores
UUID únicos universales.
COMANDOS CQL - APACHE CASSANDRA
EJEMPLOS (Sintaxis)

CAPTURE 'resultados.txt'; SELECT *


FROM usuarios;

CLEAR

CLS

CONSISTENCY
nivel_de_consistencia; CONSISTENCY QUORUM;

COPY nombre_tabla TO COPY nombre_tabla FROM COPY usuarios TO


'ruta_del_archivo.csv' [WITH 'ruta_del_archivo.csv' [WITH 'usuarios.csv' WITH
opciones]; opciones]; HEADER=true;

DESCRIBE nombre_tabla; DESC nombre_tabla; DESCRIBE usuarios;


EXIT

SELECT EXPAND(intereses) FROM


EXPAND nombre_columna; usuarios;

HELP

LOGIN nombre_usuario CON LOGIN usuario1 CON PASSWORD


PASSWORD 'contraseña'; 'contraseña123';

PAGING ON|OFF; PAGING ON; PAGING OFF;


CREATE TABLE
usuarios ( id SERIAL
PRIMARY KEY,
nombre TEXT, email
columna SERIAL PRIMARY KEY TEXT);

SHOW TABLES FROM SHOW CREATE TABLE


keyspace_nombre; nombre_tabla; SHOW KEYSPACES;

SOURCE 'ruta_del_archivo'; SOURCE 'mi_script.cql';


TRACING ON; SELECT
* FROM keyspace.tabla
WHERE columna =
TRACING ON; TRACING OFF; 'valor';

UNICODE character_set; UNICODE utf8;


EJEMPLOS (Sintaxis)

AGGREGATES [FROM
keyspace_nombre]; AGGREGATES FROM mi_keyspace;
ALTER KEYSPACE mi_keyspace
ALTER KEYSPACE WITH replication = {'class':
keyspace_nombre WITH opción = 'SimpleStrategy', 'replication_factor':
valor 3};

ALTER MATERIALIZED VIEW ALTER MATERIALIZED VIEW


keyspace.nombre_vista_materializada mi_keyspace.mi_vista_materializada
[ opciones ]; ADD nueva_columna text;

ALTER TABLE
ALTER TABLE mi_keyspace.mi_tabla
ALTER TABLE mi_keyspace.mi_tabla ADD DROP
keyspace.nombre_tabla [ opciones ]; nueva_columna text; columna_a_eliminar;

ALTER ROLE
ALTER ROLE nombre_del_rol WITH ALTER ROLE mi_rol_usuario WITH mi_rol_usuario WITH
opción = valor LOGIN = true; LOGIN = true;

ALTER TYPE keyspace.nombre_tipo [ ALTER TYPE mi_keyspace.direccion


opciones ]; ADD codigo_postal text;
ALTER USER mi_usuario ALTER USER
ALTER USER nombre_del_usuario WITH PASSWORD = mi_usuario
WITH opción = valor 'nueva_contraseña'; WITH LOGIN = false;

UPDATE mi_tabla SET mi_lista =


mi_lista + ['nuevo_elemento'] WHERE
clave = 'valor';

SELECT ASCII(nombre_columna)
FROM mi_tabla;
BEGIN BATCH
INSERT INTO mi_tabla (columna1,
columna2) VALUES ('valor1',
'valor2');
INSERT INTO mi_tabla (columna1,
BEGIN BATCH columna2) VALUES ('valor3',
[operaciones_de_escritura] 'valor4');
APPLY BATCH; APPLY BATCH;
BEGIN BATCH
INSERT INTO mi_tabla (columna1,
columna2) VALUES ('valor1',
'valor2');
INSERT INTO mi_tabla (columna1,
columna2) VALUES ('valor3',
'valor4');
BEGIN BATCH APPLY BATCH;
CREATE TABLE mi_tabla (
id UUID PRIMARY KEY,
archivo BLOB INSERT INTO mi_tabla (id, archivo)
); VALUES (?, ?);
CREATE TABLE mi_tabla (
id UUID PRIMARY KEY,
activo BOOLEAN INSERT INTO mi_tabla (id, activo)
); VALUES (?, ?);

CREATE TABLE contador_eventos (


nombre_evento TEXT PRIMARY
KEY, UPDATE contador_eventos SET
contador COUNTER contador += 1 WHERE
); nombre_evento = 'evento_especifico';

CREATE AGGREGATE
keyspace_nombre.nombre_funcion CREATE AGGREGATE
(tipo_dato) my_keyspace.suma_agregada (int)
SFUNC estado_funcion SFUNC sum
STYPE tipo_estado STYPE int
FINALFUNC funcion_final FINALFUNC suma_final
INITCOND valor_inicial; INITCOND 0;

CREATE INDEX my_custom_index


ON mi_tabla (mi_columna) USING
'org.example.CustomIndex';

CREATE FUNCTION [IF NOT


EXISTS] keyspace.nombre_funcion CREATE FUNCTION
(parámetros) my_keyspace.sumar (a int, b int)
RETURNS tipo_retorno RETURNS int
LANGUAGE language LANGUAGE java
AS 'código_función'; AS 'return a + b;';
CREATE INDEX nombre_indice ON CREATE INDEX nombre_indice ON
nombre_tabla (nombre_columna); mi_tabla (nombre_columna);

CREATE KEYSPACE
nombre_keyspace
WITH replication = { CREATE KEYSPACE mi_keyspace
'class': 'estrategia_replicacion', WITH replication = {
'replication_factor': 'class': 'SimpleStrategy',
factor_replicacion 'replication_factor': 3
}; };
CREATE MATERIALIZED VIEW
ventas_por_cliente AS
SELECT cliente_id, producto,
CREATE MATERIALIZED VIEW cantidad
nombre_vista AS FROM ventas
SELECT columnas WHERE cliente_id IS NOT NULL
FROM nombre_tabla_base AND producto IS NOT NULL
WHERE condiciones PRIMARY KEY (cliente_id,
PRIMARY KEY(columnas_clave); producto);

CREATE ROLE nombre_rol; CREATE ROLE mi_usuario;

CREATE TABLE nombre_tabla ( CREATE TABLE usuarios (


columna1 tipo_dato1 PRIMARY id UUID PRIMARY KEY,
KEY, nombre TEXT,
columna2 tipo_dato2, edad INT,
... correo_electronico TEXT
); );

CREATE TABLE
usuarios (
CREATE TYPE nombre_tipo ( CREATE TYPE direccion ( id UUID PRIMARY
nombre_campo1 tipo_dato1, calle TEXT, KEY,
nombre_campo2 tipo_dato2, ciudad TEXT, nombre TEXT,
... codigo_postal INT direccion direccion
); ); );

CREATE ROLE nuevo_usuario WITH


PASSWORD = 'contraseña' AND
LOGIN = true;

CREATE TABLE eventos (


id UUID PRIMARY KEY, INSERT INTO eventos (id, fecha,
fecha TIMESTAMP, descripcion) VALUES (uuid(), '2022-
descripcion TEXT 05-01 12:00:00', 'Descripción del
); evento');
DELETE
DELETE FROM nombre_tabla columna_especifica
[USING condición_uso] DELETE FROM usuarios WHERE id FROM usuarios WHERE
WHERE condiciones_eliminar; = 'abc123'; id = 'abc123';

DROP AGGREGATE [IF EXISTS] DROP AGGREGATE IF EXISTS


keyspace.nombre_funcion (tipo_dato); my_keyspace.suma_agregada (int);
DROP TABLE [IF EXISTS] DROP TABLE IF EXISTS
nombre_tabla; mi_keyspace.mi_tabla;

DROP FUNCTION [IF EXISTS] DROP FUNCTION IF EXISTS


keyspace.nombre_funcion(tipo_param my_keyspace.suma_personalizada(int,
etro1, tipo_parametro2, ...); int);
DROP INDEX [IF EXISTS] DROP INDEX IF EXISTS
nombre_indice; nombre_indice;
DROP KEYSPACE [IF EXISTS] DROP KEYSPACE IF EXISTS
nombre_keyspace; mi_keyspace;
DROP MATERIALIZED VIEW IF
DROP MATERIALIZED VIEW [IF EXISTS
EXISTS] nombre_vista; mi_keyspace.mi_vista_materializada;
DROP ROLE [IF EXISTS]
nombre_rol; DROP ROLE IF EXISTS mi_usuario;
DROP TABLE [IF EXISTS] DROP TABLE IF EXISTS
nombre_tabla; keyspace.tabla;
DROP ROLE [IF EXISTS]
nombre_usuario;

DROP TRIGGER [IF EXISTS] DROP TRIGGER IF EXISTS


nombre_trigger ON nombre_tabla; mi_trigger ON mi_tabla;

DROP TYPE [IF EXISTS]


nombre_tipo; DROP TYPE IF EXISTS direccion;
DROP ROLE [IF EXISTS]
nombre_usuario; DROP ROLE IF EXISTS mi_usuario;

FUNCTIONS;

GRANT SELECT ON
keyspace.mi_tabla TO mi_rol;
INSERT INTO nombre_tabla
(columna1, columna2, ...) VALUES INSERT INTO usuarios (id, nombre,
(valor1, valor2, ...); edad) VALUES (uuid(), 'Juan', 30);
INSERT INTO datos_json (json_data)
VALUES ('{"nombre": "Juan", "edad":
30}');

CREATE TABLE ejemplo (


id INT PRIMARY KEY,
nombre TEXT,
edad INT INSERT INTO ejemplo (id, nombre,
); edad) VALUES (1, 'Juan', 30);
CREATE TABLE datos_json (
id UUID PRIMARY KEY, INSERT INTO datos_json (id,
json_data TEXT json_data) VALUES (uuid(),
); '{"nombre": "Juan", "edad": 30}');

SELECT * FROM
system_auth.permissions WHERE
username = 'usuario1';

SELECT * FROM system_auth.roles;

SELECT * FROM system_auth.users;

CREATE TABLE usuarios (


id UUID PRIMARY KEY,
nombre TEXT
);

CREATE TABLE pedidos (


id UUID PRIMARY KEY,
id_usuario UUID,
detalle TEXT,
FOREIGN KEY (id_usuario)
REFERENCES usuarios (id) ON
DELETE RESTRICT
);

REVOKE SELECT ON
mi_keyspace.mi_tabla FROM
REVOKE permiso ON recurso FROM ro
mi_usuario;
SELECT * FROM
SELECT columnas FROM tabla usuarios WHERE nombre
WHERE condiciones; SELECT * FROM usuarios; = 'Juan';

SELECT json_data FROM datos_json;


CREATE TABLE ejemplo (
id UUID PRIMARY KEY, INSERT INTO ejemplo (id,
descripcion TEXT descripcion) VALUES (uuid(), 'Esta es
); una descripción larga...');
CREATE TABLE ejemplo (
id UUID PRIMARY KEY, INSERT INTO ejemplo (id,
hora_registro TIME hora_registro) VALUES (uuid(),
); '13:45:30');
CREATE TABLE ejemplo (
id UUID PRIMARY KEY, INSERT INTO ejemplo (id,
fecha_creacion TIMESTAMP fecha_creacion) VALUES (uuid(),
); '2022-05-03T13:45:30Z');

TRUNCATE tabla; TRUNCATE mi_tabla;

CREATE TYPE direccion ( CREATE TABLE clientes (


calle TEXT, id UUID PRIMARY KEY,
ciudad TEXT, nombre TEXT,
codigo_postal INT direccion_domicilio direccion
); );
UPDATE tabla
SET columna1 = valor1, columna2 = UPDATE usuarios
valor2, ... SET edad = 35
WHERE condicion; WHERE nombre = 'Juan';
ALTER TABLE mi_tabla DROP
CONSTRAINT
nombre_de_la_restriccion;

SELECT * FROM mi_tabla WHERE


condicion; SELECT * FROM mi_tabla;

USE keyspace_nombre; USE mi_keyspace;


CREATE TABLE ejemplo (
id UUID PRIMARY KEY,
nombre TEXT
);
COPY nuevos_usuarios
FROM
'nuevos_usuarios.csv'
WITH HEADER=true;

DESC usuarios;

SHOW PERMISSIONS
SHOW CONFIG; SHOW ROLES; OF nombre_usuario;
ALTER TABLE ALTER TABLE
mi_keyspace.mi_tabla mi_keyspace.mi_tabla ALTER TABLE
ALTER WITH compression = mi_keyspace.mi_tabla
columna_existente {'sstable_compression': WITH PRIMARY KEY
TYPE int; 'LZ4Compressor'}; (nueva_clave_primaria);
ALTER ROLE
mi_rol_usuario WITH
PASSWORD =
'nueva_contraseña';

También podría gustarte