Counting the number of items in a bucket

Fyodor Yarochkin fyodor.y at armorize.com
Tue Nov 22 09:06:03 EST 2011


This depends on what riak version (1.x.x) and backend storage you're
using 2i indexes are  supported by eleveldb ( bitcask is default), but
you can just specify inputs w/ key filters or just a bucket name,
i.e
"inputs": "yourbucket", or "inputs":{
     "bucket":"yourbucket",
     "key_filters":[["ends_with", "1234"]]
  }

etc(http://wiki.basho.com/Key-Filters.html)

On Tue, Nov 22, 2011 at 9:48 PM, Stephen Bennett <steve at bennettweb.org> wrote:
> Thanks for that. I've tried to run this across my cluster but it just
> returns an error message. Do I need to include a key filter as well?
>
>   An error occurred parsing the "inputs" field.
>   Key filter expression missing filter list.
>
>
> On 22 November 2011 08:42, Fyodor Yarochkin <fyodor.y at armorize.com> wrote:
>>
>> You can try to limit input by particular subset of ranges, if that
>> helps. Here's my count m-r snippet:
>>
>> {
>>   "inputs":{
>>       "bucket":"data",
>>       "index":"numero_int",
>>       "start":0,
>>       "end":1212
>>   },
>>   "query":[
>>    {"map":
>> {"language":"erlang","module":"riak_kv_mapreduce","function":"map_object_value","arg":"filter_notfound"}
>>    },
>>       {"reduce": {"language":"erlang",
>>
>> "module":"riak_kv_mapreduce","function":"reduce_count_inputs","arg":"filter_notfound"}}
>>
>>    ], "timeout": 9000
>> }
>>
>> hope it helps,
>> -fyodor
>>
>>
>>
>> On Tue, Nov 22, 2011 at 3:26 AM, Stephen Bennett <steve at bennettweb.org>
>> wrote:
>> > I have a bucket which contains images refernced by a key which is made
>> > up
>> > from a guid. I have a number of servers in my cluster and my bucket is
>> > set
>> > up to store 3 versions of every item in the bucket across the servers in
>> > the
>> > cluster. I'd like to understand a little bit more about how my cluster
>> > is
>> > performing in terms of data storage. I can find out how much space each
>> > bitcask is currently taking up on each server, but I'd like to compare
>> > reference this against the number of unique keys that are being stored
>> > in
>> > the system.
>> >
>> > I've tried to use map-reduce methods using the erlang methods defined in
>> > the
>> > riak_kv_mapreduce, calling them against the HTTP interface but my
>> > queries
>> > are timing out. I've tried to extend the timeout, but it's still timing
>> > out.
>> >
>> > What's the most efficient way to find out how many keys exist in a
>> > particular bucket?
>> > _______________________________________________
>> > riak-users mailing list
>> > riak-users at lists.basho.com
>> > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>> >
>> >
>
>




More information about the riak-users mailing list