我遇到的问题是我想运行以下命令(但我不能):
cqlsh < cql_directory/cql_create_stuff.cql
因为我还没有登录cqlsh。
于是我登录了:
cqlsh -u 'my_username' -p 'my_super_secret_password'
现在我尝试在 cqlsh shell 中执行命令,但它只是响应语法错误。
基本上,我如何登录到 cqlsh 并在我的文件系统中运行外部 CQL 脚本?
我遇到的问题是我想运行以下命令(但我不能):
cqlsh < cql_directory/cql_create_stuff.cql
因为我还没有登录cqlsh。
于是我登录了:
cqlsh -u 'my_username' -p 'my_super_secret_password'
现在我尝试在 cqlsh shell 中执行命令,但它只是响应语法错误。
基本上,我如何登录到 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
,有两种方式:
如果你没有登录cqlsh:
cqlsh -u 'my_username' -p 'my_password' -f /mydir/myfile.cql
如果您登录到 cqlsh:
SOURCE '/mydir/myfile.cql'
注意单引号。还支持$HOME
(例如, )的简写符号。'~/mydir/myfile.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
添加选项以使用用户名/密码组合。
这是针对 Window 系统的
假设您的 cassandra 目录是 C:\Program Files\DataStax-DDC\apache-cassandra\bin
假设您的 .cql 文件或 cql 查询文件所在的目录是 D:\ril\s\developement\new one\excel after parse\Women catalog template.cql
现在按照以下步骤导入 cql 文件
它完成了。
重要的提示: