特定行上的Cassandra CSV

时间:2017-05-09 09:27:19

标签: csv cassandra cqlsh

我需要在cassandra中创建一个csv文件,它只会给出特定行和特定列的csv文件。

CREATE TABLE abcd (
    a bigint,
    b bigint,
    c bigint,
    d int,
    e int,
    PRIMARY KEY (a)
);

Select a,c,e from abcd where a in (1,4,5,6,7,8,9,.....);

如果我使用COPY命令,我可以选择列,但我不能从行中选择。如何在cassandra中获取csv文件,我可以从行和列中进行选择。是否有可能获得这样的csv文件?

2 个答案:

答案 0 :(得分:3)

您可以使用cqlsh capture功能将结果输出到文件中。 然后通过sed传递结果:sed -i -e 's/|/,/g' /tmp/test.csv (或你可以提出的任何其他包装:))

答案 1 :(得分:2)

COPY命令只会将完整的表格复制到您所需的.csv.格式文件中。此处的文档涵盖了COPY命令的完整概要。 (假设你使用的是Cassandra 2.0或2.1)

http://docs.datastax.com/en/cql/3.1/cql/cql_reference/copy_r.html

我会说你最好使用开源驱动程序之一,比如Datastax python驱动程序,然后你就可以更好地控制你的select语句,只抽出你需要的行。

https://datastax.github.io/python-driver/getting_started.html

这里还有一个你可能会觉得有用的工具,我见过很多人用它来满足他们的需求:

https://github.com/brianmhess/cassandra-loader

希望这有帮助。