115
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Advanced Analytics Oracle R Enterpriseのセットアップ データベースで大量データ分析をするために ~ 日本オラクル株式会社

Oracle R Enterprise のセットアップ

  • View
    192

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleAdvancedAnalyticsOracleREnterpriseのセットアップ~ データベースで大量データ分析をするために ~

日本オラクル株式会社

1

Page 2: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.| 2

Safe Harbor Statement以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標または商標です。他社名又は製品名は、それぞれ各社の商標である場合があります。

Page 3: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

このドキュメントの対象読者

対象

• OracleREnterprise(ORE)の環境を構築する人

• ORE環境をメンテナンスする人

前提スキル

• Linuxの場合、Linuxの普通の管理操作 (yumなど)• OracleDBの基本的な管理

• Rをさわったことがあると望ましい(知らなくても大概大丈夫です)

3

Page 4: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Agenda

OracleREnterprise概要

OracleREnterpriseのアーキテクチャ

OracleREnterpriseのインストール手順

まとめ

4

素材のプチッチhttp://putiya.com/

イラストわんパグ

http://www.wanpug.com/

Page 5: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleAdvancedAnalytics製品概観

5

OracleAdvancedAnalytics

OracleDataMining OracleREnterprise

Page 6: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

BigDataManagementSystem

6

SOUR

CES

DATARESERVOIR DATAWAREHOUSEOracleDatabase

OracleIndustryModels

OracleAdvancedAnalytics

OracleSpatial&Graph

BigDataAppliance

ApacheFlume

OracleGoldenGate

OracleEventProcessing

ClouderaHadoop

OracleBigDataSQL

OracleNoSQL

OracleRDistribution

OracleBigDataSpatialandGraph

OracleDatabase

In-Memory,Multi-tenant

OracleIndustryModels

OracleAdvancedAnalytics

OracleSpatialandGraphExadata

OracleGoldenGate

OracleEventProcessing

OracleDataIntegrator

OracleBigDataConnectors

OracleDataIntegratorB

Page 7: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleAdvancedAnalytics製品概要

7

ODM/ORE 共通のメリット• In-Database Analyticsの実現

– データ移動コスト(時間)をカット– パワフルなデータベースサーバ内で処理

• 堅牢なDBセキュリティによるデータ保護⽤途

– ⼤量データ,全量データに対する分析– ⽣データでのリアルタイムな分析

他オプションや製品との連携で更に⾼度な分析が可能

・Big Data Appliance・Big Data SQL・Big Data Connecters・Spatial and Graphetc..

ビッグデータ時代のエンタープライズな

分析基盤を提供

Page 8: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleAdvancedAnalytics- OracleREnterpriseOracleREnterprise製品概要

8

特⻑• Rでの分析処理をデータベースへオフロード

– データ移動コスト(時間)をカット– パワフルなデータベースサーバ内で処理

• エンタープライズなRユーザのための機能– R関数の並列実⾏のためのインターフェイスを⽤意– Rオブジェクト、モデルをDBに保存、Rからデータベースの操作も可能– Oracle Data Mining機能をRから呼び出して利⽤が可能– ⼤規模分析のため並列処理実装されたR関数(オリジナルパッケージ)

デスクトップ利⽤のRの限界を超え、⼤規模なデータセットでの利⽤を可能に

Page 9: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

補足:OracleRDistributionOracleRDistribution

9

• Oracle は Rのディストリビューターです– Oracle は Rのディストリビューションを提供しています

• Oracle R Distribution(ORD)はRに対して改善や拡張を⾏ったものになります

• ORDは無償でご利⽤頂けます

※ディストリビューションとはOSSのソフトウェアなどをパッケージングし利⽤しやすい形態で提供/配布しているものになります。Linuxの場合、Red Hat Linux, Debian, Ubuntu, SUSEなどがあります。

OracleRDistributionhttp://www.oracle.com/technetwork/database/database-technologies/r/r-distribution/downloads/index.html

Page 10: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Agenda

OracleREnterprise概要

OracleREnterpriseのアーキテクチャ

OracleREnterpriseのインストール手順

OracleREnterpriseの使い方

まとめ

10

素材のプチッチhttp://putiya.com/

イラストわんパグ

http://www.wanpug.com/

Page 11: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.| 11

R言語を透過的にOracleDatabase内で実行します。

OracleREnterpriseアーキテクチャ

R⾔語の処理を透過的にOracle Database内の処理に変換することで、⼤規模な分析を実現します。またDB内処理に変換できない部分もDBサーバ上でRプロセスを実⾏します。

REngineREngineREngine OtherRpackages

Rの処理をDB内の処理に変換・オフロードします。

OracleREnterprisepackages

REngine

OracleREnterprisepackages

SQL R

結果 結果

DBサーバ内で外部プロセスとしてRを実⾏することも可能です

OtherRpackages

Rクライアント

• RスクリプトをOracle Databaseで実⾏するようにスクリプトを発⾏します。

• グラフの描画や処理フローの制御は、通常のRの機能を利⽤し、クライアント側で実⾏します。

OracleDatabase内部での実行

• Rの関数をSQLに変換して実⾏します。• Oracle Databaseの並列実⾏の仕組みを活⽤し、

⼤量のデータに対応します。• Oracle Databaseの持つ統計関数、データマイ

ニング機能を内部的に活⽤します。

OracleDatabaseサーバでのR実行

• データベースが複数のRのプロセスをデータベースサーバ上に外部プロセスとして起動しますので、追加機器が不要です。

• SQLやPL/SQLからRのスクリプトを呼び出し可能です。

分析者 DB

OracleDBサーバ

外部プロセス

Page 12: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleREnterpriseアーキテクチャ全体感:コンポーネント

12

ServerSideClientSide

OS

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseClient Oracle

DBClient

OS

OracleREnterprisesupportingPackages

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseServer

OracleREnterprisesupportingPackages

OracleDB/wAA

Page 13: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleREnterpriseアーキテクチャ全体感:コンポーネント:OS

13

ServerSideClientSide

OS

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseClient Oracle

DBClient

OS

OracleREnterprisesupportingPackages

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseServer

OracleREnterprisesupportingPackages

OracleDB/wAA

OSについてはマニュアルのシステム要件に記載がございます。ORE 1.5の場合、どのOSに関しても 64 bit版であることが必須となります。詳しくは下記をご覧ください。Oracle Enterprise Linuxの場合にはyumのレポジトリがあり、セットアップが少し効率的です。

https://docs.oracle.com/cd/E67822_01/OREAD/intro.htm#OREAD120

Page 14: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleREnterpriseアーキテクチャ全体感:コンポーネント:Rの動作環境

14

ServerSideClientSide

OS

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseClient Oracle

DBClient

OS

OracleREnterprisesupportingPackages

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseServer

OracleREnterprisesupportingPackages

OracleDB/wAA

Rの動作環境及び基本機能を提供する部分です。Oracle R Distributionをご利⽤頂くとスムースですが、Open R を利⽤することも可能です。Open R を利⽤する際には ソースからのbuildが必要となるケースがあります。※マニュアルに記載がありますが、linpackの利⽤やshlibの利⽤などを有効にしてbuildする必要があります

Page 15: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleREnterpriseアーキテクチャ全体感:コンポーネント:OracleREnterpriseClient

15

ServerSideClientSide

OS

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseClient Oracle

DBClient

OS

OracleREnterprisesupportingPackages

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseServer

OracleREnterprisesupportingPackages

OracleDB/wAA

