我想选择的行从的ColumnFamily复制到.csv文件。复制命令可只是转储列或整个表到一个文件中没有where子句。有没有办法使用WHERE子句中的复制命令的方法吗?
我想到了另一种方式是,
做 “插入到表2()值(select * from table1 where <where_clause>
);”然后转储表2为.csv,这也是不可能的。
任何帮助将非常感激。
有没有办法让在副本where子句,但是你可以使用这个方法:
回声 “选择C1,C2 .... FROM keySpace.Table其中;” |箱/ cqlsh> output.csv
它允许你保存你的结果在output.csv文件。
没有,没有导出到CSV文件时没有内置支持的“where”子句。
一个替代方案是使用drivers之一编写自己的脚本。在脚本,你会做的“选择”,然后读取结果,并写出到CSV文件。
除了胺CHERIFI的回答:
| sed -e 's/^\s+//; s_\s*\|\s*_,_g; /^-{3,}|^$|^\(.+\)$/d'
|
与,
其他的方式来运行带有过滤器的SQL和重定向到CSV响应
1)cqlsh内部,使用捕捉命令和输出重定向到一个文件中。您需要执行命令前设置跟踪功能
例如:捕获“output.txt的” - 该命令之后执行的SQL的输出被捕获到output.txt的文件
2)如果你想将SQL输出到文件从cqlsh之外重定向
./cqlsh -e'select * from keyspaceName.tableName' > fileName.txt -- hostname