Take a look at this:

https://gist.github.com/binarytemple/6bf84b041db0fabbdc74

Specifically : Sample mapreduce job section



From: Timur Fayruzov
Sent: Wednay, December 30, 2015 8:01 PM
To: riak-users
Subject: Forming inputs to MR job

Hello,

I'm trying to write a simple MR job using _javascript_ and hit a wall right at start. I can't figure out how to specify "inputs". Here's the code:
curl -XPOST "my_riak_server:8098/mapred" -H "Content-Type: application/json" -d @- <<EOF
{
  "input": "my_bucket"
  "query":[{
    "map":{
        "language":"_javascript_",
        "source":"function(riakObject, keydata, arg) {
            var m = riakObject.values[0].data;
            return [m];
        }"
    } 
  }]
}
EOF

this returns empty array.

Aside: I know that listing all keys is slow but for now I can live with this.

Note, that I'm using non-default bucket type, so the actual location of my keys is my_riak_server/types/my_bucket_type/buckets/my_bucket/my_key, but I can't figure out how to communicate this location properly in the "input" field. I have found this "documentation":
https://github.com/basho/riak_kv/blob/2.1/src/riak_kv_mapred_json.erl#L101, but it does not explain how to specify bucket type and I'm not proficient enough in Erlang to follow the code easily. I did not find any other documentation on this field.  

Following returns all keys successfully, so data is there:

Any pointers are highly appreciated.

Thanks,
Timur

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

Reply via email to