Oracle R Enterprise Clientには OREの基本パッケージやR関数のSQL変換wraperとなるパッケージ、⼀部RパッケージのOracle実装版、ORE独⾃機能、Oracle Data Mining機能の呼び出しなどのRパッケージが含まれます。クライアントサーバ間でバージョンが同⼀である必要があります

含まれるパッケージ(⼀部抜粋)- ORE (トップレベルパッケージ)- OREbase (Rのbase相当)- OREcommon(OREの共通低レベル機能/DB接続や操作など)- OREdm(Oracle Data Mining⽤のアルゴリズム利⽤)- OREeda(探索型データ解析⽤パッケージ)- OREgraphics(Rのgraphics相当)など

Page 16: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleREnterpriseアーキテクチャ全体感:コンポーネント:OracleREnterpriseSupportingPackages

16

ServerSideClientSide

OS

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseClient Oracle

DBClient

OS

OracleREnterprisesupportingPackages

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseServer

OracleREnterprisesupportingPackages

OracleDB/wAAOracle R Enterprise Supporting Packageには、Oracle Database 通信⽤のインターフェ

イス定義やOCIインターフェイス、R関数のOracle実装などのパッケージが含まれます。これはServer, Clientともに共通になります。含まれるパッケージ(⼀部抜粋)- DBI(データベース通信インターフェイス),ROracle(OCIインターフェイス),Cairo(グラフィックスのレンダリング),png(png画像の読み込み、書き込み⽤)など

Page 17: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleREnterpriseアーキテクチャ全体感:コンポーネント:OracleDatabaseClient

17

ServerSideClientSide

OS

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseClient Oracle

DBClient

OS

OracleREnterprisesupportingPackages

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseServer

OracleREnterprisesupportingPackages

OracleDB/wAA

Oracle Database Client はOracle Databaseのクライアントライブラリを含み、Rからのデータベース接続(OCI)⽤のNativeライブラリを提供します。(実際にはDynamic Linkerでリンクされ利⽤されます)

Page 18: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleREnterpriseアーキテクチャ全体感:コンポーネント:OracleDatabaseClient

18

ServerSideClientSide

OS

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseClient Oracle

DBClient

OS

OracleREnterprisesupportingPackages

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseServer

OracleREnterprisesupportingPackages

OracleDB/wOREServer

Oracle R Enterprise Server は Oracle R Enterprise⽤のRパッケージとOracleデータベース内のスキーマ(RQSYS)やプロシージャ、操作権限などのメタデータ群で構成されます。これらを⽤いてRオブジェクトをデータベースに格納したり、埋め込みRによる実⾏などを実現しています。

Rパッケージとしては、ORE ClientにOREserverパッケージが加わっています。

Page 19: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Agenda

OracleREnterprise概要

OracleREnterpriseのアーキテクチャ

OracleREnterpriseのインストール手順

まとめ

19

素材のプチッチhttp://putiya.com/

イラストわんパグ

http://www.wanpug.com/

Page 20: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREのインストール全貌

• クライアントマシン上のRからDBに接続し利⽤する場合、サーバとクライアント両⽅にRのインストールが必要になります– ⼤抵上記の構成になるかと思います

• RはOracle R Distributionを利⽤頂いてもよいですし、OSSの Rをソースからビルドして頂く⽅法もあります

• サーバ、クライアントで作業に少し違いがあります

20

Page 21: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

システム要件ORE1.5の場合

Operating System Hardware Description

Linux x86-64 Intel and AMD•64-bit Oracle Linux Releases 6 and 7•64-bit Red Hat Enterprise Linux Releases 6 and 7Oracle Linux may be running on Oracle Exadata Database Machine.

Oracle Solaris on x86-64 (64-Bit)

Oracle Solaris on SPARC-64 (64-Bit)

Intel and SPARC

•64-bit Oracle Solaris 10 update 10 through Oracle Solaris 11 for both SPARC and x86-64 (Intel) platforms•Oracle SPARC SuperCluster•Oracle Solaris Studio (formerly Sun Studio) 12u3 or laterOracle Solaris may be running on Oracle Exadata Database Machine.

IBM AIX on POWER Systems (64-Bit) IBM 64-bit IBM AIX 5.3 or higher

Microsoft Windows x64 (64-Bit) Intel64-bit Microsoft WindowsSee Section 1.4.1, "Verifying 64-Bit Architecture on Microsoft Windows".

21

出典:http://docs.oracle.com/cd/E67822_01/OREAD/intro.htm#OREAD120

Page 22: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ORE インストール手順

ORE Server [DB Binary Install済み][インスタンス作成済み]• Rインストール

– ORD or Open R ( ⾃⼒make)• OREインストール

– serverスクリプト

22

ORE Client• Oracle DB Client Install• Rインストール

– ORD or Open R ( ⾃⼒make)• OREインストール

Page 23: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

23

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 24: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

24

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 25: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

25

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 26: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleDBInstall/インスタンス作成注意点

• Oracle DB インストール– Advanced Analytics(AA)を外したりしないで⼊れてあげてください– Oracle DB Enterprise Edition のdefaultでインストールされます– Oracle DB Standard Editionではご利⽤になれません

• Oracleインスタンス作成– こちらもAAオプションを外さないでインスタンスを作成してください– ORACLE_HOME,ORACLE_SID,LD_LIBRARY_PATHなどの環境変数の設定

を忘れないようにしてください

26

DBのインストール、インスタンスの作成に関してはここでは割愛させて頂きます。別途マニュアルなどをご参照ください

Page 27: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

27

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 28: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Rのインストール概要

Rのインストールに関しては2通りの⽅法がありますOracle R Distribution(ORD) [楽]

• Oracle が DistributionしているオープンソースのRになります• ORDのバージョンに合わせた形でのご利⽤となります

オープンソース版 R のbuild [やや⾯倒]• CRANでダウンロードできるRを⼀部フラグを⽴ててbuildします• サポートされる範囲で最新のRをご利⽤頂けます

• ⼿順に関してはサーバ、クライアントで同じです※上記(ORDとOpen Source版R)を両⽅⼊れる必要はありません

28

Page 29: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

RのインストールORDのメリット

OREではORDの利⽤が推奨されます• ORDのメリット

– 簡単– サポートの提供– 数学関数⾼速化ライブラリの統合

• Intel Math Kernel Library(MKL) (for Win/Linux)• Sun Performance Libraryの利⽤(for Oracle Solaris)

• ORDの弱点– Rのバージョン追従性(CRANと⽐較)

29

Page 30: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

R,OREのサーバクライアント間のバージョンについてサーバ環境とクライアント環境

基本的にバージョンを揃える指針での運⽤をお薦めします• Rのバージョン

– サーバ⽤のRと揃えておいた⽅がよいかと思います• 埋め込みRの実⾏時にはクライアントのRからサーバ側のRにスクリプトを実⾏させ、結果

を取得する動きとなります。そのため3rd PartyのRパッケージなどでもバージョン差異などによる問題が発⽣する可能性があります

• 埋め込みRの実⾏やその他関数の動作確認などの⼿間を減らせるかと思います

• OREのバージョン– OREのバージョンは同⼀であることが必須要件となります

30

Page 31: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ご参考:ORE1.5matrixOracleREnterpriseServerSupportMatrix

Oracle R Enterprise Open source R or Oracle R Distribution Oracle Database (see Note)

