我想知道是否有办法将两个或多个结果集合并为一个。
我实际上需要执行多个查询并只返回一个结果集。我不能使用 UNION 或 JOIN 运算符,因为我正在使用 Cassandra (CQL)
在此先感谢!
问问题
6214 次
3 回答
4
像 Playorm 这样的框架为 Cassandra 中的 JOIN(INNER 和 LEFT JOIN)查询提供支持。
http://buffalosw.com/wiki/Command-Line-Tool/
您可能会在以下位置看到更多示例:
https://github.com/deanhiller/playorm/blob/master/src/test/java/com/alvazan/test/TestJoins.java
于 2013-04-03T07:22:35.640 回答
3
如果要查询同一列族中的多行,可以使用 IN 关键字:
SELECT * FROM testCF WHERE key IN ('rowKeyA', 'rowKeyB', 'rowKeyZ') LIMIT 10;
这将使您从每行返回 10 个结果。
如果您需要连接来自不同 CF 的结果,或者使用不同的 WHERE 子句进行查询,那么您需要运行多个查询并将结果合并到代码中 - cassandra 不适合这种事情。
于 2013-04-02T10:42:47.513 回答
2
PlayOrm 可以进行连接,但您可能需要启用 PlayOrm 分区,以便您仍然可以扩展。(即,您不想将 10 亿行与 10 亿行连接起来)。通常,您将一个分区与另一个分区或 Account 表上的一个分区连接到 Users 表上的一个分区。IE。确保您仍然按比例设计。
于 2013-04-03T12:26:15.950 回答