5.10 インタープリタ・バインディングおよびノートブックについて
インタープリタは、バックエンドで特定のデータ処理言語を使用できるようにするプラグインです。
Oracle Machine Learning UIのZeppelinノートブックでは、Oracle Databaseインタープリタ・グループ内のSQL、PL/SQL、PythonおよびRインタープリタと、プレーン・テキストをHTMLに変換できるようにプレーン・テキスト書式設定構文用のMarkdownインタープリタを使用します。Condaインタープリタを使用してConda環境に接続し、Pythonのサードパーティのライブラリ・パッケージを操作します。
これらのインタープリタを使用するには、ノートブックのパラグラフの先頭でこれらのディレクティブを使用する必要があります
- SQL —
%sql
- PL/SQL —
%script
- Python —
%python
- R -
%r
- Markdown —
%md
- Conda —
%conda
ノートブックには、インタープリタ・グループ内のインタープリタ・バインディングの順序を定義するバインディングの内部リストが含まれています。Oracle Databaseインタープリタ・グループ内のインタープリタ・バインディングのデフォルトの順序は、次のとおりです:
- 低 — データベース内操作(通常はシリアル(非パラレル)実行)のための最小レベルのリソースを提供します。複数のユーザーによるデータベース内同時操作の最大数がサポートされています。優先度の低いインタープリタが、インタープリタ・リストの最も上に表示され、デフォルトになります。
- 中 — 可能な場合は、データベース内操作をパラレルに実行する固定数のCPUを提供します。制限された数の同時ユーザーがサポートされています。通常、プラガブル・データベースに割り当てられたCPU数の1.25倍です。
- 高 —プラガブル・データベースに割り当てられたCPUの数まで、データベース内操作をパラレルに実行するCPUの最高レベルのCPUを提供します。パフォーマンスは最高ですが、サポートされているのはデータベース内同時操作の最小数(通常は3)です。
インタープリタ・バインディングに関して、次のタスクを実行できます:
- インタープリタのバインドとバインド解除: 特定のインタープリタをノートブックにバインドしない場合、エラー・メッセージが表示されます:
Not supported interpreter <name of interpreter>
- インタープリタ・バインディングの設定と順序変更。ノートブックの特定のパラグラフに特定のインタープリタを使用する場合は、インタープリタ・バインディングを設定して順序を変更できます。その場合は、そのパラグラフに特定のインタープリタを選択する必要があります。
- ノートブックの特定のパラグラフのインタープリタ・バインディングの変更
次の各シナリオでは、インタープリタ・バインディングの順序に注意する必要があります:
- ノートブックの作成 — ノートブックを作成するとき、そのノートブックは最初のインタープリタ・バインディング順序(低(デフォルト)、中、高)を継承します。
- ノートブックのインポート — ノートブックをインポートするとき、そのノートブックは定義済のインタープリタ・バインディングを継承します。ただし、ノートブックをインポートした後、インタープリタ・バインディングの順序と必要なインタープリタが選択されていることを確認します。
- ノートブックのエクスポート — ノートブックをエクスポートするとき、そのノートブックは定義済のインタープリタ・バインディングを継承します。
- テンプレートからのノートブックの作成 — テンプレートからノートブックを作成するとき、そのノートブックはデフォルトのインタープリタ・バインディングの順序を継承します。
- ノートブックの特定のパラグラフのインタープリタ・バインディングの変更
ノートブックに設定されているインタープリタ・バインディング順序は、そのノートブックのすべてのパラグラフに適用されます。ただし、ノートブック内の特定のパラグラフのSQL、PL/SQL、R、PythonおよびCondaインタープリタのインタープリタ・バインディングは上書きできます。 - ノートブックのインタープリタ・バインディングの設定
データベースまたはデータ・ソースからデータをフェッチするために、ノートブックをインタープリタにバインドする必要があります。デフォルトのインタープリタ・バインディング・セットが使用可能です。 - インタープリタ・バインディングの検証
インタープリタ・バインディングの順序を設定および変更した後は、特定のノートブックでSQL、PL/SQL、RまたはPythonインタープリタを使用しているかどうか、インタープリタ・バインディングを検証できます。SQL文を使用して、ノートブックに関するインタープリタ・バインディング情報を表示および検証します。
5.10.1 ノートブックの特定のパラグラフのインタープリタ・バインディングの変更
ノートブックに設定されているインタープリタ・バインディング順序は、そのノートブックのすべてのパラグラフに適用されます。ただし、ノートブック内の特定のパラグラフのSQL、PL/SQL、R、PythonおよびCondaインタープリタのインタープリタ・バインディングは上書きできます。
これらのインタープリタを使用するには、ノートブックのパラグラフの先頭でこれらのディレクティブを使用する必要があります
- SQL —
%sql
- PL/SQL —
%script
- Python —
%python
- R -
%r
- Markdown —
%md
- Conda —
%conda
ノート:
Pythonパラグラフのインタープリタ・バインディングは同じPythonエンジン・バックエンドを共有しないため、オーバーライドしないでください。ノートブックの特定のパラグラフのインタープリタ・バインディングを変更するには:
親トピック: インタープリタ・バインディングおよびノートブックについて
5.10.2 ノートブックのインタープリタ・バインディングの設定
データベースまたはデータ・ソースからデータをフェッチするために、ノートブックをインタープリタにバインドする必要があります。デフォルトのインタープリタ・バインディング・セットが使用可能です。
使用可能なインタープリタ・バインディング・セットが複数ある場合は、その順序を設定できます。インタープリタ・バインディングの順序を設定するには:
5.10.3 インタープリタ・バインディングの検証
インタープリタ・バインディングの順序を設定および変更した後は、特定のノートブックでSQL、PL/SQL、RまたはPythonインタープリタを使用しているかどうか、インタープリタ・バインディングを検証できます。SQL文を使用して、ノートブックに関するインタープリタ・バインディング情報を表示および検証します。
Pythonノートブックの場合、インタープリタ・バインディングはすべてのPythonパラグラフに使用されます。
ノート:
Pythonノートブックでは、パラグラフ・レベルでインタープリタ・バインディングを上書きしないでください。ノートブックのインタープリタ・バインディングを検証するには:
親トピック: インタープリタ・バインディングおよびノートブックについて