Java mapreduce 并搜索 Riak
Java mapreduce and search for Riak
我看到了 Riak erlang 和 JS mapreduce 的例子。但我是一个 JAVA 的人 :),喜欢在 JAVA 中这样做。此外,JS mapreduce 已被弃用。
- 在Java有没有办法做到这一点?请给个样品。
- 我也在寻找 Riak 2.0 搜索的 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
map 和 reduce 阶段的代码必须是 erlang 或 javascript。
您可以在客户端使用 java,但 mapreduce 代码需要在 Riak 节点中执行,该节点原生使用 erlang 并且具有 spidermonkey 到 运行 java 脚本。
有一些预定义函数可能会让您在 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/
我看到了 Riak erlang 和 JS mapreduce 的例子。但我是一个 JAVA 的人 :),喜欢在 JAVA 中这样做。此外,JS mapreduce 已被弃用。
- 在Java有没有办法做到这一点?请给个样品。
- 我也在寻找 Riak 2.0 搜索的 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
map 和 reduce 阶段的代码必须是 erlang 或 javascript。 您可以在客户端使用 java,但 mapreduce 代码需要在 Riak 节点中执行,该节点原生使用 erlang 并且具有 spidermonkey 到 运行 java 脚本。
有一些预定义函数可能会让您在 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/