5.10 Info zu Interpreter-Bindings und Notizbüchern

Ein Interpreter ist ein Plug-in, mit dem Sie ein bestimmtes Backend der Datenverarbeitungssprache verwenden können.

Für die Zeppelin-Notizbücher in der Oracle Machine Learning-UI verwenden Sie die SQL-, PL/SQL-, Python- und R-Interpreter in einer Oracle Database-Interpretergruppe und den Markdown-Interpreter für die Syntax für die Nur-Text-Formatierung, damit sie in HTML konvertiert werden kann. Mit dem Conda-Interpreter stellen Sie eine Verbindung zur Conda-Umgebung her und arbeiten mit Python-Library-Packages von Drittanbietern.

Um diese Dolmetscher zu verwenden, müssen Sie diese Anweisungen am Anfang des Absatzes in einem Notizbuch verwenden
  • SQL - %sql
  • PL/SQL: %script
  • Python - %python
  • R - %r
  • Preisabschrift - %md
  • Conda - %conda
Notizbücher enthalten eine interne Liste von Bindings, mit denen die Reihenfolge der Interpreter Bindings in einer Interpretergruppe definiert wird. Die Default-Reihenfolge der Interpreter Bindings in der Interpreter-Gruppe von Oracle Database lautet:
  • Niedrig - Bietet die geringste Ressourcenebene für datenbankinterne Vorgänge, in der Regel serielle (nicht parallele) Ausführung. Es unterstützt die maximale Anzahl gleichzeitiger datenbankinterner Vorgänge durch mehrere Benutzer. Der Interpreter mit niedriger Priorität wird oben in der Interpreterliste aufgeführt und ist daher der Standardwert.
  • Mittel - Stellt eine feste Anzahl von CPUs bereit, um datenbankinterne Vorgänge nach Möglichkeit parallel auszuführen. Es unterstützt eine begrenzte Anzahl gleichzeitiger Benutzer, in der Regel das 1,25-fache der CPUs, die der integrierbaren Datenbank zugewiesen sind.
  • Hoch - Bietet die höchste CPU-Ebene für die parallele Ausführung datenbankinterner Vorgänge bis zur Anzahl der CPUs, die der integrierbaren Datenbank zugewiesen sind. Es bietet die höchste Performance, unterstützt jedoch die Mindestanzahl gleichzeitiger datenbankinterner Vorgänge, in der Regel 3.
Bei Interpreter Bindings können Sie die folgenden Aufgaben ausführen:
  • Bind- und Unbind-Interpreter: Wenn Sie keinen bestimmten Interpreter an Ihr Notizbuch binden, wird die folgende Fehlermeldung angezeigt:
    Not supported interpreter <name of interpreter>
  • Interpreter Bindings festlegen und neu anordnen Sie können Interpreter-Bindings festlegen und neu anordnen, wenn Sie einen bestimmten Interpreter für einen bestimmten Absatz in einem Notizbuch verwenden möchten. In diesem Fall müssen Sie den spezifischen Dolmetscher für diesen Absatz auswählen.
  • Ändern der Interpreterbindung für einen bestimmten Absatz in einem Notizbuch
Beachten Sie die Interpreter-Binding-Reihenfolge in den folgenden Szenarios:
  • Notizbucherstellung - Wenn Sie ein Notizbuch erstellen, erbt das Notizbuch die anfängliche Interpreter-Binding-Reihenfolge, die niedrig (Standard), mittel, hoch ist.
  • Notizbuchimport - Beim Importieren eines Notizbuchs erbt das Notizbuch die definierten Interpreter-Bindings. Stellen Sie jedoch nach dem Import eines Notizbuchs sicher, dass Sie die Reihenfolge der Interpreter-Bindings prüfen und die erforderlichen Interpreter auswählen.
  • Notizbuchexport - Beim Exportieren eines Notizbuchs erbt das Notizbuch die definierten Interpreter-Bindings.
  • Notizbucherstellung aus Vorlagen - Wenn Sie ein Notizbuch aus Vorlagen erstellen, erbt das Notizbuch die Standardreihenfolge von Interpreter Bindings.

5.10.1 Interpreter-Bindings für bestimmte Absätze in einem Notizbuch ändern

Die für ein Notizbuch festgelegte Interpreter-Bindungsreihenfolge gilt für alle Absätze in diesem Notizbuch. Sie können jedoch das Interpreter Binding für SQL-, PL/SQL-, R-, Python- und Conda-Interpreter für jeden bestimmten Absatz im Notizbuch außer Kraft setzen.

