Cassandra Shell 命令

🌙
手机阅读
本文目录结构
axihe

除了 CQL 命令,Cassandra 还提供了记录的 shell 命令。下面给出了 Cassandra 记录的 shell 命令。

Help

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

Capture

此命令捕获命令的输出并将其添加到文件。例如,看看下面的代码,它将输出捕获到名为 Outputfile 的文件。

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

当我们在终端中键入任何命令时,输出将被给定的文件捕获。下面给出的是使用的命令和输出文件的快照。

cqlsh:tutorialspoint> select * from emp;

文件

您可以使用以下命令关闭捕获。

cqlsh:tutorialspoint> capture off;

Consistency

此命令显示当前的一致性级别,或设置新的一致性级别。

cqlsh:tutorialspoint> CONSISTENCY
Current consistency level is 1.

Copy

此命令将数据从 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.

如果您打开并验证给定的文件,您可以找到复制的数据,如下所示。

文件2

Describe

此命令描述 Cassandra 及其对象的当前集群。此命令的变体说明如下。

*Describe 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 - 此命令列出集群中的所有键空间。下面给出了这个命令的用法。

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

*Describe tables*

此命令用于描述用户定义的数据类型。下面给出了这个命令的用法。

cqlsh:tutorialspoint> describe type card_details;

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

Describe Types

此命令列出所有用户定义的数据类型。下面给出了这个命令的用法。假设有两种用户定义的数据类型:card 和 card_details。

cqlsh:tutorialspoint> DESCRIBE TYPES;

card_details card

Expand

此命令用于扩展输出。在使用此命令之前,您必须打开 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)

注意:您可以使用以下命令关闭展开选项。

cqlsh:tutorialspoint> expand off;
Disabled Expanded output.

Exit

此命令用于终止 cql shell。

Show

此命令显示当前 cqlsh 会话的详细信息,如 Cassandra 版本,主机或数据类型假设。下面给出了这个命令的用法。

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]

Source

使用此命令,可以在文件中执行命令。假设我们的输入文件如下:

源1

然后可以执行包含命令的文件,如下所示。

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)


axihe

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili 和抖音。

关注我: Github / 知乎

如果你加我的私人微信,麻烦写上您的 称呼,所在地区,职业,方便我备注,谢谢


本站的微信公众号

阿西河前端教程

Anbang

安邦的私人微信

微信号: yaolushan

Anbang

Bilibili(B站)

朱安邦

Anbang