10.5.1 オンプレミス・データベースでのEmbedded Python ExecutionのSQL APIについて

SQL APIを使用すると、Oracleデータベース環境の1つ以上の別個のPythonエンジンでユーザー定義Python関数を実行したり、OML4Pyスクリプト・リポジトリでユーザー定義Python関数を管理したり、データストアおよびスクリプト・リポジトリ内のユーザー定義Python関数へのアクセスを制御したり、それらに関する情報を取得できます。

Embedded Python Execution用のSQLインタフェースは、オンプレミスOracle Databaseインスタンスで使用できます。

OML4Pyには、次のタイプのSQLファンクションおよびプロシージャが用意されています。

  • 1つ以上のデータベースによって生成され管理されるPythonエンジンでユーザー定義Python関数を実行するためのSQL表ファンクション。ユーザー定義Python関数は、OML4Pyデータストア内のPythonオブジェクトを参照し、データベース・サーバー・マシンのPythonエンジンとともにインストールされるサードパーティ・パッケージを使用できます。

  • OML4Pyスクリプト・リポジトリでユーザー定義Python関数を作成および削除するためのPL/SQLプロシージャ。

  • データストアとそこに格納されたデータストア・オブジェクト、およびOML4Pyスクリプト・リポジトリ内のユーザー定義Python関数に対する読取り権限を付与および取り消すためのPL/SQLプロシージャ。

次の表に、Embedded Python ExecutionのSQLファンクションと、データストアおよびユーザー定義Python関数を管理するためのPL/SQLプロシージャを示します。

ファンクションまたはプロシージャ 説明
pyqEvalファンクション

渡されたデータに対してユーザー定義Python関数を実行します。

pyqGroupEvalファンクション

データを1つ以上の列でグループ化し、各グループに対してユーザー定義Python関数を実行します。

pyqTableEvalファンクション

データベースのデータに対してユーザー定義Python関数を実行します。

pyqRowEvalファンクション

ユーザー定義Python関数の呼出しごとに、指定された数の行をパラレル処理で実行します。

pyqGrantプロシージャ

現在のユーザーが所有するユーザー定義Python関数に対する読取り権限を別のユーザーに付与します。

pyqRevokeプロシージャ

別のユーザーに付与された、現在のユーザーが所有するユーザー定義Python関数に対する読取り権限を取り消します。

pyqScriptCreateプロシージャ

スクリプト・リポジトリでユーザー定義Python関数を作成します。

pyqScriptDropプロシージャ

スクリプト・リポジトリからユーザー定義Python関数を削除します。