Cassandra - Comandos Shell

O Cassandra fornece comandos shell documentados, além dos comandos CQL. A seguir estão os comandos shell documentados do Cassandra.

Socorro

O comando HELP exibe uma sinopse e uma breve descrição de todos os comandos cqlsh. A seguir está o uso do comando help.

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 a saída de um comando e a adiciona a um arquivo. Por exemplo, dê uma olhada no código a seguir que captura a saída para um arquivo chamadoOutputfile.

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

Quando digitamos qualquer comando no terminal, a saída será capturada pelo arquivo fornecido. A seguir, é fornecido o comando usado e o instantâneo do arquivo de saída.

cqlsh:tutorialspoint> select * from emp;

Você pode desativar a captura usando o seguinte comando.

cqlsh:tutorialspoint> capture off;

Consistência

Este comando mostra o nível de consistência atual ou define um novo nível de consistência.

cqlsh:tutorialspoint> CONSISTENCY
Current consistency level is 1.

cópia de

Este comando copia dados de e para o Cassandra para um arquivo. Dada a seguir é um exemplo para copiar a tabela chamadaemp para o arquivo myfile.

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

Se você abrir e verificar o arquivo fornecido, poderá encontrar os dados copiados conforme mostrado abaixo.

Descrever

Este comando descreve o cluster atual do Cassandra e seus objetos. As variantes deste comando são explicadas a seguir.

Describe cluster - Este comando fornece informações sobre o cluster.

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 lista todos os espaços-chave em um cluster. A seguir, está o uso desse comando.

cqlsh:tutorialspoint> describe keyspaces;

system_traces system tp tutorialspoint

Describe tables- Este comando lista todas as tabelas em um keyspace. A seguir está o uso deste comando.

cqlsh:tutorialspoint> describe tables;
emp

Describe table- Este comando fornece a descrição de uma tabela. A seguir está o uso deste 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);

Descrever tipo

Este comando é usado para descrever um tipo de dados definido pelo usuário. A seguir está o uso deste 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
);

Descrever Tipos

Este comando lista todos os tipos de dados definidos pelo usuário. A seguir está o uso deste comando. Suponha que haja dois tipos de dados definidos pelo usuário:card e card_details.

cqlsh:tutorialspoint> DESCRIBE TYPES;

card_details card

Expandir

Este comando é usado para expandir a saída. Antes de usar este comando, você deve ativar o comando de expansão. A seguir está o uso deste 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 - Você pode desativar a opção de expansão usando o seguinte comando.

cqlsh:tutorialspoint> expand off;
Disabled Expanded output.

Saída

Este comando é usado para encerrar o shell cql.

mostrar

Este comando exibe os detalhes da sessão cqlsh atual, como versão do Cassandra, host ou suposições de tipo de dados. A seguir está o uso deste 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]

Fonte

Usando este comando, você pode executar os comandos em um arquivo. Suponha que nosso arquivo de entrada seja o seguinte -

Então você pode executar o arquivo contendo os comandos conforme mostrado abaixo.

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)