3.2.3.5.1 Oracle Machine Learning for Rオブジェクトの永続化について

OML4Rのデータストアを使用すると、Rオブジェクトをデータベースに保存できます。

Rオブジェクト(OML4Rプロキシ・オブジェクトを含む)は、明示的に保存しないかぎり現行のRセッションの間存在します。Rオブジェクトの保存およびリストア用の標準のR関数(saveおよびload)は、ファイルに格納するためにRメモリー内のオブジェクトをシリアライズし、メモリーにリストアするためにデシリアライズします。ただし、OML4Rプロキシ・オブジェクトに対しては、それらの関数はプロキシ・オブジェクトに関連付けられているデータベース・オブジェクトをOracle Databaseに保存しないため、保存されたプロキシ・オブジェクトは別のRセッションでは正しく動作しません。

OML4Rプロキシ・オブジェクト、および任意のRオブジェクトは、ore.save関数を使用して保存できます。ore.save関数はOML4Rデータストアを指定します。データストアは、Rセッションの終了時にデータベースに保持されます。データストアは、自身が含まれているオブジェクトの参照整合性を保持します。ore.load関数を使用して、データストア内のオブジェクトを別のRセッションにリストアできます。

データストアを使用して、次のことを実行できます。

  • OML4Rおよび作成したその他のRオブジェクトを1つのRセッションに保存し、別のRセッションにリストアします。

  • Embedded R Executionで使用するためにR関数に引数を渡します。

  • Embedded R Executionで使用するためにオブジェクトを渡します。たとえば、OREdmパッケージ内の関数を使用してOracle Machine Learning for SQLモデルを構築し、それをデータストアに保存することもできます。その後、Embedded R Executionを介してそのモデルを使用してデータベースのデータをスコアリングできます。Embedded R Execution関数でのデータストアの使用例は、例10-6を参照してください。

次の表にデータストアを操作する関数をリストし、その簡単な説明を示します。

表3-1 データストアを操作する関数

関数 説明

ore.datastore

現行のOracle Databaseスキーマのデータストアに関する情報をリストします。

ore.datastoreSummary

現行のOracle Databaseスキーマの指定したデータストアに関する詳細な情報を提供します。

ore.delete

現行のOracle Databaseスキーマからデータストアを削除します。

ore.grant データストアへ読取りアクセス権を付与します。

ore.lazyLoad

データストアからオブジェクトをR環境に遅延リストアします。

ore.load

データストアからオブジェクトをR環境にリストアします。

ore.revoke データストアへの読取りアクセス権を取り消します。

ore.save

Rオブジェクトを新規または既存のデータストアに保存します。

関連項目:

Embedded R Executionに対するRインタフェースおよびSQLインタフェースの使用の詳細は、Oracle R EnterpriseのEmbedded R Executionの使用方法を参照してください。