我遇到的问题是我想运行以下命令(我不能):
cqlsh < cql_directory/cql_create_stuff.cql
因为我还没有登录到cqlsh。
所以我登录了:
cqlsh -u 'my_username' -p 'my_super_secret_password'
现在我尝试在cqlsh shell中执行命令,但它只是响应语法错误。
基本上,我如何登录cqlsh并在我的文件系统中运行外部CQL脚本?
假设使用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'
)也得到支持。
两种方式也适用于相对路径(到当前目录)。
这适用于Window系统
假设你cassandra dir是C:\ Program Files \ DataStax-DDC \ apache-cassandra \ bin
假设你的.cql文件或cql查询文件的目录是D:\ ril \ s \ developement \ new one \ excel后解析\ Women catalog template.cql
现在按照以下步骤导入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
选项以使用用户名/密码组合。