3

我正在寻找 Cassandra/CQL 的常见 SQL 习语的表亲,但INSERT INTO ... SELECT ... FROM ...一直无法找到任何东西来以编程方式或在 CQL 中执行此类操作。只是不支持吗?

我的用例是从一个表到另一个表进行相当大的复制。我不需要任何特定的并发保证,但它有很多数据,所以我想避免编写客户端从一个表中检索数据,然后将批量插入到另一个表中的额外网络开销。我知道根据复制设置,仍需要在 Cassandra 集群的节点之间传输更改,但似乎有一个“内部”选项可以从一个表到另一个表进行批量操作是合理的。在 CQL 或其他地方有这样的事情吗?我目前正在使用 Hector 与 Cassandra 交谈。

编辑:它看起来sstableloader可能是相关的,但对于我希望是一个相当常见的用例的东西来说,它是非常低级的。在该框架中,仅将行的子集从一个表转移到另一个似乎也不是微不足道的。

4

1 回答 1

4

正确,本机不支持此功能。(另一种选择是 map/reduce 作业。) Cassandra 的 API 专注于大规模应用程序的短请求,而不是批处理或分析查询。

于 2013-02-01T00:02:11.353 回答