小编Lye*_*iko的帖子

如何进行具有多个地图功能的riak mapred查询

我想在erlang中执行mapreduce查询,该查询包含两个映射阶段,以便Map2函数将Map1函数的结果作为输入.是否可能以及每个地图阶段的返回值是什么

  • 更多细节:

我使用两个简单的map函数运行了一个测试mapred查询,每个函数都返回一个输入对象(在列表中).但是通过runnin查询我得到一个badmatch错误

Map1 = fun(O,_,_) -> [O] end.
Map2 = fun(O, _,_) -> [O] end.


C:mapred_bucket(<<"b7bc1418-198d-44a3-8835-8aa9cb416d5b">>, [{map, {qfun, Map1}, none, false}, {map, {qfun, Map2}, none, true}]).

{{badmatch,{r_object,<<"b7bc1418-198d-44a3-8835-8aa9cb416d5b">>,
                     <<255,230,193,167,254,7,246,64,154,190,36,236,32,232,189,
                       169,161,124,23,86>>,
                     [{r_content,{dict,2,16,16,8,80,48,
                                       {[],[],[],[],[],[],[],[],[],[],[],...},
                                       {{[],[],[],[],[],[],[],[],[],...}}},
                                 <<"12d33872-4c92-4da5-9d16-5036a8059253">>}],
                     [{<<5,215,86,61>>,{1,63487018636}}],
                     {dict,1,16,16,8,80,48,
                           {[],[],[],[],[],[],[],[],[],[],[],[],...},
                           {{[],[],[],[],[],[],[],[],[],[],...}}},
                     undefined}},
 [{riak_kv_map_phase,build_input,2},
  {riak_kv_map_phase,'-handle_input/3-lc$^0/1-0-',2},
  {riak_kv_map_phase,handle_input,3},
  {luke_phase,executing,2},
  {gen_fsm,handle_msg,7},
  {proc_lib,init_p_do_apply,3}]}
Run Code Online (Sandbox Code Playgroud)

我正在使用riak_search-0.14.2

Erlang R14B03(erts-5.8.4)

谢谢!

mapreduce riak

2
推荐指数
1
解决办法
748
查看次数

标签 统计

mapreduce ×1

riak ×1