You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Ed Jone <ed...@gmail.com> on 2012/04/26 21:34:16 UTC
Is this possible.
Hello,
I am new to cassandra and was hoping if someone can tell me if the
following is possible.
Given I have a columnfamily with a list of users in each Row.
Each user has the properties: name, highscore, x, y, z.
I want to use name as the column key, but I want the columns to be sorted
by highscore (always).
The only reads would be to get the top N users by highscore in a given row.
I thought about adding the weight to the name as the key (eg:
299.76-johnsmith) but then I would not be able to update a given user.
This was not possible in the past, but I am not familiar, with the newer
cassandra versions.
Re: Is this possible.
Posted by Data Craftsman <da...@gmail.com>.
DML example,
insert into user_score_v3(name, highscore, x,y,z)
values ('abc', 299.76, 1001, '*', '*');
...
2012/4/26 Data Craftsman <da...@gmail.com>:
> Data model:
>
> REM CQL 3.0
> ----
>
> $> cqlsh --cql3
>
> drop COLUMNFAMILY user_score_v3;
>
> CREATE COLUMNFAMILY user_score_v3
> (name varchar,
> highscore float,
> x int,
> y varchar,
> z varchar,
> PRIMARY KEY (name, highscore)
> );
>
> DML is as usual, as commom, as RDBMS SQL.
>
> Query:
>
> Top 3,
>
> SELECT name, highscore, x,y,z FROM user_score_v3 where name='abc'
> ORDER BY highscore desc
> LIMIT 3;
>
> You may try Reversed Comparators, see
> http://thelastpickle.com/2011/10/03/Reverse-Comparators/
>
> Help this is helpful.
>
> Thank,
> Charlie | DBA
>
>
> On Thu, Apr 26, 2012 at 12:34 PM, Ed Jone <ed...@gmail.com> wrote:
>> Hello,
>>
>> I am new to cassandra and was hoping if someone can tell me if the following
>> is possible.
>>
>>
>> Given I have a columnfamily with a list of users in each Row.
>>
>> Each user has the properties: name, highscore, x, y, z.
>>
>> I want to use name as the column key, but I want the columns to be sorted by
>> highscore (always).
>>
>> The only reads would be to get the top N users by highscore in a given row.
>> I thought about adding the weight to the name as the key (eg:
>> 299.76-johnsmith) but then I would not be able to update a given user.
>>
>> This was not possible in the past, but I am not familiar, with the newer
>> cassandra versions.
>
>
> --
> Thanks,
>
> Charlie (@mujiang) 一个 木匠
> =======
> Data Architect Developer
> http://mujiang.blogspot.com
--
--
Thanks,
Charlie (@mujiang) 一个 木匠
=======
Data Architect Developer
http://mujiang.blogspot.com
Re: Is this possible.
Posted by Data Craftsman <da...@gmail.com>.
Data model:
REM CQL 3.0
----
$> cqlsh --cql3
drop COLUMNFAMILY user_score_v3;
CREATE COLUMNFAMILY user_score_v3
(name varchar,
highscore float,
x int,
y varchar,
z varchar,
PRIMARY KEY (name, highscore)
);
DML is as usual, as commom, as RDBMS SQL.
Query:
Top 3,
SELECT name, highscore, x,y,z FROM user_score_v3 where name='abc'
ORDER BY highscore desc
LIMIT 3;
You may try Reversed Comparators, see
http://thelastpickle.com/2011/10/03/Reverse-Comparators/
Help this is helpful.
Thank,
Charlie | DBA
On Thu, Apr 26, 2012 at 12:34 PM, Ed Jone <ed...@gmail.com> wrote:
> Hello,
>
> I am new to cassandra and was hoping if someone can tell me if the following
> is possible.
>
>
> Given I have a columnfamily with a list of users in each Row.
>
> Each user has the properties: name, highscore, x, y, z.
>
> I want to use name as the column key, but I want the columns to be sorted by
> highscore (always).
>
> The only reads would be to get the top N users by highscore in a given row.
> I thought about adding the weight to the name as the key (eg:
> 299.76-johnsmith) but then I would not be able to update a given user.
>
> This was not possible in the past, but I am not familiar, with the newer
> cassandra versions.
--
Thanks,
Charlie (@mujiang) 一个 木匠
=======
Data Architect Developer
http://mujiang.blogspot.com