【问题标题】:Copying Data into Cassandra table将数据复制到 Cassandra 表中
【发布时间】:2016-12-02 18:45:36
【问题描述】:

我们可以将多个文件导入/复制到 acassandra 表中,这些文件在表和文件中具有相同的列名吗?

COPY table1(timestamp ,temp ,total_load ,designl) FROM 'file1', 'file2' WITH HEADER = 'true';

我尝试使用上述语法:但它的说法 COPY 命令不正确。

我的意思是假设我们有 100 个具有相同列的分隔符文件,我想使用单个 cql 查询将所有文件加载到单个 cassandra 表中?

这可能吗:?

当我尝试使用每个文件的每个 COPY 命令到一个表时,它是否过度写入数据?

请帮帮我!

【问题讨论】:

    标签: cassandra cassandra-2.0 spark-cassandra-connector


    【解决方案1】:

    您可以使用以下语法指定更多表:

    COPY table1("timestamp", temp, total_load, designl) FROM 'file1, file2' WITH HEADER = 'true';
    

    或者您也可以使用通配符:

    COPY table1("timestamp", temp, total_load, designl) FROM 'folder/*.csv' WITH HEADER = 'true';
    

    不过有两点说明:

    • Timestamp 是 Cassandra 中的一个类型名称,如果您的列有这个名称,您需要像我在上面的示例中那样引用它。
    • 如果您的数据在执行多个复制命令时被覆盖,那么即使您执行单个复制命令也将被覆盖。如果同一个 PRIMARY KEY 有多行,那么只有最后一行会胜出。

    【讨论】:

      猜你喜欢
      • 2014-02-04
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      • 2016-08-14
      • 2020-09-29
      • 2017-09-02
      • 2016-03-22
      • 1970-01-01
      相关资源
      最近更新 更多