Cassandra工具:cqlsh(the cql shell)

来源:互联网 发布:淘宝怎么添加宝贝规格 编辑:程序博客网 时间:2024/06/12 23:51

cqlsh: the CQL shell

cqlsh是通过CQL(Cassandra查询语言)与Cassandra交互的命令行shell。它随每个Cassandra软件包一起提供,可以在bin目录下的cassandra可执行文件中找到。cqlsh使用Python本机协议驱动程序,并连接到在命令行上指定的单个节点。

兼容性

cqlsh与Python 2.7兼容。

一般来说,给定版本的cqlsh只能保证与发布的Cassandra版本一起工作。在某些情况下,cqlsh使用较旧或较新版本的Cassandra,但这不被官方支持。

可选依赖关系

cqlsh附带所有必要的依赖关系。但是,有一些可选的依赖关系可以安装以提高cqlsh的功能。

pytz

默认情况下,cqlsh显示具有UTC时区的所有时间戳。要支持使用另一个时区显示时间戳,必须安装pytz库。

cython

通过安装cython可以提高cqlsh的COPY操作的性能。这将编译对COPY性能至关重要的python模块。

cqlshrc

cqlshrc文件保存cqlsh的配置选项。默认情况下,这是在用户的主目录〜/ .cassandra / cqlsh,但是可以使用--cqlshrc选项指定自定义位置。

例如配置值和文档可以在通过tar压缩包方式安装的数据库conf / cqlshrc.sample文件中找到。

命令行选项

用法:

cqlsh[options][host[port]]

选项:

-C--color
 强制颜色输出
--no-color
禁用颜色输出
--browser
指定用于显示cqlsh帮助的浏览器。这可以是受支持的浏览器名称(例如firefox)或后面跟山%s的浏览器路径(例如/ usr / bin / google-chrome-stable%s)。
--ssl
连接到Cassandra时使用SSL
-u--user
用于验证Cassandra的用户名
-p--password
用于验证Cassandra的密码,应与--user一起使用
-k--keyspace
要验证的键空间,应与--user结合使用
-f--file
从给定文件执行命令,然后退出
--debug
打印其他调试信息
--encoding
为输出指定非默认编码(默认为UTF-8)
--cqlshrc
 为cqlshrc文件指定非缺省位置
-e--execute
执行给定的语句,然后退出
--connect-timeout
以秒为单位指定连接超时(默认为2秒)
--request-timeout
指定请求超时(以秒为单位)(默认为10秒)
-t--tty
强制tty模式(命令提示符)

特殊命令

除了支持常规CQL语句外,cqlsh还支持一些不属于CQL的特殊命令。这些详细如

一致性(CONSISTENCY)

用法: CONSISTENCY<consistencylevel>

设置要遵循的操作的一致性级别。有效参数包括:

  • ANY
  • ONE
  • TWO
  • THREE
  • QUORUM
  • ALL
  • LOCAL_QUORUM
  • LOCAL_ONE
  • SERIAL
  • LOCAL_SERIAL

串行一致性(SERIALCONSISTENCY)

用法: SERIALCONSISTENCY<consistencylevel>

设置要遵循的操作的串行一致性级别。有效参数包括:

  • SERIAL
  • LOCAL_SERIAL

串行一致性级别仅由条件更新使用(具有IF条件的INSERTUPDATEDELETE)。对于这些,串行一致性级别定义串行阶段(或“paxos”阶段)的一致性级别,而正常一致性级别定义“学习”阶段的一致性,即,什么类型的读取将被保证以立即看到更新例如,如果条件写入的一致性级别为QUORUM(并且成功),那么QUORUM读取保证看到该写入。但是如果该写入的常规一致性级别为ANY,则只有具有一致性级别SERIAL的读取可以保证看到它(即使具有一致性的读取也不能保证足够)。

版本(SHOWVERSION)

打印正在使用的cqlsh,Cassandra,CQL和本机协议版本。例:

cqlsh> SHOW VERSION[cqlsh 5.0.1 | Cassandra 3.8 | CQL spec 3.4.2 | Native protocol v4]

