cqlsh
CQL対話型ターミナルを起動します。
CQL対話型ターミナルを起動します。
構文
cqlsh [options] [host [port]]
python cqlsh [options] [host [port]]
説明
Cassandraインストールには、Cassandraクエリ言語(CQL)コマンドを実行するためのpythonベースのコマンドライン・クライアントである、cqlshユーティリティが含まれています。cqlshコマンドは、LinuxまたはWindowsのコマンドラインでcqlshユーティリティを起動するために使用します。Windowsでは、PATH環境変数がpythonのインストールを参照していない場合、キーワード pythonが使用されます。
cqlshを使用することで、CQLコマンドを対話型で実行できます。cqlshはタブ補完をサポートしています。また、TRACEなどのcqlshコマンドを実行することもできます。
要件
Cassandra 2.1+のcqlshユーティリティは、ネイティブ・プロトコルを使用しています。Datastax pythonドライバーを使用するCassandra 2.1+のデフォルトのcqlshリッスン・ポートは9042です。
Cassandra 2.0のcqlshユーティリティは、Thriftトランスポートを使用しています。Cassandra 2.0.xのデフォルトのcqlshリッスン・ポートは9160です。Cassandra 2.0.x以前のバージョンのデフォルトでは、cassandra.yamlファイルでstart_rpcをtrueに構成することでThriftを有効にします。cqlshユーティリティはThrift RPCサービスを使用しています。また、Thriftポートを介したアクセスを可能にするファイアウォール構成も必要になることがあります。
構成の詳細については、Cassandra 2.2 cassandra.yamlまたはCassandra 2.0 cassandra.yamlファイルを参照してください。
Options
- -C、--color
- 常に色出力を使用します。
- --debug
- 詳細なデバッグ情報を表示します。
- --cqlshrc path
- cqlshrcの代替ファイル場所であるpathを使用します(Cassandra 2.1.1)。
- -e cql_statement、--execute cql_statement
- Cassandra 2.1以降で、CQLコマンドを受け付けて実行します。ファイルへのCQL出力の保存に便利です。
- -f file_name、--file=file_name
- file_nameからコマンドを実行して終了します。
- -h、--help
- これらのオプションに関するオンライン・ヘルプを表示して終了します。
- -k keyspace_name
- 指定されたキースペースを使用します。cqlshの起動直後にUSE keyspaceコマンドを発行することと同じです。
- --no-color
- 色出力を使用しません。
- -p password
- パスワードを使用して認証を行います。デフォルトはcassandraです。
- -t transport_factory_name、--transport=transport_factory_name
- 提供されたThriftトランスポート・ファクトリ機能を使用します。
- -u user_name
- 指定されたユーザーとして認証します。デフォルトはcassandraです。
- --version
- cqlshのバージョンを表示します。
cqlshrcファイルの作成と使用
; Sample ~/.cassandra/cqlshrc file.[authentication] username = fred password = !!bang!!
Cassandraをインストールすると、tarボール・インストールのconfディレクトリーにcqlshrc.sampleファイルが含まれます。Windowsの場合、コマンド・プロンプトでこのファイルを作成するには、cqlshrc.sampleファイルをconfディレクトリーから、自分のユーザー・ホーム・フォルダーである.cassandra隠しフォルダーにコピーし、cqlshrcという名前に変更します。SSL_CERTFILE環境変数を繰り返しオーバーライドしなくても、cqlshrcファイルを使用してSSL暗号化を構成できます。ユーザーが認証オプションを使用する前に、Cassandra内部認証を構成する必要があります。
cqlshrcオプション
cqlshrcファイルを構成するには、ファイルの[authentication]、[ui]、または[ssl]セクションにこれらのオプションを設定します。
[authentication]オプションは以下のとおりです。
- keyspace
- 指定されたキースペースを使用します。cqlshの起動直後にUSE keyspaceコマンドを発行することと同じです。
- password
- パスワードを使用して認証を行います。
- username
- 指定されたユーザーとして認証します。
[connection] option (Cassandra 2.1.1+) is:
- client_timeout
- 秒単位のcqlshタイムアウトを構成します。None、またはタイムアウトをトリガーする非アクティブである秒数に設定します。
[csv] option (Cassandra 2.0.15+, 2.1.5+) is:
- field_size_limit
- cqlshのフィールド・サイズを構成します。特定のフィールド・サイズに設定します。例:field_size_limit (1000000000)
[ssl]オプションについては、Cassandraのドキュメントで説明しています。
[ui]オプションは以下のとおりです。
- color
- 常に色出力を使用します。
- completekey
- このキーをcqlshシェル・エントリーの自動補完に使用します。デフォルトはTabキーです。
- float_precision
- この小数点以下の桁数の精度を使用します。デフォルトは5です。
- time_format
- データベース・オブジェクトの出力形式をPython strftime構文を使用して構成します。
CQLコマンドの使用
起動時、cqlshによって、cqlshユーティリティへの接続に使用されるクラスターの名前、IPアドレス、およびポートが表示されます。cqlshの最初のプロンプトはcqlsh>です。使用するキースペースを指定すると、このプロンプトにキースペースの名前が付加されます。例:
cqlsh 1.2.3.4 9042 -u jdoe -p mypassword Connected to Test Cluster at 1.2.3.4:9042. [cqlsh 5.0.1 | Cassandra 2.2.0 | CQL spec 3.3.0 | Native protocol v4] Use HELP for help. cqlsh>USE mykeyspace; cqlsh:mykeyspace>
cqlsh> USE demo_cl; cqlsh:demo_cl> SELECT * FROM demo_table ...WHERE id = 0;
コマンドを正常に送信して実行すると、結果が標準出力に送信されます。このリファレンスの前半で説明したコマンドの語彙構造では、コマンドでの大文字および小文字リテラルの扱い、文字列で引用符を使用する場合、および指数表記の入力方法について説明しています。
ファイルへのCQL出力の保存
cqlshコマンドに対して-eオプションに続けてCQL文を引用符で囲んで指定すると、CQL文が受け付けられて実行されます。たとえば、SELECT文の出力をmyoutput.txtに保存する場合は以下のようにします。
cqlsh -e "SELECT * FROM mytable" > myoutput.txt
ファイルを入力として使用
ファイル内のCQLコマンドを実行するには、オペレーティング・システムのコマンドラインで、-fオプションとそのファイルへのパスを指定します。または、cqlshを起動した後、cqlshコマンドラインでSOURCEコマンドとファイルへのパスを指定します。
cqlsh環境変数
デフォルトのcqlshホストおよびリッスン・ポートは、CQLSH_HOSTおよびCQLSH_PORT環境変数を設定することでオーバーライドできます。CQLSH_HOSTはホスト名またはIPアドレスに設定します。構成時には、cqlshはローカルホストおよびポート9042(Cassandra 2.1以降)または9160(Cassandra 2.0.x)のデフォルト値ではなく、これらの変数を使用します。コマンドラインで指定されたホストおよびポート番号は、構成されている変数よりも優先されます。