Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 将两个结果集合并为一个_Cassandra_Union_Resultset_Cql - Fatal编程技术网

Cassandra 将两个结果集合并为一个

Cassandra 将两个结果集合并为一个,cassandra,union,resultset,cql,Cassandra,Union,Resultset,Cql,我想知道是否有办法将两个或多个结果集合并为一个。 实际上,我需要执行多个查询并只返回一个结果集。我无法使用UNION或JOIN运算符,因为我正在使用Cassandra(CQL) 提前谢谢 如果要查询同一列族中的多行,可以使用IN关键字: SELECT * FROM testCF WHERE key IN ('rowKeyA', 'rowKeyB', 'rowKeyZ') LIMIT 10; 这将从每行返回10个结果 如果您需要连接来自不同CFs的结果,或者使用不同WHERE子句进行查询,那么您

我想知道是否有办法将两个或多个结果集合并为一个。
实际上,我需要执行多个查询并只返回一个结果集。我无法使用UNION或JOIN运算符,因为我正在使用Cassandra(CQL)

提前谢谢

如果要查询同一列族中的多行,可以使用IN关键字:

SELECT * FROM testCF WHERE key IN ('rowKeyA', 'rowKeyB', 'rowKeyZ') LIMIT 10;
这将从每行返回10个结果


如果您需要连接来自不同CFs的结果,或者使用不同WHERE子句进行查询,那么您需要运行多个查询并在代码中合并结果-cassandra不适合这种情况。

类似Playorm的框架为cassandra中的连接(内部和左侧连接)查询提供支持

您可以在以下位置看到更多示例:


PlayOrm可以进行连接,但您可能需要打开PlayOrm分区,以便仍能进行扩展。(也就是说,你不想把10亿行和10亿行合并起来)。通常,您会将一个分区与另一个分区连接起来,或者将Account表上的分区与Users表上的分区连接起来。ie.确保您的设计仍然是按比例进行的。

实际上,我想实现Union运算符,因此我需要将具有相同体系结构的不同列族的结果连接起来。我想知道我是否可以有一个结果集,其中包含所有列族的结果?谢谢你的答复。对不起,首先我想问一个有点离题的问题。在TestJoins.java中,他们在查询中使用别名,这在Cassandra中可能吗?!Playorm在其末尾解析查询并支持别名。访问此链接以获取更多信息和Playorm的完整功能列表。非常感谢您的帮助!非常感谢您的帮助:)