节点主机(SHOWHOST)

除了集群名称之外,还打印cqlsh连接的Cassandra节点的IP地址和端口。例:

cqlsh> SHOW HOSTConnected to Prod_Cluster at 192.0.0.1:9042.

会话(SHOWSESSION)

打印特定的跟踪会话。

用法: SHOWSESSION<sessionid>

用法示例:

cqlsh> SHOW SESSION 95ac6470-327e-11e6-beca-dfb660d92ad8Tracing session: 95ac6470-327e-11e6-beca-dfb660d92ad8 activity                                                  | timestamp                  | source    | source_elapsed | client-----------------------------------------------------------+----------------------------+-----------+----------------+-----------                                        Execute CQL3 query | 2016-06-14 17:23:13.979000 | 127.0.0.1 |              0 | 127.0.0.1 Parsing SELECT * FROM system.local; [SharedPool-Worker-1] | 2016-06-14 17:23:13.982000 | 127.0.0.1 |           3843 | 127.0.0.1...

资源(SOURCE)

读取文件的内容,并以CQL语句或特殊的cqlsh命令执行每行。

用法: SOURCE<stringfilename>

用法示例:

cqlsh> SOURCE '/home/thobbs/commands.cql'

捕获(CAPTURE)

开始捕获命令输出并将其附加到指定的文件。 捕获时,输出将不会显示在控制台。

用法:

CAPTURE '<file>';CAPTURE OFF;CAPTURE;

也就是说,要附加到文件的路径必须在字符串文字中给出。 相对于当前工作目录解释路径。 支持参考$ HOME的波形符简写符号('〜/ mydir')。

仅捕获查询结果输出。 cqlsh-only命令的错误和输出仍将显示在cqlshsession中。

要停止捕获输出并再次在cqlsh会话中显示,请使用CAPTURE OFF。

要检查当前捕获配置,请使用没有参数的CAPTURE。

帮助(HELP)

提供有关cqlsh命令的信息。 要查看可用的主题,请输入不带任何参数的HELP。要查看某个主题的帮助,请使用HELP <topic>。另请参阅--browser参数,设置用于显示帮助的浏览器。

跟踪(TRACING)

启用或禁用查询的跟踪。启用跟踪时,查询完成后,将打印查询过程中的事件跟踪。

用法:

TRACING ONTRACING OFF

分页(PAGING)

启用分页,禁用分页,或设置读取查询的页面大小。 启用分页时,每次只能提取一页数据,并会出现提示以获取下一页。 一般来说,在交互式会话中保留启用分页是一个好主意,以避免同时获取和打印大量的数据。

用法:

PAGING ONPAGING OFFPAGING <page size in rows>

扩展(EXPAND)

启用或禁用行的垂直打印。启用EXPAND在提取多个列或单个列的内容很大时很有用。

用法:

EXPAND ONEXPAND OFF

登录(LOGIN)

为当前会话的指定Cassandra用户进行身份验证。

用法:

LOGIN <username> [<password>]

退出(EXIT)

结束当前会话并终止cqlsh进程。

用法:

EXITQUIT

清除(CLEAR)

清除控制台。

用法:

CLEARCLS

描述(DESCRIBE)

打印架构元素或集群的描述(通常是一系列DDL语句)。这对转储模式的所有或部分非常有用。

用法:

DESCRIBE CLUSTERDESCRIBE SCHEMADESCRIBE KEYSPACESDESCRIBE KEYSPACE <keyspace name>DESCRIBE TABLESDESCRIBE TABLE <table name>DESCRIBE INDEX <index name>DESCRIBE MATERIALIZED VIEW <view name>DESCRIBE TYPESDESCRIBE TYPE <type name>DESCRIBE FUNCTIONSDESCRIBE FUNCTION <function name>DESCRIBE AGGREGATESDESCRIBE AGGREGATE <aggregate function name>

在任何命令中,可以使用DESC代替DESCRIBE

DESCRIBE CLUSTER命令打印群集名称和分区程序:

cqlsh> DESCRIBE CLUSTERCluster: Test ClusterPartitioner: Murmur3Partitioner

DESCRIBE SCHEMA命令打印重新创建整个模式所需的DDL语句。这对于转储模式以克隆集群或从备份还原特别有用。

复制到(COPYTO)

将表中的数据复制到CSV文件。

用法:

COPY <table name> [(<column>, ...)] TO <file name> WITH <copy option> [AND <copy option> ...]

如果未指定列,则表中的所有列都将复制到CSV文件。 要复制的列的子集可以通过在表名称后面添加由括号括起来的列名称的逗号分隔列表来指定。

<filename>应为表示目标文件路径的字符串文字(带单引号)。也可以使用特殊值STDOUT(不带单引号)将CSV打印到stdout。

COPYTO选项

MAXREQUESTS
同时获取的最大令牌数量。默认值为6。
PAGESIZE
在单个页面中提取的行数。默认为1000。
PAGETIMEOUT
默认情况下,页面超时为页面大小每1000个条目为10秒,如果pagesize较小,则为10秒。
BEGINTOKEN,ENDTOKEN
令牌范围导出。 默认为导出完整环。
MAXOUTPUTSIZE
以行数测量的输出文件的最大大小;超出此最大值,输出文件将被分割成段。-1表示无限制,是默认值。
ENCODING
用于字符的编码。 默认为utf8。

从哪复制(COPYFROM)

将CSV文件中的数据复制到表。

用法:

COPY <table name> [(<column>, ...)] FROM <file name> WITH <copy option> [AND <copy option> ...]

如果未指定列,则CSV文件中的所有列都将复制到表中。 要复制的subsetof列可以通过添加逗号分隔的列名称列表来指定,列表名称后面用圆括号括起来。

<filename>应为表示目标文件路径的字符串文字(带单引号)。也可以使用特殊值STDIN(不带单引号)将CSV打印到stdin。

COPY FROM选项

INGESTRATE
每秒处理的最大行数。默认值为100000。
MAXROWS
要导入的最大行数。 -1表示无限制,是默认值。
SKIPROWS
要跳过的初始行数。 默认值为0。
SKIPCOLS
要忽略的列名称的逗号分隔列表。默认情况下,不跳过任何列。
MAXPARSEERRORS
要忽略的解析错误的最大全局数。-1表示无限制,是默认值。
MAXINSERTERRORS
要忽略的插入错误的最大全局数。-1表示无限。默认值为1000。
ERRFILE
默认情况下,存储所有无法导入的行的文件是import_ <ks> _ <table> .err,其中<ks>是您的键空间,<table>是您的表名。
MAXBATCHSIZE
单个批次中插入的最大行数。默认为20。
MINBATCHSIZE
在单个批处理中插入的最小行数。默认为2。
CHUNKSIZE
一次从主进程传递到子工作进程的行数。默认为1000。

COPY共享选项

COPY TO和COPY FROM共同的选项。

NULLVAL
null值的字符串占位符。默认为null。
HEADER
对于COPY TO,控制CSV输出文件中的第一行是否包含列名称。对于COPY FROM,指定CSV输入文件中的第一行是否包含列名称。默认为false。
DECIMALSEP
用作小数点分隔符的字符。默认为..
THOUSANDSSEP
用于分隔数千的字符。默认为空字符串。
BOOLSTYlE
布尔值的字符串文字格式。默认为True,False。
NUMPROCESSES
要为COPY任务创建的子工作进程数。COPY FROM最多为4,COPY TO为16。但是,将创建最多(num_cores - 1)个进程。
MAXATTEMPTS
在放弃之前,尝试获取一系列数据(使用COPY TO)或插入一个数据块(使用COPY FROM)失败尝试的最大次数。默认为5。
REPORTFREQUENCY
状态更新的刷新频率(以秒为单位)。默认为0.25。
RATEFILE
将输出速率统计信息的可选文件。默认情况下,统计信息不会输出到文件。
1 0
原创粉丝点击