gpt4 book ai didi

java - 如何使用带有 Datastax Java 驱动程序的 CQL 向 Cassandra 添加任意列?

转载 作者:搜寻专家 更新时间:2023-11-01 02:47:22 25 4
gpt4 key购买 nike

我最近开始对 CQL 很感兴趣,因为我正在考虑使用 Datastax Java 驱动程序。以前,我使用的是 column family 而不是 table,并且我使用的是 Astyanax 驱动程序。我需要在这里澄清一些事情-

我在生产集群中使用以下列族定义。而且我可以即时插入任意列(及其值),而无需实际修改列族架构。

create column family FAMILY_DATA
with key_validation_class = 'UTF8Type'
and comparator = 'UTF8Type'
and default_validation_class = 'BytesType'
and gc_grace = 86400;

但是在完成这个 post 之后,它看起来像 - 每当我要插入一个新列时我都需要更改模式,这不是我想要做的......因为我相信 CQL3 需要列元数据来存在...

如果我使用 Datastax Java 驱动程序,是否还有其他方法可以添加任意列及其特定值?

任何代码示例/示例都将帮助我更好地理解..谢谢..

最佳答案

我相信 CQL 你可以使用 collections 解决这个问题.

您可以将字段的数据类型定义为映射,然后将任意数量的键值对插入到映射中,这在很大程度上应该像传统 Thrift 中的动态列一样。

类似于:

CREATE TABLE data ( data_id int PRIMARY KEY, data_time long, data_values map );
INSERT INTO data (data_id, data_time, data_values) VALUES (1, 21341324, {'sum': 2134, 'avg': 44.5 });

Here是更多信息。

此外,您还可以找到 DataStax 驱动程序使用的 CQL3 类型和 Java 类型之间的映射 here .

关于java - 如何使用带有 Datastax Java 驱动程序的 CQL 向 Cassandra 添加任意列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19108693/

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