Um diese Dolmetscher zu verwenden, müssen Sie diese Anweisungen am Anfang des Absatzes in einem Notizbuch verwenden
  • SQL - %sql
  • PL/SQL: %script
  • Python - %python
  • R - %r
  • Preisabschrift - %md
  • Conda - %conda

Hinweis:

Setzen Sie keine Python-Absatzinterpreter-Bindings außer Kraft, da sie nicht dasselbe Python-Engine-Backend verwenden.
So ändern Sie die Interpreterbindung für einen bestimmten Absatz in einem Notizbuch:
  1. Öffnen Sie das Notizbuch, und klicken Sie auf das Zahnradsymbol, um die Interpreter-Bindungen und deren Reihenfolge anzuzeigen.
    Optionen für Notizbucheditor
    In diesem Beispiel sind alle drei SQL-Interpreter an das Notizbuch gebunden. Der Interpreter mit der Ressourcenzuweisung low adwpcwdp_low %SQL ist der Standardwert, da er der erste Interpreter in der Liste ist. Der Preisabschrift-Interpreter ist nicht an das Notizbuch gebunden

    Hinweis:

    Die Namen der Interpreter haben das Format databasename_low, databasename_medium und databasename_high, das dem Namen der Interpreter-Binding-Reihenfolge entspricht.
    In diesem Beispiel lauten die Interpreternamen:
    • adwp_low % sql(default),%script, %python, %r, %conda
    • adwp_medium % sql(default),%script, %python, %r, %conda
    • adwp_high % sql(default), %script,%python, %r, %conda
    • md %md(default)

    Abbildung 5-9 Interpreter-Bindings

    Interpreter-Bindings
    Der erste Python-Interpreter in der Liste wird verwendet, um alle Python-Absätze im Notizbuch auszuführen. Beispiel: Wenn das low-Binding ausgewählt ist, werden alle Python-Absätze mit dem Python-Interpreter für das low-Binding ausgeführt. Alle anderen Absätze mit SQL- und Skript-Interpreter-Bindings werden mit dem Datenbanknamenservice low ausgeführt, d.h. adwp_low. Wenn Python-Skripte Abfragen für die Datenbank ausführen, werden diese Abfragen mit dem Datenbanknamenservice low ausgeführt, d.h. in diesem Beispiel adwp_low.
  2. So ändern Sie die Interpreter-Bindingsreihenfolge für einen bestimmten Absatz im Notizbuch:
    • Scrollen Sie nach unten zu dem Absatz, für den Sie den Interpreter ändern möchten
    • Rufen Sie den Dolmetscher mit der spezifischen Bindung an
    • Absatz ausführen
    Beispiel: Rufen Sie den Interpreter mit mittlerer Ressourcenzuweisung auf, indem Sie %adwp_medium für den ersten Absatz im Notizbuch eingeben und den Absatz ausführen. In diesem Beispiel ist adwp der Datenbankname.
    Geänderte Interpreter-Binding-Reihenfolge
    Beachten Sie, dass der erste Absatz ohne Fehler ausgeführt wird, nachdem das Interpreter Binding geändert wurde. Der zweite Absatz in diesem Notizbuch hat die Standardbindung.
  3. Validieren Sie das Interpreter Binding für den ersten Absatz dieses Notizbuchs, indem Sie die SQL-Anweisung SELECT SYS_CONTEXT ('USERENV', 'SERVICE_NAME') FROM DUAL; eingeben.
    Die SQL-Anweisung gibt folgende Informationen über den Interpreter mit Medium Binding zurück:
    LGKFDTOOBOQK48I_CWDP_medium.adwc.oraclecloud.com
    Interpreterbindung eines Absatzes nach Änderung validieren
    In diesem Beispiel unter Bezugnahme auf den Screenshot:
    • LGKFDTOOBOQK48I ist der Mandantenname.
    • CWDP ist der Datenbankname.
    • medium ist der Servicename.
    • adwc.oraclecloud.com ist die Domain

    Hinweis:

    Für die restlichen Absätze in diesem Notizbuch ist die Interpreterbindung die Standardeinstellung. Sie können die Bindings für jeden Absatz validieren, indem Sie Schritt 3 ausführen.
    Damit ist die Aufgabe abgeschlossen, die Interpreterbindung für einen bestimmten Absatz im Notizbuch zu ändern. Die übrigen Absätze im Notizbuch haben die Standardbindung für den Interpreter.