1.5 3.2.x 11.2.0.4, 12.1.0.1, 12.1.0.21.4.1 3.0.1, 3.1.1 11.2.0.3, 11.2.0.4, 12.1.0.11.4 3.0.1, 3.1.1 11.2.0.3, 11.2.0.4, 12.1.0.11.3.1 2.15.1, 2.15.2, 2.15.3 11.2.0.3, 11.2.0.4, 12.1.0.11.3 2.15.1 11.2.0.3, 11.2.0.4, 12.1.0.11.2 2.15.1 11.2.0.3, 11.2.0.4, 12.1.0.11.1 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.11.0 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.1

31

REnterpriseInstallationandAdministrationGuide- OracleREnterpriseSystemRequirementshttps://docs.oracle.com/cd/E67822_01/OREAD/intro.htm#OREAD335

Page 32: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

32

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 33: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OSによって作業が異なります• ここでは以下について記載します

– Oracle Enterprise Linux(OEL)– Windows – RedHat Enterprise Linux (RHEL)

• その他のOSの場合は下記マニュアルをご確認ください

OracleRDistribution(ORD)のインストール全体感

33

REnterpriseInstallationandAdministrationGuide3.InstallingRforOracleREnterprisehttp://docs.oracle.com/cd/E67822_01/OREAD/install_r.htm

Page 34: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

yumレポジトリにORDが⼊っています• Oracleのyum repositoryのaddonsに⼊っています

– OEL7の場合 [ol7_addons], OEL6の場合 [ol6_addons]– yumレポジトリの設定ファイル(/etc/yum.repo.d内のファイル)内でaddons

のエントリをenable(enabled=1)にすることでパッケージが検索されます• (OEL7) /etc/yum.repos.d/public-yum-ol7.repo• (OEL6) /etc/yum.repos.d/public-yum-ol6.repo

• enableにしたらyumでインストールできます

OracleRDistribution(ORD)のインストールOracleEnterpriseLinux(OEL)の場合

34

yum install Ryum install R-coreyum install R-devel

※環境によっては、latest, optional_latestのレポジトリもenableにしておくと必要な依存関係パッケージを⾃動追加してくれるかもしれません

Page 35: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ご参考:OracleRDistributionのインストールOELRPMパッケージ

• OELはRPMパッケージでのインストールも可能です• ORD 3.2 の場合

– OEL 6

– OEL 7

35

http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/R-3.2.0-2.el6.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/R-core-3.2.0-2.el6.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/R-devel-3.2.0-2.el6.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/libRmath-3.2.0-2.el6.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/libRmath-devel-3.2.0-2.el6.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/libRmath-static-3.2.0-2.el6.x86_64.rpm

http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/R-3.2.0-2.el7.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/R-core-3.2.0-2.el7.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/R-devel-3.2.0-2.el7.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/libRmath-3.2.0-2.el7.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/libRmath-devel-3.2.0-2.el7.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/libRmath-static-3.2.0-2.el7.x86_64.rpm

Page 36: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleRDistribution(ORD)のインストールWindowsの場合

• ORDをダウンロードします– 下記のサイトからWindowsのものをダウンロードします

※OREのシステム要件(前述)を満たす必要があります

• zipを解凍して以下を実⾏します

• インストールWizardに従ってインストールします– ⾔語、インストール先、などデフォルトのままで⼤丈夫です

36

https://oss.oracle.com/ORD/

ORD-Rversion-win.exe(ORD3.2の場合 ORD-3.2-win.exe)

Page 37: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ご参考:ORD3.2forwindowsインストール画面基本的に[次へ]を押してくだけです

37

Page 38: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleRDistributionのインストールRedHatEnterpriseLinuxの場合(1/2)

rpmbuildでソースからパッケージをbuildする必要があります• rpmbuildのインストール (インストール済みの場合は不要です)

• ソース rpmパッケージのダウンロード– 以下のサイトからダウンロードできます

• rpmbuild準備

38

yum install rpm-build

RHEL6http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/index_src.html

RHEL7http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/index_src.html

mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

Page 39: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleRDistributionのインストールRedHatEnterpriseLinuxの場合(1/2)

• ダウンロードした src.rpmファイルを SRPMS に移動

• rpmbuildの実⾏

• rpm -i でパッケージを追加します– 出来たパッケージは rpmbuild/RPMS/x86_64/ に安置されています

39

mv R-3.2.0-2.el7.src.rpm rpmbuild/SRPMS/

rpmbuild --ebuild rpmbuild/SRPMS/R-3.2.0-2.el7.src.rpm

※OSのパッケージのインストール状況によっては texlive, lapack, libtiff などの必要なパッケージのインストールが要求される場合がありますので、適宜対応して下さい。※場合によっては LANG=C もお試しくださいませ

rpm -i rpmbuild/RPMS/x86_64/R-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/R-core-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/libRmath-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/libRmath-devel-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/libRmath-static-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/R-debuginfo-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/R-devel-3.2.0-2.el7.x86_64.rpm

※versionによって差異がある場合があります

Page 40: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

• ORDをダウンロードします※OREのシステム要件(前述)を満たす必要があります

• インストールを実施します– 上記サイトのINSTALLに詳しい記載へのリンクがあります

• マニュアルは以下になります

ご参考:OracleRDistributionのインストールその他の場合

40

REnterpriseInstallationandAdministrationGuide3.InstallingRforOracleREnterprisehttp://docs.oracle.com/cd/E67822_01/OREAD/install_r.htm

Page 41: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

41

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 42: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

オープンソース版RのインストールLinux (OEL,RHELなど)

• CRANからRのソースコードをダウンロードします

• ダウンロードしたファイルを解凍します• 解凍してできたディレクトリ内で以下を実⾏します(linux/OEL)

42

https://cran.r-project.org/

こちらの記載はOREの構築に必要なRのconfigureオプションを有効化することだけを目的としています.オープンソースのRのビルド手法を保証するものではありません

./configure --with-lapack --with-ICU=no --enable-R-shlib --prefix=/usr/local/R/323makemake install

※環境によっては configureの際にパッケージが不⾜してエラーがでることがありますyumなどで適宜追加してください (gfortran, libXxx-devel など)

Page 43: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

43

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 44: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREサーバのセットアップ環境変数の確認と設定

• 環境変数を確認、設定します

• その他– インストールの実⾏ユーザはOS認証可能なDBAグループである必要があります

44

環境変数 設定値 コメント

PATH 環境依存 対象のRが実⾏可能な状態にしておきます。※yumでインストールした場合、PATHは⾃動的に通っています※Rを別途インストールし利⽤する場合にはPATH設定が必要です。※実⾏されるRは右記で確認できます

ORACLE_SID 環境依存 対象のDBインスタンスのSID(OS認証⽤)

ORACLE_HOME 環境依存 対象のDBインスタンスのORACLE_HOME(OS認証⽤)

LD_LIBRARY_PATH $ORACLE_HOME/libを含む 対象DBバイナリのライブラリを含むパスを設定します

R RHOMER --version

Page 45: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREサーバのセットアップデータベースの準備

• データベースの準備をします– (必要に応じて) 表領域を作成します– (必要に応じて)OREを使うDBユーザを作成します※ORE利⽤ユーザや表領域が既に準備されている場合には上記の作業は不要です※接続ユーザは未作成の場合、serverスクリプトで作成をすることもできますが、表領域は事前に準備しておく必要があります

45

sqlplus "/as sysdba" << !!CREATE TABLESPACE oretbs DATAFILE '/oradata/oretbs01.dbf' SIZE 1024m ;CREATE USER oreuser IDENTIFIED BY oreuser DEFAULT TABLESPACE oretbs

TEMPORARY TABLESPACE temp;GRANT connect,resource TO oreuser ;ALTER USER oreuser QUOTA UNLIMITED ON oretbs ;

!!

Page 46: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREサーバのセットアップOREバイナリのダウンロード

• 以下から該当アーキテクチャのOREをダウンロードします

– Server(必須), Supporting(任意) をダウンロードします

• 展開します– 必要な場合 Supportingも同じディレクトリに展開します

46

http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/downloads/index.html

$ mkdir oreserver$ mv ore-server-linux-x86-64-1.5.zip oreserver/$ mv ore-supporting-linux-x86-64-1.5.zip oreserver/$ cd oreserver$ unzip ore-supporting-linux-x86-64-1.5.zip > /dev/null$ unzip ore-supporting-linux-x86-64-1.5.zip > /dev/null

$ lsore-server-linux-x86-64-1.5.zip server supportingore-supporting-linux-x86-64-1.5.zip server.sh tmpcdb.sql

Page 47: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREサーバのセットアップserverスクリプトの実行

• 同梱されているserverスクリプトを実⾏します– defaultでは対話型のインストールになります

47

$ ./server.sh

Checking platform .................. PassChecking R ......................... PassChecking R libraries ............... PassChecking ORACLE_HOME ............... PassChecking ORACLE_SID ................ PassChecking sqlplus ................... PassChecking ORACLE instance ........... PassChecking CDB/PDB ................... PassChecking ORE ....................... Pass

Choosing RQSYS tablespacesPERMANENT tablespace to use for RQSYS [list]:USERS

TEMPORARY tablespace to use for RQSYS [list]: TEMP

RQSYSユーザ⽤の表領域を指定します

※RQSYSユーザは OREのDB側の管理ユーザで、R呼び出し関連の関数やRオブジェクトなどが実際に配置されるスキーマになります

RQSYSユーザ⽤の⼀時表領域を指定します

Page 48: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREサーバのセットアップserverスクリプトの実行

つづき

48

Choosing RQSYS passwordPassword to use for RQSYS:

TEMPORARY tablespace to use for OREUSER [list]:TEMP

Choosing ORE userORE user to use [list]: oreuser

Choosing OREUSER tablespacesPERMANENT tablespace to use for OREUSER [list]: USERS

Choosing OREUSER passwordPassword to use for OREUSER:

RQSYSユーザのパスワードを⼊⼒します※⼊⼒⽂字は表⽰されないです。ありがちな⼆度⼊⼒にはなっていないのですが、分からなくなった場合にはsysdbaからalter userでなんとかなります。

OREを実際に接続して利⽤するユーザを指定します※作成済みであれば後の表領域などの選択肢はでてきません。⼊⼒⽂字は表⽰されないです。

利⽤するユーザのデフォルト表領域と⼀時表領域、パスワードを⼊⼒します※作成済みであればこの質問はでてきません。

Page 49: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREサーバのセットアップserverスクリプトの実行

• ⼊⼒した内容と環境変数やRの場所を確認します

49

Current configurationR Version ........................ R version 3.2.3 (2015-12-10)R_HOME ........................... /usr/local/R/323/lib64/RR_LIBS_USER ...................... /app/oracle/product/db/12.1.0.2/R/libraryORACLE_HOME ...................... /app/oracle/product/db/12.1.0.2 ORACLE_SID ....................... ora12c

Existing R Version ............... NoneExisting R_HOME .................. NoneExisting ORE data ................ NoneExisting ORE code ................ NoneExisting ORE libraries ........... None

RQSYS PERMANENT tablespace ....... USERSRQSYS TEMPORARY tablespace ....... TEMP

ORE user type .................... NewORE user name .................... OREUSERORE user PERMANENT tablespace .... USERSORE user TEMPORARY tablespace .... TEMPGrant RQADMIN role ............... No

Operation ........................ Install/Upgrade/Setup

Proceed? [yes]

※ユーザが新規作成の場合、ここがNewになります作成済み、既存ユーザの場合、Existと表⽰されます

※OKであれば returnキーでインストールが開始されます

Page 50: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREサーバのセットアップserverスクリプトの実行

• エラーなく完了すればインストールは完了です

50

Removing R libraries ............... PassInstalling R libraries ............. PassInstalling ORE libraries ........... PassInstalling RQSYS data .............. PassConfiguring ORE .................... PassInstalling RQSYS code .............. PassInstalling ORE packages ............ PassCreating ORE script ................ PassInstalling migration scripts ....... PassInstalling supporting packages ..... PassCreating ORE user .................. PassGranting ORE privileges ............ Pass

Done

$ lsore-server-linux-x86-64-1.5.zip server supportingore-supporting-linux-x86-64-1.5.zip server.sh tmpcdb.sql

※展開する際に記載した server.shの場所にsupportingパッケージを展開していればこの時にsupporting パッケージもインストールされます

Page 51: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREサーバのセットアップ補足:Serverスクリプトがやっていること

• サーバ⽤インストールスクリプト (serverスクリプト)では、概ね以下の作業をしています– RQSYSユーザの作成、スキーマオブジェクトの作成

51

余力ができたらまとめてみる予定

Page 52: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

52

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 53: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREサーバの確認確認(OREコマンド)

• うまくできていれば ORE コマンドが実⾏可能になります

53

$ ORE

R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"Copyright (C) 2015 The R Foundation for Statistical ComputingPlatform: x86_64-pc-linux-gnu (64-bit)

R は、⾃由なソフトウェアであり、「完全に無保証」です。⼀定の条件に従えば、⾃由にこれを再配布することができます。配布条件の詳細に関しては、'license()' あるいは 'licence()' と⼊⼒してください。

R は多くの貢献者による共同プロジェクトです。詳しくは 'contributors()' と⼊⼒してください。また、R や R のパッケージを出版物で引⽤する際の形式については'citation()' と⼊⼒してください。

'demo()' と⼊⼒すればデモをみることができます。'help()' とすればオンラインヘルプが出ます。'help.start()' で HTML ブラウザによるヘルプがみられます。'q()' と⼊⼒すれば R を終了します。

>

Page 54: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREサーバの確認確認(OREパッケージのロード)

• OREパッケージがロードできます

54

> library(ORE)要求されたパッケージ OREbase をロード中です要求されたパッケージ OREcommon をロード中です

次のパッケージを付け加えます: ‘OREbase’

以下のオブジェクトは ʻpackage:base’ からマスクされています:

cbind, data.frame, eval, interaction, order, paste, pmax, pmin,rbind, table

要求されたパッケージ OREembed をロード中です要求されたパッケージ OREstats をロード中です要求されたパッケージ MASS をロード中です要求されたパッケージ OREgraphics をロード中です要求されたパッケージ OREeda をロード中です要求されたパッケージ OREmodels をロード中です要求されたパッケージ OREdm をロード中です要求されたパッケージ lattice をロード中です要求されたパッケージ OREpredict をロード中です要求されたパッケージ ORExml をロード中です>

Page 55: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

55

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 56: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

56

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 57: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

57

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 58: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Oracle DBクライアントメディアの準備

OREクライアントにはOracle DB のクライアントが必要です• 以下のいずれかを準備します

– Oracle DB Client ( Oracle DB メディアに同梱 )• DBサーバ上で直接Rクライアントを実⾏する場合にはインストール済みのものを利⽤できます• Instant Clientに⽐べるとサイズが少し⼤きいです

– Oracle DB Instant Client ( OTNなどからダウンロード⼊⼿/無償)• 以下から対象のアーキテクチャ、OSを選んでクリックしします

• ダウンロードページでInstant Client Package - Basic (か Basic Lite) と SDK をダウンロードします

58

OracleInstantClient:http://www.oracle.com/technetwork/database/features/instant-client/index.html

