CassandraCLI命令詳解

Cassandra Shell命令詳解

創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、赤峰林西網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、商城網(wǎng)站定制開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為赤峰林西等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

Login

cqlsh 172.20.101.252  -u cassandra -p cassandra 
Connected to cn-engage-dev at 172.20.101.252:9042.
[cqlsh 5.0.1 | Cassandra 3.11.4 | CQL spec 3.4.4 | Native protocol v4]

創(chuàng)建一個(gè)Keyspace

CREATE KEYSPACE <identifier> WITH <properties>
詳細(xì):
CREATE KEYSPACE “KeySpace Name”
WITH replication = {'class': ‘Strategy name’, 'replication_factor' : ‘No.Of  replicas’}
AND durable_writes = ‘Boolean value’;

CREATE KEYSPACE語(yǔ)句有兩個(gè)屬性:replication和durable_writes。

replication

復(fù)制支持的策略

策略名稱                                        描述
簡(jiǎn)單的策略 (SimpleStrategy)              為集群指定簡(jiǎn)單的復(fù)制因子。
網(wǎng)絡(luò)拓?fù)洳呗?NetworkTopologyStrategy)     使用此選項(xiàng),可以單獨(dú)為每個(gè)數(shù)據(jù)中心設(shè)置復(fù)制因子。
舊網(wǎng)絡(luò)拓?fù)洳呗?                            使用此選項(xiàng),可以單獨(dú)為每個(gè)數(shù)據(jù)中心設(shè)置復(fù)制因子。
Durable_writes

默認(rèn)情況下,表的durable_writes屬性設(shè)置為true,但可以將其設(shè)置為false。
durable_writes參數(shù)用于設(shè)置寫數(shù)據(jù)時(shí)是否寫入commit log,如果設(shè)置為false,則寫請(qǐng)求不會(huì)寫commit log,會(huì)有丟失數(shù)據(jù)的風(fēng)險(xiǎn)。此參數(shù)默認(rèn)為true,即要寫commit log,生產(chǎn)系統(tǒng)應(yīng)該將該參數(shù)設(shè)置為true。

實(shí)例:

創(chuàng)建一個(gè)名為ptmind_test的KeySpace,使用網(wǎng)絡(luò)拓?fù)洳呗?NetworkTopologyStrategy),在數(shù)據(jù)中心1里面復(fù)制兩份,另外開(kāi)啟寫commit log。

創(chuàng)建
cassandra@cqlsh> create keyspace ptmind_test with replication = {'class':'NetworkTopologyStrategy','dc1':2} and durable_writes = true;

查看創(chuàng)建語(yǔ)法
cassandra@cqlsh> desc keyspace ptmind_test;

CREATE KEYSPACE ptmind_test WITH replication = {'class': 'NetworkTopologyStrategy', 'dc1': '2'}  AND durable_writes = true;

####Capture
此命令捕獲命令的輸出并將其添加到文件。例如,看看下面的代碼,它將輸出捕獲到名為Outputfile的文件。
當(dāng)我們?cè)诮K端中鍵入任何命令時(shí),輸出將被給定的文件捕獲。下面給出的是使用的命令和輸出文件的快照。

cassandra@cqlsh> capture './cassandra.out'
Now capturing query output to './cassandra.out'.

關(guān)閉捕獲:
cqlsh:cqlsh> capture off;

Consistency

此命令顯示當(dāng)前的一致性級(jí)別,或設(shè)置新的一致性級(jí)別。
Consistency可以理解讀和寫操作的Consistency Level
寫操作的consistency level指定了寫操作在通知客戶端請(qǐng)求成功之前,必須確保已經(jīng)成功完成寫操作的replica的數(shù)量。

詳細(xì)介紹:https://blog.51cto.com/michaelkang/2415292

顯示當(dāng)前級(jí)別 CONSISTENCY

cassandra@cqlsh> CONSISTENCY 
Current consistency level is ONE.

Describe

此命令描述Cassandra及其對(duì)象的當(dāng)前集群。此命令的變體說(shuō)明如下。

Describe cluster -此命令提供有關(guān)集群的信息。

cassandra@cqlsh> DESCRIBE cluster;

Cluster: cn-engage-dev
Partitioner: Murmur3Partitioner

