【问题标题】:How can I specify primary key using pycassa?如何使用 pycassa 指定主键?
【发布时间】:2016-02-20 10:43:26
【问题描述】:

我正在尝试使用 pycassa 添加主键。我可以使用 CQL3 做到这一点,但我在网络上找不到任何解释如何使用 Pycassa 做到这一点的文档。我google了太多,没有找到任何东西。

  • 有谁知道如何使用 Pycassa 指定我的列族的主键?

  • 另外,我还有一个问题。是否有可能有一个大的主键?例如 PRIMARY KEY(id, name, last_name, age)。

谢谢

【问题讨论】:

    标签: cassandra pycassa nosql


    【解决方案1】:

    是的,您可以有一个大的主键(“复合键”)。在您的示例中,id 将是 分区键namelast_nameage集群键。所有字段组合构成主键

    有关不同类型(和命名)键的很好解释,请查看this SO answer

    This post 给出了如何创建复合键的示例:

    system_manager.create_column_family(..., key_validation_class="CompositeType(UTF8Type, Int32Type)")
    

    那么对于你的数据,我猜:

    system_manager.create_column_family(..., key_validation_class="CompositeType(Int32Type, UTF8Type, UTF8Type, Int32Type)")
    

    我自己没有用过pycassa,但是pycassa documentation有这个例子:

    col_fam.insert('row_key', {'col_name': 'col_val'})
    

    所以我冒昧地猜测一下你的情况(为了完整起见,添加几列):

    col_fam.insert((id,name,last_name,age), {'firstname':first_name,'city':city})
    

    【讨论】:

      猜你喜欢
      • 2015-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 2019-01-30
      相关资源
      最近更新 更多