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要素を上書きするための実体とリテラル値を示します。
--browser="launch_browser_cmd %s"
ブラウザーでCQLコマンド・ヘルプを表示します。サポートされているブラウザーのリストについては、「Webブラウザー・コントロール」を参照してください。コマンド内でURLを%sと置き換えます。
-C, --color
常に色出力を使用します。
--connect-timeout="timeout"
秒単位の接続タイムアウト。デフォルト:5
--cqlshrc="/folder_name"
cqlshrcファイルを含むフォルダー。ユーザーのホーム・ディレクトリーの相対パスにはチルダ(~)を使用します。
--cqlversion="version_number"
使用するCQLバージョン。cqlshの起動後にCQLバージョンが表示されます。
--debug
追加のデバッグ情報を示します。
--dse-protocol-version=DSE_PROTOCOL_VERSION
特定のDSEプロトコル・バージョンを指定します。それ以外の場合は、クライアントがデフォルトになり、必要に応じてダウングレードします。--protocol-versionと相互に排他です。
--encoding="output_encoding"
出力エンコーディング。デフォルトのエンコーディング:utf8
--execute="cql_statement"
CQL文を実行して終了します。コマンド出力をファイルに書き込むには、「CQL出力の保存」を参照してください。
-f file_name, --file=file_name
CQLファイルからコマンドを実行して終了します。
注: cqlshを起動した後、cqlshコマンドラインを使用してSOURCEコマンドとファイルへのパスを指定します。
-h, --help
ヘルプを表示します。
host_name:port

CQLセッションを指定したノードに接続するには、cqlshコマンドの後にホスト名またはIPアドレスとオプションのポートを指定し、追加のCQLシェル・オプションを指定します。

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

-k keyspace_name, --keyspace=keyspace_name
CQLシェルを起動した後、指定したキースペースが自動的に使用されます。
--no-color
カラー出力は表示しません。
-p password, --password="password"
指定したユーザーのパスワードで接続します。
--protocol-version=PROTOCOL_VERSION
特定のプロトコル・バージョンを指定します。省略した場合、クライアントはデフォルトを使用し、必要に応じて、低いバージョンのプロトコルを使用します。--dse-protocol-versionと相互に排他です。
--request-timeout="timeout"
秒単位のCQL要求タイムアウト。デフォルト:10
--ssl
SSLを使用します。
-t, --tty
TTYコマンド・プロンプト・モードを強制します。
-u user_name, --username="user_name"
指定したユーザー・アカウントで接続します。
--version
cqlshのバージョン番号を示します。

環境変数

環境変数を使用すると、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分(900秒)に引き上げるには、次のように指定します。
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出力の保存

CQL文からファイルへ出力を保存するには、cqlsh -eオプションを使用し、その後に続けて引用符で囲んだ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.