次のように書く必要があります。
MapReduceResult result = client.mapReduce("myBucket")
.addLinkPhase("bucketX", "test", false)
.addMapPhase(new NamedJSFunction("Riak.mapValuesJson"), false)
.addReducePhase(new NamedErlangFunction("riak_kv_mapreduce", "reduce_sort"), true)
.execute();
この場合、reduceフェーズはerlangモジュールriak_kv_mapreduceの関数reduce_sortを呼び出します。あなたの場合、あなたは電話するべきです
.addReducePhase(new NamedErlangFunction("reduce_functions", "delete"), true)
(最後のtrueは、結果をクライアントに返す必要がある場合に設定されるフラグです-最後のステップ-またはそうでない-中間ステップ-)
Erlangファイルは使用前に.beamとしてコンパイルし、riak.configの「add_paths」パラメーターに追加する必要があります。
{add_paths, ["/home/vinz/riak/custom_modules/"]}
ここで、/ home / vinz / riak / custom_modulesは、コンパイルされたErlangモジュールを含むディレクトリです。
詳細については、 BashoJavaクライアントのreadmeを参照してください。これがお役に立てば幸いです。