Page 59: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Oracle DBクライアントご参考:OracleInstantClient(Windows版)

• Windowsの場合、右記の2つをダウンロードします

59

※Linux, zip版, RPM版も基本的に同様の2つをダウンロードします

Page 60: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Oracle DBクライアントOracleInstantClientのインストール

• Oracle Instant Clientは以下の⼿順でインストールできます• basicとsdkのアーカイブを同じインストールフォルダにコピーします• ダウンロードしたbasicを解凍します• 同じディレクトリでダウンロードしたsdkを上書き展開します• 環境変数を設定します

60

WindowsOCI_LIB64環境変数

Page 61: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Oracle DBクライアントご参考:OracleInstantClient(Windows版)環境設定 - Windows7の例

• Windowsメニュー のコンピュータを右クリックしプロパティを左クリック

61

• システムの詳細設定を左クリック

Page 62: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Oracle DBクライアントご参考:OracleInstantClient(Windows版)環境設定 - Windows7の例

• 詳細設定タブの環境変数をクリック

62

システム環境変数の• OCI_LIB64 を インストールディレクトリ

(instantclient_<version> )に設定• Path環境変数 に同じインストールディレクトリを追加

Page 63: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

63

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 64: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Rのインストール概要

Rのインストールに関しては2通りの⽅法がありますOracle R Distribution(ORD) [楽]

• Oracle が DistributionしているオープンソースのRになります• ORDのバージョンに合わせた形でのご利⽤となります

オープンソース版 R のbuild [やや⾯倒]• CRANでダウンロードできるRを⼀部フラグを⽴ててbuildします• サポートされる範囲で最新のRをご利⽤頂けます

• ⼿順に関してはサーバ、クライアントで同じです※上記(ORDとOpen Source版R)を両⽅⼊れる必要はありません

64

再掲

Page 65: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

RのインストールORDのメリット

OREではORDの利⽤が推奨されます• ORDのメリット

– 簡単– サポートの提供– 数学関数⾼速化ライブラリの統合

• Intel Math Kernel Library(MKL)との統合を簡素化 (Win/Linux)• Sun Performance Libraryの利⽤(Oracle Solaris)

• ORDの弱点– Rのバージョン追従性(CRANと⽐較)

65

再掲

Page 66: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

R,OREのサーバクライアント間のバージョンについてサーバ環境とクライアント環境

基本的にバージョンを揃える指針での運⽤をお薦めします• Rのバージョン

– サーバ⽤のRと揃えておいた⽅がよいかと思います• 埋め込みRの実⾏時にはクライアントのRからサーバ側のRにスクリプトを実⾏させ、結果

を取得する動きとなります。そのため3rd PartyのRパッケージなどでもバージョン差異などによる問題が発⽣する可能性があります

• 埋め込みRの実⾏やその他関数の動作確認などの⼿間を減らせるかと思います

• OREのバージョン– OREのバージョンは同⼀であることが必須要件となります

66

再掲

Page 67: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ご参考:ORE1.5matrixOracleREnterpriseServerSupportMatrix

Oracle R Enterprise Open source R or Oracle R Distribution Oracle Database (see Note)1.5 3.2.x 11.2.0.4, 12.1.0.1, 12.1.0.21.4.1 3.0.1, 3.1.1 11.2.0.3, 11.2.0.4, 12.1.0.11.4 3.0.1, 3.1.1 11.2.0.3, 11.2.0.4, 12.1.0.11.3.1 2.15.1, 2.15.2, 2.15.3 11.2.0.3, 11.2.0.4, 12.1.0.11.3 2.15.1 11.2.0.3, 11.2.0.4, 12.1.0.11.2 2.15.1 11.2.0.3, 11.2.0.4, 12.1.0.11.1 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.11.0 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.1

67

REnterpriseInstallationandAdministrationGuide- OracleREnterpriseSystemRequirementshttps://docs.oracle.com/cd/E67822_01/OREAD/intro.htm#OREAD335

再掲

Page 68: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

68

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 69: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OSによって作業が異なります• ここでは以下について記載します

– Oracle Enterprise Linux(OEL)– Windows – RedHat Enterprise Linux (RHEL)

• その他のOSの場合は下記マニュアルをご確認ください

OracleRDistribution(ORD)のインストール全体感

69

再掲

REnterpriseInstallationandAdministrationGuide3.InstallingRforOracleREnterprisehttp://docs.oracle.com/cd/E67822_01/OREAD/install_r.htm

Page 70: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

yumレポジトリにORDが⼊っています• Oracleのyum repositoryのaddonsに⼊っています

– OEL7の場合 [ol7_addons], OEL6の場合 [ol6_addons]– yumレポジトリの設定ファイル(/etc/yum.repo.d内のファイル)内でaddons

のエントリをenable(enabled=1)にすることでパッケージが検索されます• (OEL7) /etc/yum.repos.d/public-yum-ol7.repo• (OEL6) /etc/yum.repos.d/public-yum-ol6.repo

• enableにしたら以下でインストールできます

OracleRDistribution(ORD)のインストールOracleEnterpriseLinux(OEL)の場合

70

yum install Ryum install R-coreyum install R-devel

再掲

※環境差異がありますが、latest, optional_latest もenableにしておくと必要な依存関係パッケージを⾃動追加してくれるかもしれません

Page 71: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ご参考:OracleRDistributionのインストールOELRPMパッケージ

• OELはRPMパッケージでのインストールも可能です• ORD 3.2 の場合

– OEL 6

– OEL 7

71

http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/R-3.2.0-2.el6.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/R-core-3.2.0-2.el6.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/R-devel-3.2.0-2.el6.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/libRmath-3.2.0-2.el6.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/libRmath-devel-3.2.0-2.el6.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/getPackage/libRmath-static-3.2.0-2.el6.x86_64.rpm

http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/R-3.2.0-2.el7.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/R-core-3.2.0-2.el7.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/R-devel-3.2.0-2.el7.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/libRmath-3.2.0-2.el7.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/libRmath-devel-3.2.0-2.el7.x86_64.rpmhttp://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/getPackage/libRmath-static-3.2.0-2.el7.x86_64.rpm

再掲

Page 72: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleRDistribution(ORD)のインストールWindowsの場合

• ORDをダウンロードします– 下記のサイトからWindowsのものをダウンロードします

※OREのシステム要件(前述)を満たす必要があります

• zipを解凍して以下を実⾏します

• インストールWizardに従ってインストールします– ⾔語、インストール先、などデフォルトのままで⼤丈夫です

72

https://oss.oracle.com/ORD/

ORD-Rversion-win.exe(ORD3.2の場合 ORD-3.2-win.exe)

再掲

Page 73: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ご参考:ORD3.2forwindowsインストール画面基本的に[次へ]を押してくだけです

73

再掲

Page 74: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleRDistributionのインストールRedHatEnterpriseLinuxの場合(1/2)

rpmbuildでソースからパッケージをbuildする必要があります• rpmbuildのインストール (インストール済みの場合は不要です)

• ソース rpmパッケージのダウンロード– 以下のサイトからダウンロードできます

• rpmbuild準備

74

再掲

yum install rpm-build

RHEL6http://public-yum.oracle.com/repo/OracleLinux/OL6/addons/x86_64/index_src.html

RHEL7http://public-yum.oracle.com/repo/OracleLinux/OL7/addons/x86_64/index_src.html

mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

Page 75: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleRDistributionのインストールRedHatEnterpriseLinuxの場合(1/2)

• ダウンロードした src.rpmファイルを SRPMS に移動

