View
192
Download
4
Embed Size (px)
Citation preview
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
OracleAdvancedAnalyticsOracleREnterpriseのセットアップ~ データベースで大量データ分析をするために ~
日本オラクル株式会社
1
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.| 2
Safe Harbor Statement以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標または商標です。他社名又は製品名は、それぞれ各社の商標である場合があります。
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
このドキュメントの対象読者
対象
• OracleREnterprise(ORE)の環境を構築する人
• ORE環境をメンテナンスする人
前提スキル
• Linuxの場合、Linuxの普通の管理操作 (yumなど)• OracleDBの基本的な管理
• Rをさわったことがあると望ましい(知らなくても大概大丈夫です)
3
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Agenda
OracleREnterprise概要
OracleREnterpriseのアーキテクチャ
OracleREnterpriseのインストール手順
まとめ
4
素材のプチッチhttp://putiya.com/
イラストわんパグ
http://www.wanpug.com/
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
OracleAdvancedAnalytics製品概観
5
OracleAdvancedAnalytics
OracleDataMining OracleREnterprise
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
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..
ビッグデータ時代のエンタープライズな
分析基盤を提供
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
OracleAdvancedAnalytics- OracleREnterpriseOracleREnterprise製品概要
8
特⻑• Rでの分析処理をデータベースへオフロード
– データ移動コスト(時間)をカット– パワフルなデータベースサーバ内で処理
• エンタープライズなRユーザのための機能– R関数の並列実⾏のためのインターフェイスを⽤意– Rオブジェクト、モデルをDBに保存、Rからデータベースの操作も可能– Oracle Data Mining機能をRから呼び出して利⽤が可能– ⼤規模分析のため並列処理実装されたR関数(オリジナルパッケージ)
デスクトップ利⽤のRの限界を超え、⼤規模なデータセットでの利⽤を可能に
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
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Agenda
OracleREnterprise概要
OracleREnterpriseのアーキテクチャ
OracleREnterpriseのインストール手順
OracleREnterpriseの使い方
まとめ
10
素材のプチッチhttp://putiya.com/
イラストわんパグ
http://www.wanpug.com/
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サーバ
外部プロセス
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
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
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する必要があります
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相当)など
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画像の読み込み、書き込み⽤)など
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でリンクされ利⽤されます)
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パッケージが加わっています。
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Agenda
OracleREnterprise概要
OracleREnterpriseのアーキテクチャ
OracleREnterpriseのインストール手順
まとめ
19
素材のプチッチhttp://putiya.com/
イラストわんパグ
http://www.wanpug.com/
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
OREのインストール全貌
• クライアントマシン上のRからDBに接続し利⽤する場合、サーバとクライアント両⽅にRのインストールが必要になります– ⼤抵上記の構成になるかと思います
• RはOracle R Distributionを利⽤頂いてもよいですし、OSSの Rをソースからビルドして頂く⽅法もあります
• サーバ、クライアントで作業に少し違いがあります
20
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
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インストール
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
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
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
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のインストール、インスタンスの作成に関してはここでは割愛させて頂きます。別途マニュアルなどをご参照ください
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
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
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
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
R,OREのサーバクライアント間のバージョンについてサーバ環境とクライアント環境
基本的にバージョンを揃える指針での運⽤をお薦めします• Rのバージョン
– サーバ⽤のRと揃えておいた⽅がよいかと思います• 埋め込みRの実⾏時にはクライアントのRからサーバ側のRにスクリプトを実⾏させ、結果
を取得する動きとなります。そのため3rd PartyのRパッケージなどでもバージョン差異などによる問題が発⽣する可能性があります
• 埋め込みRの実⾏やその他関数の動作確認などの⼿間を減らせるかと思います
• OREのバージョン– OREのバージョンは同⼀であることが必須要件となります
30
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
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
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
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にしておくと必要な依存関係パッケージを⾃動追加してくれるかもしれません
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
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)
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
ご参考:ORD3.2forwindowsインストール画面基本的に[次へ]を押してくだけです
37
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}
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によって差異がある場合があります
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
• ORDをダウンロードします※OREのシステム要件(前述)を満たす必要があります
• インストールを実施します– 上記サイトのINSTALLに詳しい記載へのリンクがあります
• マニュアルは以下になります
ご参考:OracleRDistributionのインストールその他の場合
40
REnterpriseInstallationandAdministrationGuide3.InstallingRforOracleREnterprisehttp://docs.oracle.com/cd/E67822_01/OREAD/install_r.htm
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
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 など)
例
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
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
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 ;
!!
例
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
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ユーザ⽤の⼀時表領域を指定します
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を実際に接続して利⽤するユーザを指定します※作成済みであれば後の表領域などの選択肢はでてきません。⼊⼒⽂字は表⽰されないです。
利⽤するユーザのデフォルト表領域と⼀時表領域、パスワードを⼊⼒します※作成済みであればこの質問はでてきません。
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キーでインストールが開始されます
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 パッケージもインストールされます
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
OREサーバのセットアップ補足:Serverスクリプトがやっていること
• サーバ⽤インストールスクリプト (serverスクリプト)では、概ね以下の作業をしています– RQSYSユーザの作成、スキーマオブジェクトの作成
51
余力ができたらまとめてみる予定
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
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 を終了します。
>
例
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 をロード中です>
例
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
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
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
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
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Oracle DBクライアントご参考:OracleInstantClient(Windows版)
• Windowsの場合、右記の2つをダウンロードします
59
※Linux, zip版, RPM版も基本的に同様の2つをダウンロードします
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Oracle DBクライアントOracleInstantClientのインストール
• Oracle Instant Clientは以下の⼿順でインストールできます• basicとsdkのアーカイブを同じインストールフォルダにコピーします• ダウンロードしたbasicを解凍します• 同じディレクトリでダウンロードしたsdkを上書き展開します• 環境変数を設定します
60
WindowsOCI_LIB64環境変数
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Oracle DBクライアントご参考:OracleInstantClient(Windows版)環境設定 - Windows7の例
• Windowsメニュー のコンピュータを右クリックしプロパティを左クリック
61
• システムの詳細設定を左クリック
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Oracle DBクライアントご参考:OracleInstantClient(Windows版)環境設定 - Windows7の例
• 詳細設定タブの環境変数をクリック
62
システム環境変数の• OCI_LIB64 を インストールディレクトリ
(instantclient_<version> )に設定• Path環境変数 に同じインストールディレクトリを追加
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
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
再掲
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
再掲
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
R,OREのサーバクライアント間のバージョンについてサーバ環境とクライアント環境
基本的にバージョンを揃える指針での運⽤をお薦めします• Rのバージョン
– サーバ⽤のRと揃えておいた⽅がよいかと思います• 埋め込みRの実⾏時にはクライアントのRからサーバ側のRにスクリプトを実⾏させ、結果
を取得する動きとなります。そのため3rd PartyのRパッケージなどでもバージョン差異などによる問題が発⽣する可能性があります
• 埋め込みRの実⾏やその他関数の動作確認などの⼿間を減らせるかと思います
• OREのバージョン– OREのバージョンは同⼀であることが必須要件となります
66
再掲
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
再掲
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
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
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にしておくと必要な依存関係パッケージを⾃動追加してくれるかもしれません
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
再掲
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)
再掲
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
ご参考:ORD3.2forwindowsインストール画面基本的に[次へ]を押してくだけです
73
再掲
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}
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によって差異がある場合があります
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/
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
有効 無効
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
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 など)
例
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
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
基本的な作業はRのパッケージをインストールするだけです• 対象パッケージをダウンロードします• ダウンロードしたファイルを展開します• Rパッケージとしてインストールを⾏います
OREClientのインストール概要
81
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
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
• Rパッケージたちをインストールします– 残念ながら現時点ではスクリプトなどはついていません。– R CMD INSTALL コマンドでインストールしていくことになります
• RStudioがある場合には RStudioの[Tools]から[Install Packages] でファイル指定でもインストールできます
• ORE 1.5に関しては次⾴以降にコピペ⽤スクリプトも⽤意しました
OREClientのインストールRパッケージのインストール
83
$ R CMD INSTALL <アーカイブ名>
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
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
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.
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
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
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.
例
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)
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Agenda
OracleREnterprise概要
OracleREnterpriseのアーキテクチャ
OracleREnterpriseのインストール手順
まとめ
91
素材のプチッチhttp://putiya.com/
イラストわんパグ
http://www.wanpug.com/
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
まとめまとめ
• OREのインストール・セットアップについて記載しました• OREはサーバ・クライアント構成になります
– 構築作業はサーバ側、クライアント側で少し違う作業になります• Rに関しては、ORDとOSS Rが選択可能です
– OSS Rの場合、少し⼿順が複雑になります– ORDの場合、数学関数⾼速化ライブラリのリンクも楽です
• OREサーバはserverスクリプトによって簡単に構築できます– デフォルトでは対話型での構築になります
92
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.| 93
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Appendix:
OREの管理について
OracleDataMiningとの連携
OracleRAdvancedAnalyticsforHadoop
94
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
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との連携も検討
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');
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Appendix:
OREの管理について
OracleDataMiningとの連携
OracleRAdvancedAnalyticsforHadoop
98
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
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対応モデル
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
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)
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Appendix:
OREの管理について
OracleDataMiningとの連携
OracleRAdvancedAnalyticsforHadoop
103
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
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上のアルゴリズムを拡充予定
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
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
Sparkによる実装を利用するとさらに高速
©2013Oracle– AllRightsReserved
MapReduceによる実装に較べてSparkによる実装を利用する100倍のオーダーで高速https://blogs.oracle.com/R/entry/oracle_r_advanced_analytics_for
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側にオフロード可能
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
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
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
StartwithaBusinessProblemStatementClearlyDefineProblem
“IfIhadanhourtosolveaproblemI'dspend55minutesthinkingabouttheproblemand5minutesthinkingaboutsolutions.”
― AlbertEinstein
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.
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.| 113
Copyright©2015 Oracleand/oritsaffiliates.Allrightsreserved.|
s
114
マーカー
115