About Interpreter Bindings and Notebooks
An interpreter is a plug-in that allows you to use a specific data processing language backend.
For the Zeppelin Notebooks in Oracle Machine Learning, you use the sql
and pl/sql
interpreters within an Oracle Database interpreter group and the md
(MarkDown) interpreter for plain text formatting syntax so that it can be converted to HTML.
Notebooks contain an internal list of bindings that define the order of the interpreter bindings in an interpreter group. The default order of interpreter bindings in the Oracle Database interpreter group is:
- Low - Provides the least level of resources for in-database operations, typically serial (non-parallel) execution. It supports the maximum number of concurrent in-database operations by multiple users. The interpreter with low priority is listed at the top of the interpreter list, and hence, is the default.
- Medium - Provides a fixed number of CPUs to execute in-database operations in parallel, where possible. It supports a limited number of concurrent users, typically 1.25 times the number of CPUs allocated to the pluggable database.
- High - Provides the highest level of CPUs to execute in-database operations in parallel, up to the number of CPUs allocated to the pluggable database. It offers the highest performance, but supports the minimum number of concurrent in-database operations, typically 3.
With respect to interpreter bindings, you can perform the following tasks:
- Bind and unbind interpreters: If you do not bind any specific interpreter to your notebook, then you get the error message:
Not supported interpreter <name of interpreter>
- Set and re-order interpreter bindings. You may want to set and re-order interpreter bindings if you want to use a specific interpreter for a specific paragraph in a notebook. In that case, you have to select the specific interpreter for that paragraph.
- Change the interpreter binding for any specific paragraph in a notebook
You must note the interpreter binding order in the following scenarios:
- Notebook creation: When you create a notebook, the notebook inherits the initial interpreter binding order, which is low (default), medium, high.
- Notebook import: When importing a notebook, the notebook inherits the defined interpreter bindings. However, after you import a notebook, ensure to check the order of the interpreter bindings and that the required interpreters are selected.
- Notebook export: When exporting a notebook, the notebook inherits the defined interpreter bindings.
- Notebook creation from templates: When you create a notebook from templates, the notebook inherits the default order of interpreter bindings.
- Set Interpreter Bindings for Notebooks
You must bind a notebook to an interpreter to fetch data from the database or any data source. A default set of interpreter bindings is available. - Change Interpreter Bindings for Specific Paragraphs in a Notebook
The interpreter binding order that is set for a notebook applies to all the paragraphs in that notebook. However, you can override the interpreter binding for SQL and PL/SQL interpreters for any specific paragraph in the notebook. - Verify Interpreter Bindings
After setting and changing the order of interpreter bindings, you can verify the interpreter bindings whether you are using SQL or Python interpreter or both in a given notebook. You use a SQL statement to view and verify the interpreter binding information about your notebook.