私が抱えている問題は、次のコマンドを実行したいということです(できません)。
cqlsh < cql_directory/cql_create_stuff.cql
Cqlshにログインしていないためです。
だから私はログインしました:
cqlsh -u 'my_username' -p 'my_super_secret_password'
そして今、cqlshシェルでコマンドを実行しようとしましたが、構文エラーで応答します。
基本的に、cqlshにログインして、ファイルシステムで外部CQLスクリプトを実行するにはどうすればよいですか?
SOURCE
を使用します
http://www.datastax.com/documentation/cql/3.1/cql/cql_reference/source_r.html
-f
オプションを使用して、ファイルからコマンドを実行することもできます
http://www.datastax.com/documentation/cql/3.1/cql/cql_reference/cqlsh.html
CQLコマンドを使用したファイルのパスが/mydir/myfile.cql
であると仮定すると、2つの方法があります。
Cqlshにログインしていない場合:
cqlsh -u 'my_username' -p 'my_password' -f /mydir/myfile.cql
Cqlshにログインしている場合:
SOURCE '/mydir/myfile.cql'
単一引用符に注意してください。 $HOME
(たとえば、'~/mydir/myfile.cql'
)の短縮表記もサポートされています。
両方の方法は、(現在のディレクトリへの)相対パスでも機能します。
これはウィンドウシステム用です
cassandra dirがC:\ Program Files\DataStax-DDC\Apache-cassandra\binであるとします
.cqlファイルOR cqlクエリファイルがparse\Womenカタログtemplate.cqlの後にD:\ ril\s\developement\new one\Excelであるディレクトリを想定します。
Cqlファイルをインポートするための以下の手順に従ってください
そしてその完了。
重要な注意点:
ファイル名が「tables.cql」であり、次のように配置されていると仮定します:/files/tables.cql
;
cqlsh -f /files/tables.cql
Cassandraを実行しているDockerコンテナーの名前が「cas」であると仮定します(名前がない場合は、DockerコンテナーのハッシュIDも使用できることに注意してください)それに割り当てられます);
docker exec -it cas cqlsh -f /files/tables.cql
他の回答で述べたように、ユーザー名とパスワードの組み合わせを使用するために、-u
および-p
オプションを追加できます。