有没有办法过滤cassandra中的计数器列?

有没有办法过滤cassandra中的计数器列?,cassandra,cassandra-2.0,Cassandra,Cassandra 2.0,我无法解释如何继续使用用例 我想对一些项目进行计数,并查询数据,以便 counter_value < threshold value 计数器值你已经部分地回答了你自己的问题,说出你想查询的内容。因此,让我们先以稍后查询的方式对数据进行建模 如果要通过计数器值进行查询,则它不能是计数器类型。因为它不符合查询数据所需的两个条件 不能是索引的一部分 不能是分区键的一部分 计数器是在Cassandra中进行快速写入的最有效的方法,用于case的计数器使用。但不幸的是,由于上述两个限制,它们不能成

我无法解释如何继续使用用例

我想对一些项目进行计数,并查询数据,以便

counter_value < threshold value
计数器值<阈值
现在在cassandra,索引不能在计数器上生成,这是一个问题,是否有一个解决方案建模可以完成类似的工作


谢谢

您已经部分回答了自己的问题,说出了您想要查询的内容。因此,让我们先以稍后查询的方式对数据进行建模

如果要通过计数器值进行查询,则它不能是计数器类型。因为它不符合查询数据所需的两个条件

  • 不能是索引的一部分
  • 不能是分区键的一部分
  • 计数器是在Cassandra中进行快速写入的最有效的方法,用于case的计数器使用。但不幸的是,由于上述两个限制,它们不能成为where子句的一部分

    因此,如果要使用Cassandra解决问题,请在Cassandra中将类型更改为long,将其设置为聚类键,或在该列上设置索引。在任何情况下,这都会减慢写入速度并增加每次更新计数器值操作的延迟,因为您将使用写前读取的反部分

    我建议使用索引


    最后但并非最不重要的一点是,我会考虑使用SQL数据库来解决这个问题。

    < P>你已经部分地回答了你自己的问题,说出你想查询的内容。因此,让我们先以稍后查询的方式对数据进行建模

    如果要通过计数器值进行查询,则它不能是计数器类型。因为它不符合查询数据所需的两个条件

  • 不能是索引的一部分
  • 不能是分区键的一部分
  • 计数器是在Cassandra中进行快速写入的最有效的方法,用于case的计数器使用。但不幸的是,由于上述两个限制,它们不能成为where子句的一部分

    因此,如果要使用Cassandra解决问题,请在Cassandra中将类型更改为long,将其设置为聚类键,或在该列上设置索引。在任何情况下,这都会减慢写入速度并增加每次更新计数器值操作的延迟,因为您将使用写前读取的反部分

    我建议使用索引


    最后但并非最不重要的一点是,我会考虑使用SQL数据库来解决这个问题。

    根据您试图返回的结果,您可能可以用用户定义的聚合函数来做一些事情。您可以在用户定义的函数中放入任意代码,以便根据计数器的值进行筛选

    参见一些示例和示例


    其他方法是在客户端过滤返回的行,或者将数据加载到Spark中并过滤Spark中的行。

    根据您试图返回的结果,您可能能够使用用户定义的聚合函数执行某些操作。您可以在用户定义的函数中放入任意代码,以便根据计数器的值进行筛选

    参见一些示例和示例


    其他方法是在客户端过滤返回的行,或者将数据加载到Spark中并过滤Spark中的行。

    我不能使用mysql,我有一个巨大的数据集,很多写操作对我来说不适用于sql数据库,写前读是我真的不想做的事情,我将不得不使用更高的一致性级别,这将破坏性能,还有其他方法吗?你想实时执行这些查询吗?我不能使用mysql,我有一个巨大的数据集,很多写操作对我来说不适用于sql数据库,在写之前先读是我真的不想做的事情,我将不得不使用更高的一致性级别,这将破坏性能,还有其他方法吗?您想实时执行这些查询吗?我还认为找到一种聚合计数器数据的好方法将是继续执行此操作的方法。@Aaron是的,这很完美,现在唯一的问题是,我必须等待2.2的稳定版本才能使用它,聚合在2.1.9中不可用。我还认为找到一种聚合计数器数据的好方法将是继续进行此操作的方法。@Aaron是的,这很完美,现在唯一的问题是,我必须等待2.2的稳定版本才能使用它,骨料在2.1.9中不可用。