当前位置: 首页 > 知识库问答 >
问题:

Cassandra-如何使用cqlsh创建复合列名(非键)

邢浩邈
2023-03-14
Entp: //CF
 //rowkey->  entp_name_xyz: 
                   {entp_full_name: "full_name_xyz",
                    some_value: 1,
                    policy: {policy_name: "default policy",
                             type: "type 1",
                             prop_1: "prop 1",
                             ...
                             },
                    rules: {rule_1:, rule_2:,rule_3:}
                   }
RowKey:- entp_name_xyz,
column_name:- policy:p1
Value:-{JSON object - {policy_name: "default policy", type: "type 1",                 prop_1: "prop 1", ...}}
column_name:- policy:p2
Value:-{JSON object - {policy_name: "default policy2", type: "type 1",                 prop_1: "prop 1", ...}}
column_name: rule:r1 where r1 is a rowkey of a Rules column family
Value: Null

插入entp(col1、col2、col3)值(“ABC”、“XYZ”、null)

谢了!

共有1个答案

太叔岳
2023-03-14
CREATE TABLE entp_policies (
    entp_name text,
    policy_name text,
    policy_value text,
    PRIMARY KEY (entp_name, policy_name)
);
CREATE TABLE entp_rules (
    entp_name text,
    rule_name text,
    rule_value text,
    PRIMARY KEY (entp_name, rule_name)
);
INSERT INTO entp_policies (entp_name, policy_name, policy_value)
     VALUES ('entp_name_xyz', 'p1',
             '{policy_name: "default policy", type: "type 1", ...}');

INSERT INTO entp_policies (entp_name, policy_name, policy_value)
     VALUES ('entp_name_xyz', 'p2',
             '{policy_name: "default policy2", type: "type 1", ...}');

INSERT INTO entp_rules (entp_name, rule_name) VALUES ('entp_name_xyz', 'r1');

-- Get all policies given an entp name
SELECT * FROM entp_policies WHERE entp_name = 'entp_name_xyz';

-- Get all rules given an entp
SELECT * FROM entp_rules WHERE entp_name = 'entp_name_xyz';

-- Get all columns given an entp_name (both of the above)
insert into entp (col1,col2) values ('abc','xyz');
 类似资料:
  • Cassandra CQLsh代表Cassandra CQL shell。 CQLsh指定如何使用Cassandra命令。 安装后,Cassandra提供了一个提示Cassandra查询语言shell(cqlsh)。 它有助于用户与之通信。 Cassandra命令在CQLsh上执行。 看起来像这样: 启动CQLsh: CQLsh提供了很多选项,在下表中是一些常用的命令: 选项 使用/作用 help

  • 问题内容: 当我尝试使用以下命令将表复制到cassandra时: 我得到错误: 我已经成功导入了所有其他表,但是该表不起作用。唯一的区别是它包含用于图像的大型二进制Blob。 这是csv文件中的示例行: 这是导致错误的文件:https : //www.dropbox.com/s/5mrl6nuwelpf3lz/images.csv?dl=0 这是我的架构: 这些表是使用导出的,而我目前正在使用它们

  • 问题内容: 我试图用来向没有定义主键的表中插入数据。 但是事实是该表的两个字段一起在表中是唯一的。我如何使用hibernate注释实现相同的目的? 这是我的代码。 问题答案: 您可以使用和创建复合键,并将其与您的实体进行映射。例如: 然后在Java代码中使用常规方式来持久化实体。 参考:http : //docs.jboss.org/hibernate/annotations/3.5/refere

  • 我试图在Cassandra CLI版本1.1.6中创建一个列族,我不确定如何将主键指定为MovieID。

  • 我们有一个有7个节点的集群,我们使用datastax java驱动程序连接到集群。问题是我得到的是常量NoHostAvailableException,如下所示: 原因:com.datastax.driver.core.exceptions.noHostAvailableException:所有尝试查询的主机都失败了(尝试:/172.31.7.243:9042(com.datastax.drive

  • 我刚刚开始使用Cassandra(datastax),版本2.1.3和cqlsh版本5.0.1。 卡桑德拉启动良好,集群立即运行。 Cqlsh不工作(在任何节点上),并发出以下错误: 连接错误:(‘无法连接到任何服务器’,{'127.0.0.1':错误(111,“尝试连接到[('127.0.0.1',9042)]。最后一个错误:连接被拒绝”)) 我尝试过用主机自己的ip、其他主机的ip和不同的端口