我想将所选行从columnfamily复制到.csv文件。 copy命令可用于将列或整个表转储到没有where子句的文件。有没有办法在copy命令中使用where子句?
我想到的另一种方式是,
执行“插入table2()值(select * from table1 where <where_clause>
);”然后将table2转储到.csv,这也是不可能的。
非常感谢任何帮助。
答案 0 :(得分:6)
无法在副本中创建where子句,但您可以使用此方法:
echo“select c1,c2 .... FROM keySpace.Table where;” | bin / cqlsh&gt; output.csv
它允许您将结果保存在output.csv文件中。
答案 1 :(得分:3)
不,导出到CSV文件时没有“where”子句的内置支持。
另一种方法是使用drivers之一编写自己的脚本。在脚本中,您将执行“选择”,然后读取结果并写出CSV文件。
答案 2 :(得分:0)
除了Amine CHERIFI的答案:
| sed -e 's/^\s+//; s_\s*\|\s*_,_g; /^-{3,}|^$|^\(.+\)$/d'
|
替换为,
答案 3 :(得分:0)
使用过滤器运行SQL并将响应重定向到csv的其他方法
1)在cqlsh内,使用CAPTURE命令并将输出重定向到文件。您需要在执行命令之前将跟踪设置为
示例:CAPTURE'output.txt'-该命令捕获到output.txt文件后执行的sql输出
2)如果您想将SQL输出从cqlsh外部重定向到文件
./cqlsh -e'select * from keyspaceName.tableName' > fileName.txt -- hostname