Cassandra - Comandos de Shell

Cassandra proporciona comandos de shell documentados además de los comandos CQL. A continuación se muestran los comandos de shell documentados de Cassandra.

Ayuda

El comando HELP muestra una sinopsis y una breve descripción de todos los comandos cqlsh. A continuación se muestra el uso del comando de ayuda.

cqlsh> help

Documented shell commands:
===========================
CAPTURE COPY DESCRIBE EXPAND PAGING SOURCE
CONSISTENCY DESC EXIT HELP SHOW TRACING.

CQL help topics:
================
ALTER           CREATE_TABLE_OPTIONS       SELECT
ALTER_ADD       CREATE_TABLE_TYPES         SELECT_COLUMNFAMILY
ALTER_ALTER     CREATE_USER                SELECT_EXPR
ALTER_DROP      DELETE                     SELECT_LIMIT
ALTER_RENAME    DELETE_COLUMNS             SELECT_TABLE

Capturar

Este comando captura el resultado de un comando y lo agrega a un archivo. Por ejemplo, eche un vistazo al siguiente código que captura la salida en un archivo llamadoOutputfile.

cqlsh> CAPTURE '/home/hadoop/CassandraProgs/Outputfile'

Cuando escribimos cualquier comando en la terminal, la salida será capturada por el archivo dado. A continuación se muestra el comando utilizado y la instantánea del archivo de salida.

cqlsh:tutorialspoint> select * from emp;

Puede desactivar la captura con el siguiente comando.

cqlsh:tutorialspoint> capture off;

Consistencia

Este comando muestra el nivel de coherencia actual o establece un nuevo nivel de coherencia.

cqlsh:tutorialspoint> CONSISTENCY
Current consistency level is 1.

Copiar

Este comando copia datos ay desde Cassandra a un archivo. A continuación se muestra un ejemplo para copiar la tabla denominadaemp al archivo myfile.

cqlsh:tutorialspoint> COPY emp (emp_id, emp_city, emp_name, emp_phone,emp_sal) TO ‘myfile’;
4 rows exported in 0.034 seconds.

Si abre y verifica el archivo proporcionado, puede encontrar los datos copiados como se muestra a continuación.

Describir

Este comando describe el grupo actual de Cassandra y sus objetos. Las variantes de este comando se explican a continuación.

Describe cluster - Este comando proporciona información sobre el clúster.

cqlsh:tutorialspoint> describe cluster;

Cluster: Test Cluster
Partitioner: Murmur3Partitioner

Range ownership:
                  -658380912249644557 [127.0.0.1]
                  -2833890865268921414 [127.0.0.1]
                  -6792159006375935836 [127.0.0.1]

Describe Keyspaces- Este comando enumera todos los espacios de claves en un clúster. A continuación se muestra el uso de este comando.

cqlsh:tutorialspoint> describe keyspaces;

system_traces system tp tutorialspoint

Describe tables- Este comando enumera todas las tablas en un espacio de claves. A continuación se muestra el uso de este comando.

cqlsh:tutorialspoint> describe tables;
emp

Describe table- Este comando proporciona la descripción de una tabla. A continuación se muestra el uso de este comando.

cqlsh:tutorialspoint> describe table emp;

CREATE TABLE tutorialspoint.emp (
   emp_id int PRIMARY KEY,
   emp_city text,
   emp_name text,
   emp_phone varint,
   emp_sal varint
) WITH bloom_filter_fp_chance = 0.01
   AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
   AND comment = ''
   AND compaction = {'min_threshold': '4', 'class':
   'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy',
   'max_threshold': '32'}
	
   AND compression = {'sstable_compression':
   'org.apache.cassandra.io.compress.LZ4Compressor'}
	
   AND dclocal_read_repair_chance = 0.1
   AND default_time_to_live = 0
   AND gc_grace_seconds = 864000
   AND max_index_interval = 2048
   AND memtable_flush_period_in_ms = 0
   AND min_index_interval = 128
   AND read_repair_chance = 0.0
   AND speculative_retry = '99.0PERCENTILE';
CREATE INDEX emp_emp_sal_idx ON tutorialspoint.emp (emp_sal);

Describe el tipo

Este comando se utiliza para describir un tipo de datos definido por el usuario. A continuación se muestra el uso de este comando.

cqlsh:tutorialspoint> describe type card_details;

CREATE TYPE tutorialspoint.card_details (
   num int,
   pin int,
   name text,
   cvv int,
   phone set<int>,
   mail text
);

Describir tipos

Este comando enumera todos los tipos de datos definidos por el usuario. A continuación se muestra el uso de este comando. Suponga que hay dos tipos de datos definidos por el usuario:card y card_details.

cqlsh:tutorialspoint> DESCRIBE TYPES;

card_details card

Expandir

Este comando se usa para expandir la salida. Antes de usar este comando, debe activar el comando expandir. A continuación se muestra el uso de este comando.

cqlsh:tutorialspoint> expand on;
cqlsh:tutorialspoint> select * from emp;

@ Row 1
-----------+------------
    emp_id | 1
  emp_city | Hyderabad
  emp_name | ram
 emp_phone | 9848022338
   emp_sal | 50000
  
@ Row 2
-----------+------------
    emp_id | 2
  emp_city | Delhi
  emp_name | robin
 emp_phone | 9848022339
   emp_sal | 50000
  
@ Row 3
-----------+------------
    emp_id | 4
  emp_city | Pune
  emp_name | rajeev
 emp_phone | 9848022331
   emp_sal | 30000
  
@ Row 4
-----------+------------
    emp_id | 3
  emp_city | Chennai
  emp_name | rahman
 emp_phone | 9848022330
   emp_sal | 50000
(4 rows)

Note - Puede desactivar la opción de expansión con el siguiente comando.

cqlsh:tutorialspoint> expand off;
Disabled Expanded output.

Salida

Este comando se usa para terminar el shell cql.

mostrar

Este comando muestra los detalles de la sesión cqlsh actual, como la versión de Cassandra, el host o los supuestos de tipo de datos. A continuación se muestra el uso de este comando.

cqlsh:tutorialspoint> show host;
Connected to Test Cluster at 127.0.0.1:9042.

cqlsh:tutorialspoint> show version;
[cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0 | Native protocol v3]

Fuente

Con este comando, puede ejecutar los comandos en un archivo. Supongamos que nuestro archivo de entrada es el siguiente:

Luego puede ejecutar el archivo que contiene los comandos como se muestra a continuación.

cqlsh:tutorialspoint> source '/home/hadoop/CassandraProgs/inputfile';

 emp_id |  emp_city | emp_name |  emp_phone | emp_sal
--------+-----------+----------+------------+---------
      1 | Hyderabad |   ram    | 9848022338 | 50000
      2 | Delhi     |   robin  | 9848022339 | 50000
      3 | Pune      |   rajeev | 9848022331 | 30000
      4 | Chennai   |   rahman | 9848022330 | 50000
(4 rows)