1

目標: OpenCPU AJAX Post 呼び出しで RJDBC を使用する。

ユースケース: Apache phoenix データベースに接続してデータを取得する必要があります。そして、そのデータに対して分析を行うことになっています。したがって、Phoenix に接続するには、rjdbc を使用しています (Phoenix は他の接続オプションをサポートしていません)。

環境 : public.opencpu.org

ここに私がしようとしているものがあります:

html

<textarea>
library(RJDBC)
.. do some data fetching and then r statistics
</textarea>
<br />
<button id="submitbutton" >Execute</button>
<br />
<br />
<div id="output">
</div>

JavaScript

<script type="text/javascript">
  //When Document is Ready
    $(function () {
        var baseurl = "https://public.opencpu.org";
        //because identity is in base
        ocpu.seturl(baseurl+"/ocpu/library/base/R");
        //actual handler
        $("#submitbutton").on("click", function(){
            //arguments
            var mysnippet = new ocpu.Snippet($("#input").val());
            //perform the request
            var req = ocpu.call("identity", {
                "x" : mysnippet
            }, function(session){
                session.getStdout(function(outtxt){
                        $("#output-txt").text(outtxt);   
                });
            });   
            //if R returns an error, alert the error message
            req.fail(function(){
                alert("Server error: " + req.responseText);
                $("#output").hide();
            });      
            req.always(function(){
                $("button").removeAttr("disabled");  
            });
        });    
    });

</script>

シナリオ

実行ボタンをクリックすると、ユーザーが入力した値をテキスト領域 (ここではライブラリ (RJDBC) といくつかの db 操作) から取得し、ajax 投稿を送信して、以下のエラーで応答します

Google Chrome コンソール ログ:

POST https://public.opencpu.org/ocpu/library/base/R/identity 400 (Bad Request) 
OpenCPU error HTTP 400
package 'rJava' could not be loaded

これにより、より明確になることを願っています。

rJava が OpenCPU で動作するかどうかを確認する必要があります。

4

1 に答える 1