将数据复制到 Cassandra table

Copying Data into Cassandra table

我们可以 import/copy 将多个文件放入 acassandra table 中,这些文件在 table 和文件中具有相同的列名吗?

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

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

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

这可能吗:?

当我尝试对每个文件使用每个 COPY 命令到 table 时,它会覆盖数据吗?

请帮助我!

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

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 有多行,那么只有最后一行会获胜。