5.10.2 Interpreter-Bindings für Notizbücher festlegen

Sie müssen ein Notizbuch an einen Interpreter binden, um Daten aus der Datenbank oder einer beliebigen Datenquelle abzurufen. Ein Standardsatz von Interpreter Bindings ist verfügbar.

Sie können die Reihenfolge der Interpreter Bindings festlegen, wenn mehrere Sets verfügbar sind. So legen Sie die Reihenfolge der Interpreter Bindings fest:
  1. Klicken Sie auf der Seite Notizbuch auf das Notizbuch, für das Sie die Interpreter Bindings festlegen möchten.
    Das Notizbuch wird im Bearbeitungsmodus geöffnet.
  2. Klicken Sie auf das Zahnradsymbol im oberen Bereich.
    NB-Editoroptionen
    Im Bereich Einstellungen werden die Interpreter-Bindings für das Notizbuch angezeigt.
  3. Verschieben Sie die Interpreter per Drag-and-Drop, um die Interpreter-Bindings neu anzuordnen. Der erste Interpreter in der Liste ist der Standardwert. Die Reihenfolge der Interpreter Bindings ist:
    • Niedrig (Standard): Bietet die geringste Ressourcenebene für datenbankinterne Vorgänge, in der Regel serielle (nicht parallele) Ausführung. Es unterstützt die maximale Anzahl gleichzeitiger datenbankinterner Vorgänge durch mehrere Benutzer. Der Interpreter mit niedriger Priorität wird oben in der Interpreterliste aufgeführt und ist daher der Standardwert.
    • Medium: Stellt eine feste Anzahl von CPUs bereit, um datenbankinterne Vorgänge nach Möglichkeit parallel auszuführen. Es unterstützt eine begrenzte Anzahl gleichzeitiger Benutzer, in der Regel das 1,25-fache der CPUs, die der integrierbaren Datenbank zugewiesen sind.
    • Hoch: Bietet die höchste CPU-Ebene für die parallele Ausführung datenbankinterner Vorgänge bis zur Anzahl der CPUs, die der integrierbaren Datenbank zugewiesen sind. Es bietet die höchste Performance, unterstützt jedoch die Mindestanzahl gleichzeitiger datenbankinterner Vorgänge, in der Regel 3.
    Dies ist die erste verbindliche Reihenfolge der Dolmetscher. Sie können die Reihenfolge der Interpreter Bindings ändern.
  4. Klicken Sie auf Speichern.

5.10.3 Interpreter-Bindings prüfen

Nachdem Sie die Reihenfolge der Interpreter-Bindings festgelegt und geändert haben, können Sie die Interpreter-Bindings prüfen, unabhängig davon, ob Sie SQL-, PL/SQL-, R- oder Python-Interpreter in einem bestimmten Notizbuch verwenden. Mit einer SQL-Anweisung können Sie die Interpreter Binding-Informationen zu Ihrem Notizbuch anzeigen und prüfen.

Bei Python-Notizbüchern wird das Interpreter Binding für alle python-Absätze verwendet.

Hinweis:

Setzen Sie bei Python-Notizbüchern die Interpreterbindung auf Absatzebene nicht außer Kraft.
So prüfen Sie die Interpreterbindung von Notizbüchern:
  1. Öffnen Sie das Notizbuch, für das Sie die Interpreterbindung prüfen möchten.
  2. Führen Sie die folgende SQL-Anweisung aus:
    %sql
    SELECT SYS_CONTEXT ('USERENV', 'SERVICE_NAME') FROM DUAL;

    Die SQL-Anweisung gibt den Namen des Service an, mit dem eine bestimmte Session verbunden ist.

  3. Klicken Sie auf Ausführen.
    Die SQL-Anweisung gibt die Informationen über den Interpreter, die Reihenfolge des Bindings und den Servicenamen zurück. Das Ergebnis wird im folgenden Format angezeigt: tenantname__databasename_ servicename.domain. Hier:
    • HDY7RUSKGDMPHN2 ist der Mandantenname.
    • PDB1 ist der Datenbankname.
    • low ist die Interpreter-Binding-Reihenfolge
    • adwc.oraclecloud.com ist der Domainname.
    Interpreter-Binding-Validierung