Map2 関数が Map1 関数の結果を入力として受け取るように、2 つのマップ フェーズを含む mapreduce クエリを erlang で実行したいと考えています。可能であれば、各マップフェーズの戻り値は何でなければなりませんか
- 詳細については:
2 つの単純な map 関数を使用して mapred クエリのテストを実行しました。それぞれが入力オブジェクトを (リストで) 返します。しかし、クエリを実行すると、不適切な一致エラーが発生します
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}]}
私はriak_search-0.14.2を使用しています
Erlang R14B03 (erts-5.8.4)
ありがとう!