【发布时间】:2018-02-05 10:59:08
【问题描述】:
我需要根据我从逻辑中得到的特定数字从 cassandra 表中选择第 N 行。即:如果逻辑输出为 23 表示,我需要获取第 23 行详细信息。由于 cassandra 中没有自动增量,我无法使用 ID 键匹配。在 SQL 中,他们使用 OFFSET 和 LIMIT 来获得它。我不知道如何在 Cassandra 中实现这一目标。 我们可以通过使用任何 UDF 概念来实现这一点???有人回复我解决方案。提前致谢。
表架构:
CREATE TABLE new_card (
customer_id bigint,
card_number text,
active tinyint,
auto_pay int,
available_credit_limit double,
average_card_spend_half_yearly double,
average_card_spend_monthly double,
average_card_spend_quarterly double,
average_card_spend_yearly double,
avg_half_yearly_spend_mcc double,
PRIMARY KEY (customer_id, card_number)
);
【问题讨论】:
-
您无法在 cassandra 中获取具有行索引的行。您需要根据查询设计表格
-
它的主表,不能根据我们的需要改变。一旦创建了结构,就必须这样做。
-
显示您的表架构
-
只有这张表你只能使用
c_customer_id (=)或c_customer_id(=, in)和cc_card_number(<, >, =)获取数据 -
是的,这就是我在问题本身中提到的原因,在 cassandra 中没有自动增量。并且我的表中没有升序类型的键,因为我使用的是 customer_id(这里我们使用唯一的已存储的 5 位随机数)和 credit_card_number。
标签: cassandra cassandra-2.0 cassandra-2.1 cassandra-3.0 spring-data-cassandra