TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx

上传人:b****3 文档编号:7718230 上传时间:2023-05-09 格式:DOCX 页数:13 大小:420.41KB
下载 相关 举报
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第1页
第1页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第2页
第2页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第3页
第3页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第4页
第4页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第5页
第5页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第6页
第6页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第7页
第7页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第8页
第8页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第9页
第9页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第10页
第10页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第11页
第11页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第12页
第12页 / 共13页
TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx

《TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx(13页珍藏版)》请在冰点文库上搜索。

TNHDB0005R语言与HANA建模一HANA与Rserve的连接及R建模示例Word格式文档下载.docx

下载链接:

http:

//cran.r-project.org/bin/windows/base/R-3.1.0-win.exe

2.1.2.安装

安装R语言完成后,打开RConsole,输入命令install.packages("

Rserve"

),然后选择下载镜像,如图示

出现如下图所示,说明Rserve安装成功

2.1.3.启动Rserve

在CMD中,定位到%R_HOME%\library\Rserve\libs\x64,

输入命令

RCMDRserve--RS-port30120--no-save--RS-encodingutf8--RS-enable-remote

--RS-port30120是定义Rserve对外listen的端口

--RS-encodingutf8定义传输数据的字符编码

--RS-enable-remote是开放远程连接,可以让远程主机进行连接(非常重要)

2.2.Linux平台安装R及Rserve

2.2.1.确认安装环境

首先确认Linux平台是哪种,以及版本,输入以下命令

cat/etc/*release*

如上图所知,此次安装环境为SUSE11企业版SP2,即SLE_11_SP2(SUSE同时还有开源版本,为openSUSE)

2.2.2.查找R软件源

访问网址http:

//cran.r-project.org/bin/linux/

查找到与自己安装环境相符的软件源

点击网页中的地址可以查询到软件源链接

以上可以得知,软件源链接为

//download.opensuse.org/repositories/devel\:

/languages\:

/R\:

/patched/SLE_11_SP2/

2.2.3.设置安装环境

以root用户登录服务器,在命令行中输入以下命令

zypperaddrepo–f\

/patched/SLE_11_SP2/\

R-patched

(软件源链接中“:

”前面的“\”为转义符,如果不添加转义符,会报错)

zypper是SUSE环境下安装软件的命令,以上操作是添加安装软件源的定义

如图,添加软件安装源定义成功

2.2.4.安装R

zypperinstallR-patchedR-patched-devel

在安装期间,会有R-patched的key让你确认,选择信任即可;

同时会自动下载关联的rpm包

在命令行中输入R,出现如下提示,则表明R安装成功

2.2.5.安装Rserve

在R命令行中输入以下命令

install.packages("

然后会出现下载镜像让你选择

按自己所在位置选择即可,这里选择了“20:

Beijing2”,然后安装自动开始

出现如下信息,说明Rserve安装成功

2.2.6.启动Rserve

退出R平台,在系统命令行输入以下命令

RCMDRserve--RS-port30120--no-save--RS-encodingutf8--RS-enable-remote

查看Rserve

如图所知,Rserve已经正常运行,监听端口为30120

2.3.配置HANA

3.示例及测试

3.1.示例及测试

3.1.1.代码准备

打开HANAstudio,在sqlconsole中输入以下代码

CREATE 

ROW 

TABLE 

"

PRIME"

 

( 

NUMBER"

INTCS_INT);

insert 

into 

values

(2);

values(3);

values(5);

values(7);

PRIME_SQR"

PROCEDURE 

MY_F(IN 

input1PRIME,OUT 

resultPRIME_SQR)

LANGUAGE 

RLANG 

AS

BEGIN

result<

-as.data.frame(input1$NUMBER^2);

names(result)<

-c("

);

END;

MY_F是采用RLANG编写的SQLscript存储过程,在存储过程内,调用了R语言的函数,如as.data.frame,“<

-”是调用R语言函数的标识,当存储过程执行时识别到“<

-”,就会远程连接到HANAconfiguration中定义的Rserve,然后通过Rserve调用R语言函数。

3.1.2.代码测试

MY_F执行示例,在sqlconsole中输入以下代码

callMY_F("

SYSTEM"

."

?

执行后结果为

3.1.3.常见错误说明

3.1.3.1.错误1:

没有任何Rserve可连接

执行存储过程后,错误提示如下

原因:

启动Rserve时,未加上--RS-enable-remote参数,或是IP、端口不正确

3.1.4.RLANG语法说明

暂缺

4.特别说明

4.1.R安装平台的问题

在《SAPHANARIntegrationGuide》中提到R、Rserve必须安装在独立服务器上,不得安装在HANA服务器上,而且R最好安装在SLESLinux上,其他R宿主环境不被支持。

实际安装中证实,R安装在windows上也能连接,并且按原理来说,R安装在hana服务器上也是可行的;

Rserve推荐在Linux下使用,因为在Windows平台上还很不完善,Windows上运行Rserve还是有很大的局限性的。

最大的问题是,所有的连接都会在一个工作空间内运行。

所以当客户端是多线程程序时,可能会造成线程间互相干扰。

我们需要在客户端做一些额外的工作,使它能够以线程安全的方式运行。

Java端可以通过使用synchronize使得同一时间只有一个线程使用R服务。

Rserve的另一个缺点是,它的错误处理过于简单化,如果R端出现错误,它抛出的异常对于找到问题的根源几乎没有任何用处。

其次,开发中需要注意的是,Rserve同时只允许一个客户端连接。

因此,如果第二个线程试图连接时,它就会一直处在等待状态。

另外,如果要更新R包,也需要关闭并重新启动Rserve。

所以,如果发现客户端连接时出现异常情况,查看一下任务管理器,看是不是有多个Rserve的线程在运行,或者你的服务有没有重启,往往可以帮助解决问题。

5.参考资料

1、R语言包安装并实现与HANA的整合

2、《SAPHANARIntegrationGuide》,

3、Rserve与java的跨平台通信,http:

//blog.fens.me/r-rserve-java/

4、深入理解SAPHANA与R整合的原理

(一),

5、在linux下安装R语言程序及bioconductor程序包,

6、R语言服务器程序Rserve详解http:

//blog.fens.me/r-rserve-server/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2