除了CQL命令,Cassandra還提供了記錄的shell命令。下面給出了Cassandra記錄的shell命令。
HELP命令顯示所有cqlsh命令的摘要和簡要描述。下面給出了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
此命令捕獲命令的輸出并將其添加到文件。例如,看看下面的代碼,它將輸出捕獲到名為Outputfile的文件。
cqlsh> CAPTURE '/home/hadoop/CassandraProgs/Outputfile'
當我們在終端中鍵入任何命令時,輸出將被給定的文件捕獲。下面給出的是使用的命令和輸出文件的快照。
cqlsh:tutorialspoint> select * from emp;
您可以使用以下命令關(guān)閉捕獲。
cqlsh:tutorialspoint> capture off;
此命令顯示當前的一致性級別,或設(shè)置新的一致性級別。
cqlsh:tutorialspoint> CONSISTENCY Current consistency level is 1.
此命令將數(shù)據(jù)從Cassandra復制到文件并從中復制。下面給出一個將名為emp的表復制到文件myfile的示例。
cqlsh:tutorialspoint> COPY emp (emp_id, emp_city, emp_name, emp_phone,emp_sal) TO ‘myfile’; 4 rows exported in 0.034 seconds.
如果您打開并驗證給定的文件,您可以找到復制的數(shù)據(jù),如下所示。
此命令描述Cassandra及其對象的當前集群。此命令的變體說明如下。
Describe cluster -此命令提供有關(guān)集群的信息。
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 -此命令列出集群中的所有鍵空間。下面給出了這個命令的用法。
cqlsh:tutorialspoint> describe keyspaces; system_traces system tp tutorialspoint
Describe tables -此命令列出了鍵空間中的所有表。下面給出了這個命令的用法。
cqlsh:tutorialspoint> describe tables; emp
Describe tables -此命令提供表的描述。下面給出了這個命令的用法。
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);
此命令用于描述用戶定義的數(shù)據(jù)類型。下面給出了這個命令的用法。
cqlsh:tutorialspoint> describe type card_details; CREATE TYPE tutorialspoint.card_details ( num int, pin int, name text, cvv int, phone set<int>, mail text );
此命令列出所有用戶定義的數(shù)據(jù)類型。下面給出了這個命令的用法。假設(shè)有兩種用戶定義的數(shù)據(jù)類型:card和card_details。
cqlsh:tutorialspoint> DESCRIBE TYPES; card_details card
此命令用于擴展輸出。在使用此命令之前,您必須打開expand命令。下面給出了這個命令的用法。
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)
注意:您可以使用以下命令關(guān)閉展開選項。
cqlsh:tutorialspoint> expand off; Disabled Expanded output.
此命令用于終止cql shell。
此命令顯示當前cqlsh會話的詳細信息,如Cassandra版本,主機或數(shù)據(jù)類型假設(shè)。下面給出了這個命令的用法。
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]
使用此命令,可以在文件中執(zhí)行命令。假設(shè)我們的輸入文件如下:
然后可以執(zhí)行包含命令的文件,如下所示。
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)
更多建議: