Hi Shaan,

The riakc_pb_socket:mapred function can take several different types of input: 
a bucket name, a list of bucket/key pairs or a secondary index query 
specification. 

If you wanted to run the example in the tutorial based on all keys in the 
groceries bucket instead of having to specify the keys individually, you could 
set input to the bucket name <<"groceries">> as shown below:

{ok, [{1, [R]}]} = riakc_pb_socket:mapred(
                         Client,
                         [<<"groceries">>,
                         [{map, {qfun, Count}, none, false},
                          {reduce, {qfun, Merge}, none, true}]).

The specification for what inputs you can specify is available in the riakc.hrl 
file 
(https://github.com/basho/riak-erlang-client/blob/master/include/riakc.hrl) and 
looks like this:

-type mapred_inputs() :: [{bucket(), key()} | {{bucket(), key()}, term()}] |
                         {modfun, Module::atom(), Function::atom(), [term()]} |
                         bucket() |
                         {index, bucket(), Index::binary(), key()} |
                         {index, bucket(), Index::binary(), StartKey::key(), 
EndKey::key()}.

Best regards,

Christian



On 10 Jan 2013, at 06:56, Shaan Sapra <shaanf...@gmail.com> wrote:

> Hi all,
> 
> I'm exploring the erlang-riak-client and trying to write MapReduce functions 
> to mimic the ones I've written in Javascript and in the riak-ruby-client.
> 
> Following the tutorial here, I have successfully run the query. I have now 
> loaded a bucket with 10000 keys into Riak and now I want to write a simple 
> map function that queries the bucket and returns all of the objects back to 
> me.
> 
> I noticed that the input is specified as {<<"groceries">>, <<"mine">>}. Is 
> there is a way to specify just the bucket in its entirety? If I wanted to 
> query my bucket, would I have to list all 10000 keys in a list?
> 
> In the riak-ruby-client, it was possible to add the entire bucket. 
> 
> Thanks for any help! I'm sure this is a silly question, but I've been hard 
> pressed to find good documentation for a novice like me.
> 
> Shaan
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to