【问题标题】:Fetch distinct field values from frozen set column in Cassandra columnfamily从 Cassandra 列族中的冻结集列中获取不同的字段值
【发布时间】:2020-07-10 00:50:04
【问题描述】:

您好,请帮我获取以下要求的 cql 查询 - 列族包含列:deptid (datatype:uuid emplList (datatype: set frozen(employee)) 我如何从员工对象中获取所有不同的员工姓名,并将其存储为 emplList 的列值。

【问题讨论】:

  • 请展示一些您尝试过的代码,人们将能够帮助您

标签: cassandra datastax cql cassandra-2.0


【解决方案1】:

这样的查询无法用纯 CQL 表达——Cassandra 被优化为通过主键读取数据,聚合操作非常有限。您有 2 个选择:

  1. 通过您的程序从表中读取所有数据,并提取不同的值
  2. 将 Spark 与 Spark Cassandra Connector 结合使用 - 它会从表中读取所有数据,但您将拥有更高级别的抽象来处理数据,并且它可以对您的表执行更优化的扫描。

【讨论】:

  • 谢谢 Alex.. 意思是,我可以使用 datastax Java 驱动程序将所有结果作为 deptid、empllist 集...。然后只需编写一个程序来从 emplList 对象中获取不同的值。请建议
  • 我会警告说,对 Cassandra 表的有效扫描并不是那么简单的任务,所以最好坚持使用 Spark
  • 好的,亚历克斯。将与火花一起去
猜你喜欢
  • 1970-01-01
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 2014-05-11
  • 2013-01-24
  • 2014-04-27
  • 2013-09-18
  • 1970-01-01
相关资源
最近更新 更多