gpt4 book ai didi

java - 宽行的 Cassandra CQL3 java 示例

转载 作者:行者123 更新时间:2023-12-01 11:16:50 24 4
gpt4 key购买 nike

我有一个使用 CQL3 的数据模型,如下所示

CREATE TABLE test(
userid text,
entry_date timestamp,
attributes map<text, text>,
primary key (userid,entry_date)
);

map 包含大量数据。我需要基于 map 键进行搜索以及查询以支持基于用户 ID 和日期范围的搜索。你能帮助我了解数据模型以及使用 datastax 驱动 api 的 java 示例吗?如果我可以转换为宽行,您能否告诉我如何使用 java 组织和获取数据。

最佳答案

首先,当您说您的 map 中包含大量数据时,这是什么意思? Collection 中有 64K 件元素的限制,因此请注意这一点。

其次,C* 表的设计应支持您的查询。如果您有多个查询,通常会产生多个表。您提供的表格将支持您对用户 ID 和日期范围的查询。对于基于您的属性的查询,您可以尝试将它们存储在 map 中:

CREATE TABLE test(
userid text,
entry_date timestamp,
attribute_key text,
attribute_value text,
PRIMARY KEY ((userid, entry_date), attribute_key)
);

此数据模型通过其键和值来划分您的 map 。通过添加 attribute_key 作为聚类列,您将获得宽行。请记住复合分区键,但您将需要 userid 和 entry_date 字段来进行查询。

关于java - 宽行的 Cassandra CQL3 java 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31723206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com