Describe Keyspaces

-此命令列出集群中的所有鍵空間。下面給出了這個(gè)命令的用法。

cassandra@cqlsh> DESCRIBE keyspaces;
system_schema  system       system_distributed
system_auth    ptmind_test  system_traces     

創(chuàng)建 tables

創(chuàng)建帶有Set類型列的表
CREATE TABLE users (
  user_id text PRIMARY KEY,
  first_name text,
  last_name text,
  emails set<text>
);

插入數(shù)據(jù)
INSERT INTO users (user_id, first_name, last_name, emails) VALUES('2', 'kevin', 'kevin', {'kevin@ptmind.com', 'kevin@gmail.com'});

Describe tables

-此命令列出了鍵空間中的所有表。下面給出了這個(gè)命令的用法。

cassandra@cqlsh:ptmind_test> Describe tables;

users  emp  ptemp

Describe tables

-此命令提供表的描述。下面給出了這個(gè)命令的用法。

cqlsh:cqlsh> describe table emp;

Describe tables

此命令用于描述用戶定義的數(shù)據(jù)類型。下面給出了這個(gè)命令的用法。

cassandra@cqlsh:ptmind_test> DESCRIBE table users;

CREATE TABLE ptmind_test.users (
    user_id text PRIMARY KEY,
    emails set<text>,
    first_name text,
    last_name text
) WITH bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
    AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    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 = '99PERCENTILE';

Describe Types

此命令列出所有用戶定義的數(shù)據(jù)類型。下面給出了這個(gè)命令的用法。假設(shè)有兩種用戶定義的數(shù)據(jù)類型:users和test_tables。

cassandra@cqlsh:ptmind_test> DESCRIBE TYPES;

users test_tables

Copy

此命令將數(shù)據(jù)從Cassandra復(fù)制到文件并從中復(fù)制。下面給出一個(gè)將名為emp的表復(fù)制到文件myfile的示例。

cassandra@cqlsh:ptmind_test> COPY users (user_id, first_name, last_name, emails) TO 'kevinfile';
Using 3 child processes

Starting copy of ptmind_test.users with columns [user_id, first_name, last_name, emails].
Processed: 2 rows; Rate:       1 rows/s; Avg. rate:       1 rows/s
2 rows exported to 1 files in 1.472 seconds.

驗(yàn)證:
[root@kubm-01 ~]# more kevinfile 

2,kevin,kevin,"{'kevin@gmail.com', 'kevin@ptmind.com'}"
frodo,Frodo,Baggins,"{'baggins@gmail.com', 'f@baggins.com'}"

Expand

此命令用于擴(kuò)展輸出。在使用此命令之前,您必須打開(kāi)expand命令。下面給出了這個(gè)命令的用法。

cqlsh:cqlsh> expand on;
cqlsh:cqlsh> select * from users;
cassandra@cqlsh:ptmind_test> select * from users;

@ Row 1
------------+-----------------------------------------
 user_id    | 2
 emails     | {'kevin@gmail.com', 'kevin@ptmind.com'}
 first_name | kevin
 last_name  | kevin

@ Row 2
------------+-----------------------------------------

(2 rows)

使用以下命令關(guān)閉展開(kāi)選項(xiàng)。

cqlsh:cqlsh> expand off;
Disabled Expanded output.

Source

使用此命令,可以在文件中執(zhí)行命令。假設(shè)我們的輸入文件如下:

然后可以執(zhí)行包含命令的文件,如下所示。

[root@kubm-01 ~]# pwd
/root

[root@kubm-01 ~]# more cqshell.source 
select * from users;

登陸執(zhí)行;
cassandra@cqlsh:ptmind_test> SOURCE '/root/cqshell.source'

 user_id | emails                                  | first_name | last_name
---------+-----------------------------------------+------------+-----------
       2 | {'kevin@gmail.com', 'kevin@ptmind.com'} |      kevin |     kevin
   frodo |  {'baggins@gmail.com', 'f@baggins.com'} |      Frodo |   Baggins

(2 rows)

文章題目:CassandraCLI命令詳解
文章轉(zhuǎn)載:http://bm7419.com/article22/pciejc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、軟件開(kāi)發(fā)、做網(wǎng)站、云服務(wù)器、用戶體驗(yàn)、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)