【发布时间】:2014-07-05 21:54:15
【问题描述】:
我已经完成了以下操作。我已经存储了如下详细信息,但是即使我在 mapreduce 中遇到错误,请帮助我。我想要 test_age 存储桶的数据。显示 {gopi,1}。
1> {ok, Pid} = riakc_pb_socket:start_link('127.0.0.1',10017).
{ok,<0.34.0>}
2> Object = riakc_obj:new(<<"test_age">>, <<"test1">>, <<"gopi & 1">>).
{riakc_obj,<<"test_age">>,<<"test1">>,undefined,[],
undefined,<<"gopi & 1">>}
3> riakc_pb_socket:put(Pid,Object).
ok
4> Mapf = fun(Obj,_,_) -> [{I,1}|| I <- binary_to_term(riak_object:get_value(Object))] end.
#Fun<erl_eval.18.82930912>
5> {ok, [{0,[R]}]} = riakc_pb_socket:mapred(Pid,<<"test_age">>,[{map,{qfun,Mapf},none,true}])
5> .
** exception error: no match of right hand side value {error,<<"{\"phase\":0,\"error\":\"function_clause\",\"input\":\"{ok,{r_object,<<\\\"test_age\\\">>,<<\\\"test1\\\">>,[{r_content,{dict"...>>}
我做错了什么,我无法弄清楚。请
【问题讨论】:
-
部分错误丢失,因为 Erlang 正在截断它;查看完整的错误可能会有所帮助。尝试打印结果(请参阅gist.github.com/macintux/0e0222348263799ffb81),它可能会为您提供更多有用的信息,或者至少可以帮助其他人解决它。
标签: erlang riak erlang-shell