2016-11-14 6 views
-1

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

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

В шагах Riak docs вы найдете огромные возможности для поиска riak. Это может выглядеть как небольшая поваренная книга для mapreduce и search. Можно ли это обобщить с помощью реальных шагов с примером.

ВЫПУСКА

Я попытался шаги в 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) 
[email protected]:~/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 
+0

EACCES ошибка POSIX. Кажется, что требуется разрешение файловой системы. Отметив, что ошибка произошла в файле rebar_deps: download_source, похоже, что учетная запись пользователя, на которой выполняется сборка, либо не имеет права доступа к исходным файлам, либо не имеет права на запись для создания или записи в каталог deps. – Joe

+0

Я использовал только пользователей root, 'sudo apt-get install *', которые должны были исправиться, не так ли? – Raghuveer

+1

Похоже, что ветка разработки в этом репозитории клиента не работает. Попробуйте построить из мастер-ветви. – Joe

ответ

2

Карта и уменьшить фазовый код должен быть Эрл или 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/

+0

Вы посмотрели http://stackoverflow.com/questions/11543447/getting-mapreduce-results-on-riak-using-the-java-client? – Joe

+0

Вы также можете проверить ссылки mapreduce на javadoc внизу https://github.com/basho/riak-java-client – Joe

+0

Я знаю эти ссылки, но мне нужно несколько пошаговое резюме, чтобы следовать. У меня тоже нет понимания об эрланге. Ссылка, о которой вы указали, касается ссылки JS и java docs, не имеет примеров. Есть ли какие-либо быстрые учебные пособия, кроме официального сайта. Также, когда я бежал от https://docs.basho.com/riak/kv/2.1.4/developing/usage/mapreduce/ "{ok, Riak} = riakc_pb_socket: start_link (" 127.0.0.1 ", 8087)." я вижу ошибку «ошибка исключения: неопределенная функция riakc_pb_socket: start_link/2» – Raghuveer