Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra:具有复合键的列族_Cassandra - Fatal编程技术网

Cassandra:具有复合键的列族

Cassandra:具有复合键的列族,cassandra,Cassandra,我需要在Cassandra中创建一个列族(PlayerGoals)和一个复合键(Player,Match) 我想把它定义为超级柱,但我认为使用超级柱不是一个好主意 我需要说明的一个例子是: 游戏玩家: Player: 1 Match: 2 Goals - 0 Match: 3 Goals - 2 Player: 2 Match: 2 Goals - 1 ..您可以使用组合键存储此信息,其中键为Player:Match,如

我需要在Cassandra中创建一个列族(PlayerGoals)和一个复合键(Player,Match) 我想把它定义为超级柱,但我认为使用超级柱不是一个好主意

我需要说明的一个例子是:

游戏玩家:

Player: 1
    Match: 2
        Goals - 0
    Match: 3
        Goals - 2
Player: 2
    Match: 2 
        Goals - 1

..

您可以使用组合键存储此信息,其中键为Player:Match,如下所示:

1:2
  Goals = 0
1:3
  Goals = 2
2:2
  Goals = 1
使用此模式,您可以:

  • 获得一名球员的所有比赛
  • 为球员获得最高/最低/etc目标
  • 找出一组球员中的哪一个参加了比赛
  • 按进球数对已知球员列表进行排序
您需要一个单独的索引来:

  • 请球员参加比赛
  • 对未知玩家进行排名

首先谢谢,实际上我的问题是如何在卡桑德拉做到这些。所以我想创建这些柱族。。使用comparator=UTF8Type和默认值\u validation\u class=UTF8Type和column\u metadata=[{column\u name:name,validation\u class:UTF8Type}]创建列族播放器;创建列族匹配,comparator=UTF8Type,默认值为\u validation\u class=UTF8Type,column\u metadata=[{column\u name:MatchName,validation\u class:UTF8Type}];使用comparator='CompositeType(UTF8Type,UTF8Type)'和默认值(验证类=UTF8Type)创建列族PlayerMatch,列元数据=[{列名称:目标,验证类:UTF8Type}];如果我插入这两行:set Player['01'][utf8('Name')]=utf8('Peter Crouch');设置比赛['01'][utf8('MatchName')]=utf8('FA Cup 01');如何使用之前添加的行在PlayerMatch中插入行?(预先设置PlayerMatch['???']['???'][utf8('Goals')]=utf8('2');)谢谢。请您介绍一下您的查询模式好吗?