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 , pl/sql and python 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.