OBIEE 12c Advanced Analytics特性中和R的集成功能介绍

浏览: 3760

OBIEE 12c发布后最吸引我的功能之一就是数据挖掘功能的集成,按Oracle  Openworld上相关PPT的介绍,12c的版本能够和R集成、能够和Spark集成。

我想这太完美了,我最近正在寻找这方面的交互探索工具,如果现有的工具能够实现,那就太好了。

不过12c装完后,一直没找到怎么用。等sample app发布后,一看原来是用FORECAST等函数做的,这些函数估计调用R的程序生成数据挖掘结果,然后集成这些数据结果呈现。

仔细找了一下Oracle的文档,终于找到了相关内容,还是当初文档看得不仔细啊。

Advance Analytics分成了2部分

a.Advance Analytics Internal Logical SQL Functions

    Comparison of BIN and WIDTH_BUCKET Functions

    BIN Function

    WIDTH_BUCKET Function

    TRENDLINE Function

b.Advanced Analytics External Logical SQL Functions

    EVALUATE_SCRIPT Function

    FORECAST Function

    CLUSTER Function

    OUTLIER Function

    REGR Function

其中Advanced Analytics External Logical SQL Functions是调用外部工具实现,目前看到的是支持R和Oracle的R, 据说Spark也会支持,估计要等数据源支持SparkSQL后了。

这次主要介绍这部分内容:

0.文档参考

安装部分见http://docs.oracle.com/middleware/1221/biee/BIESG/answersconfigset.htm#BIESG9384

使用说明见http://docs.oracle.com/middleware/1221/biee/BIEUG/appsql.htm#BIEUG14790

1.配置外部引用位置

在NQSConfig.INI中增加了新的配置部分说明如何调用外部借口

01NQSConfig.INI.PNG

2.安装R

使用附带的r安装包(3.1.1 R version )安装,不知道和标准版本有什么区别,目前阶段先用了再说。

安装程序在 $ORACLE_HOME/bi/bifoundation/advanced_analytics/r-installer.tar.gz

执行以下命令(注意需要联网), 我的是在centos 6.6上运行的,7版本文档上说需要一些额外工作。

bash-4.1$ tar -xvzf ./r-installer.tar.gz

bash-4.1$ cd RInstaller

bash-4.1$ ./RInstaller.sh

Usage ./RInstaller { install | installpackages | uninstall }

bash-4.1$ sudo ./RInstaller.sh install

bash-4.1$ sudo ./RInstaller.sh installpackages

一些例外情况处理

万一提示proxy造成连不上

a.修改 RInstaller.sh中的

installROLE6(){

#    configureProxy OLE6  -- 屏蔽掉

    moveExistingRepoFiles

        printHashLine "Copying over public-yum-ol6.repo"

        cp ./OLE6/public-yum-ol6.repo /etc/yum.repos.d/

    execYum

}

然后确认 /etc/yum.conf没有配置proxy.  而且public-yum.oracle.com 比较慢, 需要耐心等待。

b.安装package默认也是用proxy

修改 ./r-package-install.R

删除以下2行就可以了

proxy<-read.table("proxy.txt", header=FALSE, sep="=", stringsAsFactors=FALSE)[,2]

Sys.setenv(http_proxy=proxy)

万一提示RPM-GPG-KEY-oracle-ol6找不到

下载https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
复制为/etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

然后执行

yum install R-3.1.1*

Error in library(OBIEEAdvancedAnalytics): there is no package called ‘OBIEEAdvancedAnalytics’ (HY000)

执行 ./RInstaller.sh installpackages  注意proxy问题

3.一个在sample lite rpd上的demo

forecast函数说明,注意series需要是时间类型

FORECAST(numeric_expr, ([series]), output_column_name, options, [runtime_binded_options])])

自建一个字段内容如下,就可以了

FORECAST("Sample Sales Lite"."Base Facts"."Revenue",("Sample Sales Lite"."Time"."Calendar Date"),'Forecast','numPeriods=%1;predictionInterval=70;',4) 

一个简单的完整示例如下:

SELECT

   0 s_0,

   "Sample Sales Lite"."Time"."Calendar Date" s_1,

   "Sample Sales Lite"."Time"."Per Name Month" s_2,

   "Sample Sales Lite"."Time"."Per Name Year" s_3,

   "Sample Sales Lite"."Base Facts"."Revenue" s_4,

   FORECAST("Sample Sales Lite"."Base Facts"."Revenue",("Sample Sales Lite"."Time"."Calendar Date"),'Forecast','numPeriods=%1;predictionInterval=70;',4) s_5

FROM "Sample Sales Lite"

ORDER BY 4 ASC NULLS LAST, 3 ASC NULLS LAST, 2 ASC NULLS LAST

FETCH FIRST 65001 ROWS ONLY

推荐 0
本文由 seng 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册