Cassandra - Lệnh Shell
Cassandra cung cấp các lệnh shell được tài liệu hóa ngoài các lệnh CQL. Dưới đây là các lệnh shell được tài liệu hóa của Cassandra.
Cứu giúp
Lệnh HELP hiển thị tóm tắt và mô tả ngắn gọn về tất cả các lệnh cqlsh. Dưới đây là cách sử dụng lệnh trợ giúp.
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
Chiếm lấy
Lệnh này bắt đầu ra của một lệnh và thêm nó vào một tệp. Ví dụ: hãy xem đoạn mã sau ghi lại kết quả đầu ra cho một tệp có tênOutputfile.
cqlsh> CAPTURE '/home/hadoop/CassandraProgs/Outputfile'
Khi chúng ta gõ bất kỳ lệnh nào trong terminal, đầu ra sẽ được ghi lại bởi tệp đã cho. Dưới đây là lệnh được sử dụng và ảnh chụp nhanh của tệp đầu ra.
cqlsh:tutorialspoint> select * from emp;
Bạn có thể tắt tính năng chụp bằng lệnh sau.
cqlsh:tutorialspoint> capture off;
Tính nhất quán
Lệnh này hiển thị mức nhất quán hiện tại hoặc đặt một mức nhất quán mới.
cqlsh:tutorialspoint> CONSISTENCY
Current consistency level is 1.
Sao chép
Lệnh này sao chép dữ liệu đến và đi từ Cassandra vào một tệp. Dưới đây là một ví dụ để sao chép bảng có tênemp vào tập tin myfile.
cqlsh:tutorialspoint> COPY emp (emp_id, emp_city, emp_name, emp_phone,emp_sal) TO ‘myfile’;
4 rows exported in 0.034 seconds.
Nếu bạn mở và xác minh tệp được cung cấp, bạn có thể tìm thấy dữ liệu được sao chép như hình dưới đây.
Diễn tả
Lệnh này mô tả cụm Cassandra hiện tại và các đối tượng của nó. Các biến thể của lệnh này được giải thích bên dưới.
Describe cluster - Lệnh này cung cấp thông tin về cụm.
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- Lệnh này liệt kê tất cả các không gian phím trong một cụm. Dưới đây là cách sử dụng lệnh này.
cqlsh:tutorialspoint> describe keyspaces;
system_traces system tp tutorialspoint
Describe tables- Lệnh này liệt kê tất cả các bảng trong một keyspace. Dưới đây là cách sử dụng lệnh này.
cqlsh:tutorialspoint> describe tables;
emp
Describe table- Lệnh này cung cấp mô tả của một bảng. Dưới đây là cách sử dụng lệnh này.
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);
Mô tả Loại
Lệnh này được sử dụng để mô tả kiểu dữ liệu do người dùng xác định. Dưới đây là cách sử dụng lệnh này.
cqlsh:tutorialspoint> describe type card_details;
CREATE TYPE tutorialspoint.card_details (
num int,
pin int,
name text,
cvv int,
phone set<int>,
mail text
);
Mô tả các loại
Lệnh này liệt kê tất cả các kiểu dữ liệu do người dùng xác định. Dưới đây là cách sử dụng lệnh này. Giả sử có hai kiểu dữ liệu do người dùng xác định:card và card_details.
cqlsh:tutorialspoint> DESCRIBE TYPES;
card_details card
Mở rộng
Lệnh này được sử dụng để mở rộng đầu ra. Trước khi sử dụng lệnh này, bạn phải bật lệnh mở rộng. Dưới đây là cách sử dụng lệnh này.
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 - Bạn có thể tắt tùy chọn mở rộng bằng lệnh sau.
cqlsh:tutorialspoint> expand off;
Disabled Expanded output.
Lối ra
Lệnh này được sử dụng để kết thúc trình bao cql.
Chỉ
Lệnh này hiển thị các chi tiết của phiên cqlsh hiện tại như phiên bản Cassandra, máy chủ lưu trữ hoặc các giả định về kiểu dữ liệu. Dưới đây là cách sử dụng lệnh này.
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]
Nguồn
Sử dụng lệnh này, bạn có thể thực hiện các lệnh trong một tệp. Giả sử tệp đầu vào của chúng ta như sau:
Sau đó, bạn có thể thực hiện tệp chứa các lệnh như hình dưới đây.
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)