0
我使用紅寶石客戶端來訪問卡桑德拉的數據。有沒有什麼辦法來獲得列家族中給定鍵的列名稱。 假設列族「test」有100行,行的列名不同。所以給了一把鑰匙,我如何獲得該密鑰的列名?如何從ruby客戶端的cassandra列族中獲取列名?
我使用紅寶石客戶端來訪問卡桑德拉的數據。有沒有什麼辦法來獲得列家族中給定鍵的列名稱。 假設列族「test」有100行,行的列名不同。所以給了一把鑰匙,我如何獲得該密鑰的列名?如何從ruby客戶端的cassandra列族中獲取列名?
如果您使用的是'cassandra'
寶石,那麼你會做這樣的事情:
@client.get(:my_column_family, key).keys
@client.get
返回column_name => column_value
所以.keys
有序散列會給你的欄。
如果您使用的是'cassandra-cql'
寶石:
@client.execute("select * from my_column_family where key = ?", key).fetch.column_names
感謝您的解決方案。但是在做「Multiget的」不會是一個開銷?我的列值大約是5KB,並且有大約5-6列的密鑰..所以每次都會得到大約30KB的數據,這是不是沒有其他辦法可以只獲得密鑰? – 2012-02-17 06:58:07
沒有用於僅提取列名稱的API。如果你真的認爲開銷會成爲問題,那麼你可以有一個單獨的列族只存儲列名。 – psanford 2012-02-17 15:51:54
好的,謝謝... :) – 2012-02-20 05:48:08