• rpmbuildの実⾏

• rpm -i でパッケージを追加します– 出来たパッケージは rpmbuild/RPMS/x86_64/ に安置されています

75

再掲

mv R-3.2.0-2.el7.src.rpm rpmbuild/SRPMS/

rpmbuild --ebuild rpmbuild/SRPMS/R-3.2.0-2.el7.src.rpm

※OSのパッケージのインストール状況によっては texlive, lapack, libtiff などの必要なパッケージのインストールが要求される場合がありますので、適宜対応して下さい。※場合によっては LANG=C もお試しくださいませ

rpm -i rpmbuild/RPMS/x86_64/R-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/R-core-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/libRmath-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/libRmath-devel-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/libRmath-static-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/R-debuginfo-3.2.0-2.el7.x86_64.rpmrpm -i rpmbuild/RPMS/x86_64/R-devel-3.2.0-2.el7.x86_64.rpm

※versionによって差異がある場合があります

Page 76: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

• ORDをダウンロードします※OREのシステム要件(前述)を満たす必要があります

• インストールを実施します– 上記サイトのINSTALLに詳しい記載へのリンクがあります

• マニュアルは以下になります

ご参考:OracleRDistributionのインストールその他の場合

76

再掲

REnterpriseInstallationandAdministrationGuide3.InstallingRforOracleREnterprisehttp://docs.oracle.com/cd/E67822_01/OREAD/install_r.htm

https://oss.oracle.com/ORD/

Page 77: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

• Intel MKLはIntelの数学演算⾼速化のライブラリになります• ORDではMKLを動的リンクし利⽤することができます

※MKLはサポート無しの無償コミュニティライセンスがあります。※サポートが必要な場合は別途ご購⼊ください– Linuxの場合、LD_LIBRARY_PATHにMKLのライブラリを追加するだけです– Windowsの場合 libOrdBlasLoader.dllおよびmkl_rt.dllの場所をPATHシステム環境に追加– DBサーバ(Linux/Windows)ではMKLがORACLE_HOME/lib以下に同梱されています

• Sys.BlasLapack()関数で有効/無効が確認できます(ORD)

ご参考:IntelMathKernelLibrary(MKL)の統合ORDのMKL統合

77

R> Sys.BlasLapack()$vendor[1] "Intel Math Kernel Library (Intel MKL)"$nthreads[1] -1

R> Sys.BlasLapack()$vendor[1] "R internal BLAS and LAPACK"$nthreads[1] 1

有効 無効

Page 78: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

78

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 79: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

オープンソース版RのインストールLinux (OEL,RHELなど)

• CRANからRのソースコードをダウンロードします

• ダウンロードしたファイルを解凍します• 解凍してできたディレクトリ内で以下を実⾏します(linux/OEL)

79

https://cran.r-project.org/

こちらの記載はOREの構築に必要なRのconfigureオプションを有効化することだけを目的としています.オープンソースのRのビルド手法を保証するものではありません

./configure --with-lapack --with-ICU=no --enable-R-shlib --prefix=/usr/local/R/323makemake install

※環境によっては configureの際にパッケージが不⾜してエラーがでることがありますyumなどで適宜追加してください (gfortran, libXxx-devel など)

Page 80: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

80

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 81: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

基本的な作業はRのパッケージをインストールするだけです• 対象パッケージをダウンロードします• ダウンロードしたファイルを展開します• Rパッケージとしてインストールを⾏います

OREClientのインストール概要

81

Page 82: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

• 以下から対象パッケージをダウンロードします

– Client は必須になります– Supporting は任意になります

• ダウンロードしたzipファイルを展開するとまたアーカイブが沢⼭できます。これがRのパッケージになります。– windows版は zip のパッケージ群– Linuxの場合にはtar.gzのパッケージ群

OREClientのインストールダウンロードと展開

82

http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/downloads/index.html

Page 83: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

• Rパッケージたちをインストールします– 残念ながら現時点ではスクリプトなどはついていません。– R CMD INSTALL コマンドでインストールしていくことになります

• RStudioがある場合には RStudioの[Tools]から[Install Packages] でファイル指定でもインストールできます

• ORE 1.5に関しては次⾴以降にコピペ⽤スクリプトも⽤意しました

OREClientのインストールRパッケージのインストール

83

$ R CMD INSTALL <アーカイブ名>

Page 84: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ご参考:OREClient1.5パッケージ(コピペ用)OREClient(Windows)

• Client

• Supporting

84

R CMD INSTALL OREbase_1.5.zipR CMD INSTALL OREcommon_1.5.zipR CMD INSTALL OREstats_1.5.zipR CMD INSTALL OREgraphcs_1.5.zipR CMD INSTALL OREeda_1.5.zipR CMD INSTALL OREembed_1.5.zipR CMD INSTALL ORExml_1.5.zipR CMD INSTALL OREdm_1.5.zipR CMD INSTALL OREmodels_1.5.zipR CMD INSTALL OREpredict_1.5.zipR CMD INSTALL ORE_1.5.zip

R CMD INSTALL ROracle_1.2-1.zipR CMD INSTALL arules_1.1-9.zipR CMD INSTALL Cairo_1.5-8.zipR CMD INSTALL DBI_0.3.1.zipR CMD INSTALL png_0.1-7.zipR CMD INSTALL randomForest_4.6-10.zipR CMD INSTALL statmod_1.4.21.zip

Page 85: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ご参考:OREClient1.5パッケージ(コピペ用)OREClient(Linux)

• Client

• Supporting

85

R CMD INSTALL OREbase_1.5_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL OREcommon_1.5_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL OREdm_1.5_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL OREeda_1.5_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL OREembed_1.5_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL OREgraphics_1.5_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL OREmodels_1.5_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL OREpredict_1.5_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL OREstats_1.5_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL ORExml_1.5_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL ORE_1.5_R_x86_64-unknown-linux-gnu.tar.gz

R CMD INSTALL Cairo_1.5-8_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL DBI_0.3.1_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL ROracle_1.2-1_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL arules_1.1-9_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL png_0.1-7_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL randomForest_4.6-10_R_x86_64-unknown-linux-gnu.tar.gzR CMD INSTALL statmod_1.4.21_R_x86_64-unknown-linux-gnu.tar.gz

Page 86: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ご参考:OREClient- Clientパッケージの中身

86

Package Name DescriptionORE The top-level package for Oracle R Enterprise.OREbase Corresponds to the open source R base package.OREcommon Contains common low-level functionality for Oracle R EnterpriseOREdm Exposes Oracle Data Mining algorithms through R.OREeda Contains functions for exploratory data analysis.OREembed Supports embedded ROREgraphics Corresponds to the open source R graphics package.OREmodels Contains functions for advanced analytical modeling.OREpredict Enables scoring data in Oracle Database using R models.OREstats Corresponds to the open source R stats package.ORExml Supports XML translation between R and Oracle Database.

Page 87: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ご参考:OREClient- Supportingパッケージの中身

PackageName Description

arules Provides theinfrastructure forrepresenting,manipulating, andanalyzingtransactionaldataandpatterns(frequent itemsets andassociationrules).

Cairo Supports graphicrenderingonOracleREnterpriseserver.DBI Adatabaseinterfacedefinition forcommunicationbetweenRandOracleDatabase.png Supports thereadingandwritingofPNGimagesforOracleREnterpriseobjects.randomForest Providesclassificationandregressionbasedonaforestoftreesusing randominputs.ROracle OracleDatabaseinterfaceforR-basedOCI.

