Cassandra - polecenia powłoki

Cassandra udostępnia udokumentowane polecenia powłoki oprócz poleceń CQL. Poniżej podano udokumentowane polecenia powłoki Cassandry.

Wsparcie

Polecenie HELP wyświetla streszczenie i krótki opis wszystkich poleceń cqlsh. Poniżej podano użycie polecenia pomocy.

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

Zdobyć

To polecenie przechwytuje dane wyjściowe polecenia i dodaje je do pliku. Na przykład spójrz na poniższy kod, który przechwytuje dane wyjściowe do pliku o nazwieOutputfile.

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

Kiedy wpiszemy jakąkolwiek komendę w terminalu, wynik zostanie przechwycony przez podany plik. Poniżej podano używane polecenie i migawkę pliku wyjściowego.

cqlsh:tutorialspoint> select * from emp;

Możesz wyłączyć przechwytywanie za pomocą następującego polecenia.

cqlsh:tutorialspoint> capture off;

Konsystencja

To polecenie pokazuje bieżący poziom spójności lub ustawia nowy poziom spójności.

cqlsh:tutorialspoint> CONSISTENCY
Current consistency level is 1.

Kopiuj

To polecenie kopiuje dane do iz Cassandry do pliku. Poniżej podano przykład kopiowania tabeli o nazwieemp do pliku myfile.

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

Jeśli otworzysz i zweryfikujesz podany plik, możesz znaleźć skopiowane dane, jak pokazano poniżej.

Opisać

To polecenie opisuje aktualną grupę Cassandry i jej obiekty. Warianty tego polecenia wyjaśniono poniżej.

Describe cluster - To polecenie zawiera informacje o klastrze.

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- To polecenie wyświetla listę wszystkich obszarów kluczowych w klastrze. Poniżej podano użycie tego polecenia.

cqlsh:tutorialspoint> describe keyspaces;

system_traces system tp tutorialspoint

Describe tables- To polecenie wyświetla wszystkie tabele w obszarze kluczy. Poniżej podano użycie tego polecenia.

cqlsh:tutorialspoint> describe tables;
emp

Describe table- To polecenie zawiera opis tabeli. Poniżej podano użycie tego polecenia.

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);

Opisz typ

To polecenie służy do opisywania typu danych zdefiniowanego przez użytkownika. Poniżej podano użycie tego polecenia.

cqlsh:tutorialspoint> describe type card_details;

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

Opisz typy

To polecenie wyświetla wszystkie typy danych zdefiniowane przez użytkownika. Poniżej podano użycie tego polecenia. Załóżmy, że istnieją dwa typy danych zdefiniowane przez użytkownika:card i card_details.

cqlsh:tutorialspoint> DESCRIBE TYPES;

card_details card

Rozszerzać

To polecenie służy do rozwijania danych wyjściowych. Przed użyciem tego polecenia musisz włączyć polecenie expand. Poniżej podano użycie tego polecenia.

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 - Możesz wyłączyć opcję rozwijania za pomocą następującego polecenia.

cqlsh:tutorialspoint> expand off;
Disabled Expanded output.

Wyjście

To polecenie jest używane do zakończenia powłoki cql.

Pokazać

To polecenie wyświetla szczegóły bieżącej sesji cqlsh, takie jak założenia dotyczące wersji Cassandry, hosta lub typu danych. Poniżej podano użycie tego polecenia.

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]

Źródło

Za pomocą tego polecenia można wykonywać polecenia w pliku. Załóżmy, że nasz plik wejściowy jest następujący -

Następnie możesz uruchomić plik zawierający polecenia, jak pokazano poniżej.

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)