【问题标题】:How to get column names from a cassandra column family in ruby client.?如何从 ruby​​ 客户端中的 cassandra 列族中获取列名。?
【发布时间】:2012-02-16 23:49:47
【问题描述】:

我使用 ruby​​ 客户端从 Cassandra 访问数据。有什么方法可以获取列族中给定键的列名。 假设列族“test”有 100 行,其中行具有不同的列名。所以给定一个键,我如何获取该键的列名??

【问题讨论】:

    标签: ruby cassandra


    【解决方案1】:

    如果您使用的是'cassandra' gem,那么您将执行以下操作:

    @client.get(:my_column_family, key).keys
    

    @client.get 返回column_name => column_value 的有序哈希,因此.keys 将为您提供column_names。

    如果您使用的是'cassandra-cql' gem:

    @client.execute("select * from my_column_family where key = ?", key).fetch.column_names
    

    【讨论】:

    • 感谢您的解决方案。但是执行“multiget”不会是开销?我的列值大约是 5KB,一个键大约有 5-6 列.. 所以每次它都会得到大约 30KB 的数据,这是很大的.. 没有其他方法可以只获取键吗??
    • 没有用于仅获取列名的 API。如果您真的认为开销会成为问题,那么您可以有一个单独的列族,只存储列名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 2014-04-27
    • 2012-07-08
    • 2018-07-27
    • 2014-05-11
    • 2013-01-24
    • 2019-08-08
    相关资源
    最近更新 更多