statmodProvidesstatisticalmodeling functions, includinggrowthcurvecomparisons, limitingdilutionanalysis,mixedlinearmodels,heteroscedastic regression,Tweedie familygeneralizedlinearmodels,theinverse-Gaussiandistribution andGaussquadrature.

87

Page 88: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

インストール手順全貌

88

サーバ構築の流れ

クライアント構築の流れ

Oracle DBInstall

Oracle インスタンス

作成

Oracle R Distribution

Open Rbuild

server script

OracleDB Client

Oracle R Distribution

Open Rbuild

ORE Client

Page 89: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREクライアントの確認確認(Rコマンド)

• ore関連の関数が実⾏可能になります(RStudio起動でも可)

89

> ROracle Distribution of R version 3.2.0 (2012-06-22) -- "Full of Ingredients"Copyright (C) 2012 The R Foundation for Statistical ComputingPlatform: x86_64-w64-mingw32/x64 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.You are welcome to redistribute it under certain conditions.Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.Type 'contributors()' for more information and'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or'help.start()' for an HTML browser interface to help.Type 'q()' to quit R.

You are using Oracle's distribution of R. Please contactOracle Support for any problems you encounter with thisdistribution.

Page 90: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREクライアントの確認確認(OREパッケージのロードと接続)

• OREパッケージがロードできます

• oreの基本関数で接続してみます– OREサーバの環境に合わせてuser,sid,host,password,portなどは変えてください

もし接続できない場合は、何か設定が漏れたりしている可能性があります

90

> library(ORE)Loading required package: OREembedLoading required package: OREstatsLoading required package: MASSLoading required package: OREgraphicsLoading required package: OREedaLoading required package: OREmodelsLoading required package: OREdmLoading required package: latticeLoading required package: OREpredictLoading required package: ORExml

> ore.connect(user="oreuser",sid="ora12c", host="shiva",password="oreuser",port=1521,all=TRUE)

Page 91: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Agenda

OracleREnterprise概要

OracleREnterpriseのアーキテクチャ

OracleREnterpriseのインストール手順

まとめ

91

素材のプチッチhttp://putiya.com/

イラストわんパグ

http://www.wanpug.com/

Page 92: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

まとめまとめ

• OREのインストール・セットアップについて記載しました• OREはサーバ・クライアント構成になります

– 構築作業はサーバ側、クライアント側で少し違う作業になります• Rに関しては、ORDとOSS Rが選択可能です

– OSS Rの場合、少し⼿順が複雑になります– ORDの場合、数学関数⾼速化ライブラリのリンクも楽です

• OREサーバはserverスクリプトによって簡単に構築できます– デフォルトでは対話型での構築になります

92

Page 93: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.| 93

Page 94: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Appendix:

OREの管理について

OracleDataMiningとの連携

OracleRAdvancedAnalyticsforHadoop

94

Page 95: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleREnterpriseアーキテクチャ全体感:コンポーネント

95

ServerSideClientSide

OS

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseClient Oracle

DBClient

OS

OracleREnterprisesupportingPackages

OracleRDistribution

OpenR(/wshared

lib,lapack..)※

OracleREnterpriseServer

OracleREnterprisesupportingPackages

OracleDB/wAA

Page 96: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREの管理について構築後にある様々なこと

• Rの管理– Rのアップグレード等のバージョン管理– Rパッケージの管理(OS関連含む)

• OREの管理– アップグレード等のバージョン管理– 埋め込みRが利⽤するメモリの制御

• ORE DBの管理– データ容量 (quotaなど)– OREユーザの管理

96

※CRANのバージョンと導⼊済みRのバージョンの差異への対処※Rパッケージによって必要とされるOSパッケージと他のアプリケーションとの兼ね合い

※OREのバージョンアップは serverスクリプトで実施※埋め込みRで利⽤されるメモリ量などはパラメータ設定で制限を

※OREユーザは表の作成、データのロード、スクリプトの保持など⾃由にオブジェクトの作成が可能※重い処理を流してしまうことも有りえる※リソースマネージャtとの連携も検討

Page 97: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

• 埋め込み型実⾏の際に起動される外部プロシージャの設定情報は以下のsys.rq_config 表から確認できます

• 埋め込み型実⾏の際に利⽤されるメモリー量などの制御ができます– sys.rqconfigsetを使います

補足:埋め込み型実行埋め込み型実行の設定

97

SQL> SELECT * FROM sys.rq_config;

キーワード デフォルト値 説明MIN_VSIZE 32M 最⼩のRベクター・ヒープ・メモリーMAX_VSIZE 4G 最⼤のRベクター・ヒープ・メモリーMIN_NSIZE 1M Rコンス・セルの最⼩値MAX_NSIZE 20M Rコンス・セルの最⼤値

SQL> EXEC sys.rqconfigset('MIN_VSIZE', '20M');

Page 98: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Appendix:

OREの管理について

OracleDataMiningとの連携

OracleRAdvancedAnalyticsforHadoop

98

Page 99: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

機能 アルゴリズム 応⽤範囲

分類Logistic Regression (GLM)Decision TreesNaïve Bayes Support Vector Machines (SVM)

伝統的な統計テクニック幅広い⽤途に利⽤可能

回帰 Linear Regression (GLM)Support Vector Machine (SVM)

伝統的な統計テクニック幅広い⽤途に利⽤可能

異常検出(⾃動検知) One Class SVM 不正検知や異常値の検出

属性重要度 Minimum Description Length (MDL)Principal Components Analysis (PCA) 属性の絞り込み、ノイズの低減

相関ルール Apriori バスケット分析/ NBO(Next Best Offer)分析

クラスタリングHierarchical k-MeansHierarchical O-ClusterExpectation-Maximization Clustering (EM)

製品のグルーピング/ テキストマイニング遺伝⼦-タンパク質分析

特徴抽出 Nonnegative Matrix Factorization (NMF)Singular Value Decomposition (SVD) テキスト分析 / 因⼦分析

OracleAdvancedAnalyticsIn-DatabaseDataMiningアルゴリズム

A1 A2 A3 A4 A5 A6 A7

F1 F2 F3 F4

Page 100: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ORE独自関数ORE1.5

• モデリング

• predict

packages 関数

OREmodels ore.glmore.lmore.neuralore.stepwiseore.randomForest

packages 関数

OREmodels ore.predict

ClassofModel DescriptionofModel

glm Generalizedlinearmodel

kmeans k-Means clusteringmodel

lm Linearregressionmodel

matrix Amatrixwithnomorethan1000rows,foruseinanhclusthierarchicalclusteringmodel

multinom Multinomial log-linearmodel

nnet Neuralnetworkmodel

ore.model AnOracleREnterprisemodelfromtheOREModels package

prcomp Principalcomponents analysis onamatrix

princomp Principalcomponents analysis onanumericmatrix

rpart Recursivepartitioning andregressiontreemodel

• ore.predict対応モデル

Page 101: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREから呼び出せるDataMining関数ORE1.5

101

package ORE Function OracleDataMiningAlgorithm OracleDataMiningFunction

OREdm ore.odmAI MinimumDescriptionLength AttributeImportanceforClassificationorRegression

ore.odmAssocRules Apriori AssociationRules

ore.odmDT DecisionTree Classification

ore.odmGLM GeneralizedLinearModels ClassificationandRegression

ore.odmKMeans k-Means Clustering

ore.odmNB NaiveBayes Classification

ore.odmNMF Non-NegativeMatrixFactorization FeatureExtraction

ore.odmOC OrthogonalPartitioningCluster(O-Cluster) Clustering

ore.odmSVM Support VectorMachines ClassificationandRegression

