-1

我看到了 Riak erlang 和 JS mapreduce 的例子。但我是一个 JAVA 人 :),喜欢用 JAVA 来做。此外,JS mapreduce 已被弃用。

  1. 有没有办法在Java中做到这一点?请提供样品。
  2. 我还在寻找 Riak 2.0 Search 的 Java 示例。

在 Riak 文档中,对于 riak-search 来说,步骤看起来很大。这可能看起来像一本用于 mapreduce 和搜索的小食谱。可以用实际步骤和一个例子来总结吗?

问题

我尝试了 github 中的步骤,以下是我所看到的:

   ./rebar get-deps
==> meck (get-deps)
==> protobuffs (get-deps)
==> hamcrest (get-deps)
==> riak_pb (get-deps)
==> riak-erlang-client (get-deps)
./rebar compile
==> meck (pre_compile)
==> meck (compile)
==> protobuffs (pre_compile)
==> protobuffs (compile)
==> hamcrest (pre_compile)
==> hamcrest (compile)
==> hamcrest (post_compile)
==> riak_pb (pre_compile)
==> riak_pb (compile)
==> riak-erlang-client (compile)
raghuveer@ubuntu:~/erlang-git/riak-erlang-client$ erl -pa $PATH_TO_RIAKC/ebin $PATH_TO_RIAKC/deps/*/ebin
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:10] [kernel-poll:false]

Eshell V7.3  (abort with ^G)
1> code:which(riakc_pb_socket).
non_existing
4

1 回答 1

2

map 和 reduce 阶段代码必须是 erlang 或 javascript。客户端可以使用java,但是mapreduce代码需要在Riak节点执行,Riak节点原生使用erlang,有spidermonkey运行javascript。

在https://github.com/basho/riak_kv/blob/develop/src/riak_kv_mapreduce.erl有一些预定义的函数可以帮助您入门

该文档包含使用 java 进行搜索的示例:https ://docs.basho.com/riak/kv/2.1.4/developing/usage/search/

于 2016-11-14T19:59:45.580 回答