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)