Page 102: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OREdmパッケージの利用例SupportVectorMachineアルゴリズムの例

x <- seq(0.1, 5, by = 0.02)

y <- log(x) + rnorm(x, sd = 0.2)

dat <-ore.push(data.frame(x=x, y=y))

# Regression

svm.mod <- ore.odmSVM(y~x,dat,"regression",

kernel.function="linear")

summary(svm.mod)

coef(svm.mod)

svm.res <-predict(svm.mod,dat,supplemental.cols="x")

head(svm.res,6)

m <- mtcarsm$gear <- as.factor(m$gear)m$cyl <- as.factor(m$cyl)m$vs <- as.factor(m$vs)m$ID <- 1:nrow(m)MTCARS <- ore.push(m)

# Classificationsvm.mod <- ore.odmSVM(gear ~ .-ID, MTCARS,"classification")summary(svm.mod)coef(svm.mod)svm.res <- predict (svm.mod, MTCARS,"gear")with(svm.res, table(gear,PREDICTION)) # generate confusion matrix# Anomaly Detectionsvm.mod <- ore.odmSVM(~ .-ID, MTCARS,"anomaly.detection")summary(svm.mod)svm.res <- predict (svm.mod, MTCARS, "ID")head(svm.res)table(svm.res$PREDICTION)

Page 103: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Appendix:

OREの管理について

OracleDataMiningとの連携

OracleRAdvancedAnalyticsforHadoop

103

Page 104: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

OracleRAdvancedAnalyticsforHadoop• RとHadoopを活用した分析のためのソフトウェア

• Oracle R Advanced Analytics for Hadoopで実現する機能1. HDFS上のデータへのR言語からのアクセス

2. Hiveを利用したデータ処理をRから透過的に利用可能

3. RからOracle提供の関数を利用し、データマイニングを分散並列処理(MapReduce、Sparkの開発不要)

• 回帰分析、クラスタリング、主因子分析、相関分析、協調フィルタリング・・・

• MapReduceやSparkの処理を書かずともHadoopの並列分散処理の性能を享受できる

4. MapReduceをR言語で記述

5. Oracle DatabaseとHadoopの間のデータの移動をRから指示

104

Page 105: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

対応アルゴリズム

• MapReduceに変換されて実行

– 共分散および相関行列計算 (orch.cov,orch.cor)

– 主因子分析 (orch.princomp,orch.predict)– K-meansクラスタリング (orch.kmeans,orch.predict)

– 線形回帰 (orch.lm,orch.predict)– 一般化線型モデル (orch.glm)– 低ランク行列の因子分解(LowRankMatrixFactorization)を利用した行列補完ー 協調フィルタリングでの利用(orch.lmf)

– 非負行列因子分解 ー 特徴抽出で利用(orch.nmf)

• Spark上の処理に変換されて実行

– ニューラル・ネットワーク (orch.neural)– 一般化線型モデル (orch.glm2)

105

今後、Spark上のアルゴリズムを拡充予定

Page 106: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

orch.neural Performance• Numberofobs 155671

Numberofcolumns 46columns# hidden Elapsed time Elapsed timeneurons (sec) nnet (sec) orch.neural10 934.176 44.18120 1861.812 44.96930 2634.434 35.19640 3674.379 39.21750 4400.551 49.527

• Hardwarespec: SingleBDAnodeMemTotal: 48GBCPUs: 24(3058MHzeach)

結果

• nnet– hiddenneuronの数にしたがって線型に実行時間

が延びる

• orch.neural– 1.5GB以下のデータでは、インメモリのマルチスレッ

ド実装を自動的に呼び出す

– 大量データに関しては、 MapReduceを利用

0

2000

4000

6000

10 20 30 40 50

Seconds

NumberofHidden LayerNodes

nnet

orch.neural

Page 107: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

Sparkによる実装を利用するとさらに高速

©2013Oracle– AllRightsReserved

MapReduceによる実装に較べてSparkによる実装を利用する100倍のオーダーで高速https://blogs.oracle.com/R/entry/oracle_r_advanced_analytics_for

Page 108: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ArchitectureClientHost(e.g.,laptop)

Rengineorhc

HadoopClusterSoftware

JavaVM

ServerMachine(e.g.,BigDataAppliance)

Rengineorhc-drv package JavaVM

DBMSMachine(e.g.,Exadata)

Rengine

ORElibraries

OracleDatabase

OREpackages

HadoopCluster

TaskTracker

…TaskTracker

JobTracker

MapReducenodes

HDFSnodes

Datanode

Datanode

Namenode

OREpackages

OREclientpackagesorhc

HadoopとOracleDatabaseの間のデータの移動をRから指示

→計算量の必要な処理をHadoop側にオフロード可能

Page 109: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

既知の問題

• DBにゴミがたまります• ore.disconnect()をすると消えるかも。– ただ、溜まってしまっているものはRから

は消せないかも。– drop tableで直接なら消せます....

• DM$は、、モデルの残骸dbms_data_mining.drop_model(ʼモデル名')– モデル名は user_mining_models

ビューで確認

SQL> select * from tab ;

TNAME TABTYPE CLUSTERID------------------------------ ------- ----------DM$PAORE$27_572 TABLEDM$PAORE$27_623 TABLE.....DM$PMORE$39_44 TABLEDM$PMORE$45_252 TABLEHOGE TABLEHOGE01 TABLEORE$20_23 TABLEORE$20_25 TABLE...........ORE$39_39 VIEW.........ORE$50_697_V VIEWORE$50_700 TABLE.............ORE$5_318 TABLEORE$5_331 TABLE

Page 110: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

ore.randomForestランダムフォレスト

• ORE 1.5から Oracleの実装のランダムフォレストがあります– ランダムフォレストは決定⽊を弱学習器に利⽤したアンサンブル学習器です– オプションの ore.parallelによって並列実⾏されます

• 簡易検証結果(58列/約25000件)– ⼀回実⾏しただけなので結構誤差あります

110

ore.parallel 時間(s)

randomForest (Client上のRオブジェクト) N/A 95.20

randomForest (ore.pullで取得) N/A 107.16

ore.randomForest (DB表) 1 104.12

ore.randomForest (DB表) 4 53.76

ore.randomForest (DB表) 16 40.86

Page 111: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

StartwithaBusinessProblemStatementClearlyDefineProblem

“IfIhadanhourtosolveaproblemI'dspend55minutesthinkingabouttheproblemand5minutesthinkingaboutsolutions.”

― AlbertEinstein

Page 112: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

BeSpecificinProblemStatementPoorlyDefined Better DataMiningTechnique

Predictemployeesthatleave •Basedonpastemployeesthatvoluntarily left:• CreateNewAttributeEmplTurnover à O/1

Predictcustomersthatchurn •Basedonpastcustomersthathavechurned:• CreateNewAttributeChurn à YES/NO

Target“best”customers •Recency,FrequencyMonetary(RFM)Analysis•SpecificDollarAmountoverTimeWindow:

• Whohasspent$500+inmostrecent18months

HowcanImake more$$? •Whathelpsmesellsoftdrinks&coffee?

Whichcustomersarelikelytobuy? •How muchiseachcustomerlikelytospend?

Whoaremy“bestcustomers”? •Whatdescriptive“rules”describe“bestcustomers”?

HowcanIcombatfraud? •Whichtransactions arethemostanomalous? • Thenroll-uptophysician,claimant,employee,etc.

Page 113: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.| 113

Page 114: Oracle R Enterprise のセットアップ

Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|

s

114

マーカー

Page 115: Oracle R Enterprise のセットアップ

115