2016-11-14 3 views
-1

Riak erlangとJS mapreduceの例を見ました。しかし、私はJAVAの男です:)、JAVAでそれをするのが好きです。さらに、JS mapreduceは推奨されなくなりました。Java Mapのリダクションと検索Riak

  1. Javaで行う方法はありますか?親切にサンプルを与える。
  2. 私はRiak 2.0 SearchのJavaサンプルも探していました。

Riakのドキュメントステップでは、リーク検索が膨大になります。これはmapreduceとsearchのための小さな料理書のように見えるかもしれません。実際の手順で例を挙げて要約できますか?マップ

./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

と位相コードを減らすのerlangまたはJavaScriptのどちらかでなければなりません:私は、次のgithubのの手順を試してみました

ISSUE

は私が見たものです。 クライアント側でjavaを使用することはできますが、mapreduceコードはRiakノードで実行する必要があります.Riakノードはerlangをネイティブに使用し、javascriptを実行するためにspidermonkeyを持っています。

あなたは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

また、https://github.com/basho/riak-java-client – Joe

+0

の下にあるjavadocへのmapreduceリンクをチェックすることもできます。これらのリンクを知っていますが、私はいくつかステップバイステップの要約を行う必要があります。私はエルランについても理解していません。あなたが言及したリンクは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