Java mapreduce и поиск Riak

Я видел примеры для Riak Erlang и JS mapreduce. Но я парень из JAVA:), люблю делать это в JAVA. Кроме того, JS mapreduce устарела.

  1. Есть ли способ сделать это в Java? Пожалуйста, дайте образец.
  2. Я также искал образец поиска Riak 2.0 на Java.

В Riak docs шаги выглядят огромными для riak-поиска. Это может выглядеть как небольшая кулинарная книга для 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

1 ответ

Решение

Карта и код сокращения фазы должны быть либо erlang, либо javascript. Вы можете использовать java на стороне клиента, но код mapreduce должен выполняться в узле 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/

Другие вопросы по тегам