Cassandra - Shell-Befehle

Cassandra bietet zusätzlich zu CQL-Befehlen dokumentierte Shell-Befehle. Im Folgenden sind die von Cassandra dokumentierten Shell-Befehle aufgeführt.

Hilfe

Der Befehl HELP zeigt eine Zusammenfassung und eine kurze Beschreibung aller cqlsh-Befehle an. Im Folgenden wird die Verwendung des Hilfebefehls angegeben.

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

Erfassung

Dieser Befehl erfasst die Ausgabe eines Befehls und fügt ihn einer Datei hinzu. Schauen Sie sich beispielsweise den folgenden Code an, der die Ausgabe in eine Datei mit dem Namen erfasstOutputfile.

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

Wenn wir einen Befehl in das Terminal eingeben, wird die Ausgabe von der angegebenen Datei erfasst. Unten ist der verwendete Befehl und der Schnappschuss der Ausgabedatei angegeben.

cqlsh:tutorialspoint> select * from emp;

Sie können die Erfassung mit dem folgenden Befehl deaktivieren.

cqlsh:tutorialspoint> capture off;

Konsistenz

Dieser Befehl zeigt die aktuelle Konsistenzstufe an oder legt eine neue Konsistenzstufe fest.

cqlsh:tutorialspoint> CONSISTENCY
Current consistency level is 1.

Kopieren

Dieser Befehl kopiert Daten von und nach Cassandra in eine Datei. Im Folgenden finden Sie ein Beispiel zum Kopieren der genannten Tabelleemp in die Datei myfile.

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

Wenn Sie die angegebene Datei öffnen und überprüfen, finden Sie die kopierten Daten wie unten gezeigt.

Beschreiben

Dieser Befehl beschreibt den aktuellen Cluster von Cassandra und seinen Objekten. Die Varianten dieses Befehls werden unten erläutert.

Describe cluster - Dieser Befehl enthält Informationen zum 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- Dieser Befehl listet alle Schlüsselbereiche in einem Cluster auf. Im Folgenden wird die Verwendung dieses Befehls angegeben.

cqlsh:tutorialspoint> describe keyspaces;

system_traces system tp tutorialspoint

Describe tables- Dieser Befehl listet alle Tabellen in einem Schlüsselbereich auf. Im Folgenden wird die Verwendung dieses Befehls angegeben.

cqlsh:tutorialspoint> describe tables;
emp

Describe table- Dieser Befehl enthält die Beschreibung einer Tabelle. Im Folgenden wird die Verwendung dieses Befehls angegeben.

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

Typ beschreiben

Mit diesem Befehl wird ein benutzerdefinierter Datentyp beschrieben. Im Folgenden wird die Verwendung dieses Befehls angegeben.

cqlsh:tutorialspoint> describe type card_details;

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

Typen beschreiben

Dieser Befehl listet alle benutzerdefinierten Datentypen auf. Im Folgenden wird die Verwendung dieses Befehls angegeben. Angenommen, es gibt zwei benutzerdefinierte Datentypen:card und card_details.

cqlsh:tutorialspoint> DESCRIBE TYPES;

card_details card

Erweitern

Dieser Befehl wird verwendet, um die Ausgabe zu erweitern. Bevor Sie diesen Befehl verwenden können, müssen Sie den Befehl expand aktivieren. Im Folgenden wird die Verwendung dieses Befehls angegeben.

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 - Sie können die Erweiterungsoption mit dem folgenden Befehl deaktivieren.

cqlsh:tutorialspoint> expand off;
Disabled Expanded output.

Ausgang

Dieser Befehl wird verwendet, um die cql-Shell zu beenden.

Show

Dieser Befehl zeigt die Details der aktuellen cqlsh-Sitzung an, z. B. Annahmen zur Cassandra-Version, zum Host oder zum Datentyp. Im Folgenden wird die Verwendung dieses Befehls angegeben.

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]

Quelle

Mit diesem Befehl können Sie die Befehle in einer Datei ausführen. Angenommen, unsere Eingabedatei lautet wie folgt:

Anschließend können Sie die Datei mit den Befehlen wie unten gezeigt ausführen.

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)