cqlsh(起動オプション)

CQLシェルの起動時に使用可能なオプションについて説明します。

cqlsh pythonスクリプトを実行してCQLシェルを起動します。CQLシェルは、CQLコマンドを対話形式で実行するためのpythonベースのコマンドライン・クライアントです。CQLシェルは、タブ補完をサポートしています。

構文

cqlsh [options] [host_name[:port_number]]
表 1. 凡例
構文規則 説明
大文字 リテラル・キーワード。
小文字 リテラル以外。
イタリック体 変数値。ユーザー定義値と置き換えます。
[] 任意。角かっこ( [] )で任意指定のコマンド引数を囲みます。角かっこは入力しないでください。
( ) グループ。丸かっこ(( ))は、選択肢を含むグループを示します。丸かっこは入力しないでください。
| または。縦棒( | )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。
... 繰り返し可能。省略記号(...)は、構文要素を必要な回数だけ繰り返すことができることを示します。
'Literal string' 単一引用符( ' )でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。
{ key : value } マップ・コレクション。中かっこ( { } )でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。
<datatype1,datatype2> セット、リスト、マップ、またはタプル。山かっこ(< >)で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型はコンマで区切ります。
cql_statement; CQL文の終了。セミコロン( ; )ですべてのCQL文を終了します。
[--] コマンドライン・オプションとコマンド引数は、2つのハイフン(--)で区切ります。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。
' <schema> ...</schema> ' 検索CQLのみ:単一引用符( ' )でXMLスキーマ宣言全体を囲みます。
@xml_entity='xml_entity_type' 検索CQLのみ:スキーマ・ファイルおよびsolrConfigファイル内のXML要素を上書きするための実体とリテラル値を示します。
options
短い形式 長い形式 説明
--version cqlshのバージョン番号。
-h --help ヘルプ・メッセージ。
-C --color 常に色出力を使用します。
--no-color 色出力を使用しません。
--browser="launch_browser_cmd %s" ブラウザーでCQLコマンド・ヘルプを表示します。サポートされているブラウザーのリストについては、「Web Browser Control」を参照してください。コマンド内でURLを%sと置き換えます。
--ssl SSLを使用します。
-u user_name --username="user_name" ユーザー・アカウントで接続します。
-p password --password="password" ユーザーのパスワード。
-k keyspace_name --keyspace=keyspace_name 開いた後、自動的にキースペースに切り替えます。
-f file_name --file=file_name CQLファイルからコマンドを実行して終了します。
注: cqlshを起動した後、cqlshコマンドラインでSOURCEコマンドとファイルへのパスを指定します。
--debug 詳細なデバッグ情報を表示します。
--encoding="output_encoding" 出力エンコーディング。デフォルトのエンコーディング:utf8
--cqlshrc="/folder_name" cqlshrcファイルを含むフォルダー。ユーザーのホーム・ディレクトリーの相対パスにはチルダ(~)を使用します。
--cqlversion="version_number" 使用するCQLバージョン。cqlshの起動後にバージョンが表示されます。
-e "cql_statement" --execute="cql_statement" CQL文を実行して終了します。コマンド出力をファイルに書き込むには、「CQL出力の保存」を参照してください。
--connect-timeout="timeout" 秒単位の接続タイムアウト。デフォルト:5
--request-timeout="timeout" 秒単位のCQL要求タイムアウト。デフォルト:10
-t --tty 強制的にTime To Live(TTY)モードにします。
host_name:port

cqlshコマンド(およびオプション)の後にホスト名またはIPアドレスを指定して、指定したノードにCQLセッションを接続します。

デフォルトでは、CQLシェルは127.0.0.1のローカル・ホストでセッションを起動します。バージョンがローカル・コピーのバージョン以上であるリモート・ホストにのみCQLシェルを接続できます。ポートを指定していない場合は、デフォルトのポート9042が接続に使用されます。

環境変数

環境変数を使用すると、cqlshコマンドのデフォルト値を上書きできます。たとえば、cqlshを特定のマシンで実行しているユーザーのタイムアウト値を引き上げることができます。
CQLSH_SEARCH_MANAGEMENT_TIMEOUT_SECONDS
検索固有のCQL文に対し、デフォルトの600秒(10分)の要求タイムアウトを上書きします。タイムアウトを防ぐには、この値を引き上げます。一般的なユース・ケースとして、大きなインデックスを再度読み込む際のタイムアウトを防ぐことがあります。
このタイムアウトは、検索CQLインデックス管理コマンド(ALTER SEARCH INDEX、COMMIT SEARCH INDEX、CREATE SEARCH INDEX、DESCRIBE SEARCH INDEX、DROP SEARCH INDEX、RELOAD SEARCH INDEX、REBUILD SEARCH INDEX)にのみ適用され、cqlsh要求タイムアウトが10秒のデフォルト値と等しい場合にのみ使用されます。
cqlsh --request-timeout 10
検索固有のCQL文の要求タイムアウトを15分に引き上げるには、次のように指定します。
export CQLSH_SEARCH_MANAGEMENT_TIMEOUT_SECONDS=900;

CQLシェルの起動

起動時に、cqlshはクラスター名、IPアドレスおよび接続ポートを示します。cqlshの最初のプロンプトはcqlsh>です。キースペースを指定すると、プロンプトに追加されます。

  1. CQLシェルを起動します。
    cqlsh

    ホスト情報が表示されます。

    Connected to Test Cluster at 127.0.0.1:9042.
    [cqlsh 5.0.1 | Cassandra 3.3.0 | CQL spec 3.4.0 | Native protocol v4]
    Use HELP for help.
  2. cyclingキースペースに切り替えます。
    USE cycling;
    プロンプトにキースペース名が含まれるようになりました。
    cqlsh:cycling>

CQLコマンドを使用したクエリー

cqlshプロンプトでCQLコマンドを入力します。コマンドの終了にはセミコロンを使用します。改行はコマンドの終了を意味しないため、わかりやすくするためにコマンドを複数行にわたって記述することができます。
SELECT * FROM calendar 
WHERE race_id = 201 ;
結果が標準出力で表示されます。
 race_id | race_start_date                 | race_end_date                   | race_name
---------+---------------------------------+---------------------------------+-----------------------------
     201 | 2015-02-18 08:00:00.000000+0000 | 2015-02-22 08:00:00.000000+0000 | Women's Tour of New Zealand

CQLコマンド構文について」では、コマンドの大文字および小文字リテラルの処理、文字列で引用符を使用する場合、および指数表記の入力方法について説明しています。

ファイルへのCQL出力の保存

cqlshコマンドに対して-eオプションに続けてCQL文を引用符で囲んで指定すると、CQL文が受け付けられて実行されます。たとえば、SELECT文の出力をmyoutput.txtに保存する場合は以下のようにします。

cqlsh -e "SELECT * FROM mytable" > myoutput.txt

リモート・ノードへの接続

リモート・ノードのIPアドレスを指定します。

cqlsh 10.0.0.30
Connected to West CS Cluster at 10.0.0.30:9042.
[cqlsh 5.0.1 | Cassandra 3.3.0 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.