2014-03-19 36 views
30

,我遇到的問題是,我想運行下面的命令(我不能):因爲我還沒有到cqlsh登錄如何從cqlsh內運行cql文件(.cql)?

cqlsh < cql_directory/cql_create_stuff.cql 

所以我登錄:

cqlsh -u 'my_username' -p 'my_super_secret_password' 

,現在我想這樣做在cqlsh shell的命令,但它只是一個語法錯誤響應。

基本上,我如何登錄到cqlsh並在我的文件系統中運行外部CQL腳本?

+0

[C * 3.x](https://dba.stackexchange.com/questions/134185/migration-from-cassandra-2-x-to-3-x-schema-keyspaces-table-is -gone-how-do-you):SELECT * FROM system_schema.keyspaces; – belgacea

回答

39
+3

是的,工作。你是否介意在你的迴應中明確地列舉一個例子?謝謝! :) – Pinocchio

+0

但它如此煩人,我甚至去的cqlsh,我不能登錄bash,並在bash中,並保持在bash中?像cqlsh Pinocchio

+7

''bin/cqlsh -u用戶-p pwd -f file.cql''應該可以工作 –

10

假設文件與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')的簡寫符號。

兩種方式也可以使用相對路徑(到當前目錄)。

0

這是Window系統

假設你卡桑德拉dir是 C:\ Program Files文件\ DataStax-DDC \ Apache的卡桑德拉\ BIN

設目錄,您.cql文件或CQL查詢文件 d:\ RIL \ S \研究與開發\新\解析後的EXCEL \目錄婦女template.cql

現在按如下步驟導入CQL文件

  1. 去命令提示符(CMD
  2. 去哪裏CQL文件是存在的目錄(CD 「.. \ RIL \ sizeguide \研究與開發\新\解析後先爭優」)
  3. 運行下面的命令 「C:\ Program Files文件\ DataStax-DDC \ Apache的卡桑德拉\ BIN \ cqlsh.bat」 < 「婦女目錄template.cql」

而且其完成。

重要提示:

  • 請確保列的值不應有單引號人物像(」如果你沒有找到一個精確匹配,去下一個大尺寸「)其他明智它會失敗。
  • 如果你想插入單引號,請使用它像下面兩次,卡桑德拉將它視爲一次 ('如果你沒有找到完全匹配,去下一個大尺寸')
  • 所有的文本列應該用單引號''''類似'銷售類別'。對於空值,請使用兩個單引號''