MapReduce riak
38701 단어 mapreduce
mapred(Pid::pid(), Inputs::mapred_inputs() , Query::[ mapred_queryterm() ]) -> {ok, mapred_result() } | {error, {badqterm, mapred_queryterm() }} | {error, timeout} | {error, term()}
Equivalent to mapred(Inputs, Query, default_timeout(mapred)) .
mapred_inputs () 이게 이해가 돼요.
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() }
mapred_queryterm()
mapred_queryterm() = {map, mapred_funterm() , Arg::term(), Accumulate::boolean()} | {reduce, mapred_funterm() , Arg::term(), Accumulate::boolean()} | {link, Bucket::riakc_obj:bucket() , Tag::term(), Accumulate::boolean()}
이 매개 변수를 이해하는 데는 시간이 좀 걸린다
{map, mapred_funterm() , Arg::term(), Accumulate::boolean()}
mapred_funterm()
mapred_funterm() = {modfun, Module::atom(), Function::atom()} | {qfun, function()} | {strfun, list() | binary()}
{qfun,function ()}
Count = fun(G, undefined, none) ->
[dict:from_list([{I, 1}
|| I <- binary_to_term(riak_object:get_value(G))])]
end.
여기의 undefined는 실제 입력 매개 변수 {bucket(),key(),term ()}의 term입니다. 기본값은 undefined입니다.
여기의 none은 실제query 매개 변수 [{map, {qfun,Count},none,false},의 none
1> {ok, Client} = riakc_pb_socket:start("127.0.0.1", 8087).
2> Mine = riakc_obj:new(<<"groceries">>, <<"mine">>,
term_to_binary(["eggs", "bacon"])).
3> Yours = riakc_obj:new(<<"groceries">>, <<"yours">>,
term_to_binary(["bread", "bacon"])).
4> riakc_pb_socket:put(Client, Yours, [{w, 1}]).
5> riakc_pb_socket:put(Client, Mine, [{w, 1}]).
Now that we have a client and some data, let’s run a query and count how many occurances of groceries.
6> Count = fun(G, undefined, none) ->
[dict:from_list([{I, 1}
|| I <- binary_to_term(riak_object:get_value(G))])]
end.
7> Merge = fun(Gcounts, none) ->
[lists:foldl(fun(G, Acc) ->
dict:merge(fun(_, X, Y) -> X+Y end
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MongoDB mapreduce 인스턴스var action_count_map = function(){ var action_count_reduce = function(key, values){ db.log.mapReduce(action_count_map, a...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.