5.10 關於解譯器連結和記事本

解譯器是一種 Plug-in,可讓您使用特定的資料處理語言後端。

對於 Oracle Machine Learning UI 中的 Zeppelin Notebook,您可以在 Oracle Database 解譯器群組中使用 SQL、PL/SQL、Python 和 R 解譯器,以及純文字格式語法的 Markdown 解譯器,以便將其轉換為 HTML。您可以使用 Conda 解譯器連線至 Conda 環境,以及使用 Python 第三方磁帶櫃套裝軟體。

若要使用這些解譯器,您必須在記事本段落開頭使用這些指令
  • SQL - %sql
  • PL/SQL - %script
  • Python - %python
  • R - %r
  • 減價 - %md
  • Conda - %conda
記事本包含內部連結清單,這些連結定義解譯器群組中解譯器連結的順序。Oracle Database 解譯器群組中解譯器連結的預設順序為:
  • - 為資料庫內作業提供最低層次的資源,通常是序列 (非平行) 執行。它支援多位使用者所進行的並行資料庫作業數目上限。優先順序低的解譯器會列在解譯器清單的最上方,因此這是預設值。
  • - 提供固定數目的 CPU,以平行方式執行資料庫內作業。它支援有限數目的並行使用者,通常為配置給可插式資料庫的 CPU 數目 1.25 倍。
  • - 提供最高層次的 CPU,以平行方式執行資料庫內作業,最多可配置給可插式資料庫的 CPU 數目。它提供最高效能,但支援最少的並行資料庫內作業數目,通常為 3。
對於解譯器連結,您可以執行下列工作:
  • 連結和解除連結解譯器:如果您未將任何特定解譯器連結至您的筆記型電腦,則會收到錯誤訊息:
    Not supported interpreter <name of interpreter>
  • 設定及重新排序解譯器連結。如果您要針對記事本中的特定段落使用特定的解譯器,您可以設定和重新排序解譯器連結。在此情況下,您必須選取該段落的特定解譯器。
  • 變更記事本中任何特定段落的解譯器連結
在下列情況下,您必須注意解譯器連結順序:
  • 記事本建立 - 當您建立記事本時,記事本會繼承初始解譯器連結順序,此順序為低 (預設)、中、高。
  • 記事本匯入 - 匯入記事本時,記事本會繼承定義的解譯器連結。不過,匯入記事本之後,請務必檢查解譯器連結的順序,以及是否選取必要的解譯器。
  • 記事本匯出 - 匯出記事本時,記事本會繼承定義的解譯器連結。
  • 從樣板建立記事本 - 當您從樣板建立記事本時,記事本會繼承解譯器連結的預設順序。

5.10.1 變更記事本中特定段落的解譯器連結

為記事本設定的解譯器連結順序適用於該記事本中的所有段落。不過,您可以針對記事本中任何特定段落覆寫 SQL、PL/SQL、R、Python 以及 Conda 解譯器的解譯器連結。

若要使用這些解譯器,您必須在記事本段落開頭使用這些指令
  • SQL - %sql
  • PL/SQL - %script
  • Python - %python
  • R - %r
  • 減價 - %md
  • Conda - %conda

附註:

請勿覆寫 Python 段落解譯器連結,因為它們不會共用相同的 Python 引擎後端。
變更記事本中特定段落的解譯器連結:
  1. 開啟記事本,然後按一下齒輪圖示,即可檢視解譯器連結及其順序。
    記事本編輯器選項
    在此範例中,這三個 SQL 解譯器會連結到筆記型電腦,而 low 資源配置 adwpcwdp_low %sql 的解譯器則是預設值,因為這是清單上的第一個解譯器。Markdown 解譯器未連結至記事本

    附註:

    解譯器的名稱格式為 databasename_low, databasename_mediumdatabasename_high,與解譯器連結順序名稱相同。
    在此範例中,解譯器名稱為:
    • 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)

    圖 5-9 解譯器連結

    解譯器連結
    清單中的第一個 Python 解譯器是用來執行筆記型電腦中的所有 Python 段落。例如,如果選取 low 連結,則會使用 low 連結 Python 解譯器執行所有 Python 段落。具有 SQL 和 Script 解譯器連結的所有其他段落都是使用 low 資料庫名稱服務 (即 adwp_low) 執行。如果有任何 Python 命令檔對資料庫執行查詢,則這些查詢會使用 low 資料庫名稱服務執行,也就是此範例中的 adwp_low
  2. 變更記事本中特定段落的解譯器連結順序:
    • 向下捲動至您要變更解譯器的段落
    • 使用特定連結呼叫解譯器
    • 執行段落
    例如,在記事本的第一個段落輸入 %adwp_medium,呼叫中等資源配置的解譯器,然後執行段落。在此範例中,adwp 是資料庫名稱。
    修改的解譯器連結順序
    請注意,變更解譯器連結之後,第一個段落執行時不會發生任何錯誤。此記事本中的第二個段落具有預設連結。
  3. 輸入 SQL 敘述句 SELECT SYS_CONTEXT ('USERENV', 'SERVICE_NAME') FROM DUAL; 來驗證此記事本第一個段落的解譯器連結
    SQL 陳述式會傳回有關具有中繫結之解譯器的下列資訊:
    LGKFDTOOBOQK48I_CWDP_medium.adwc.oraclecloud.com
    變更後驗證段落的解譯器連結
    在此範例中,參照螢幕擷取畫面:
    • LGKFDTOOBOQK48I 是用戶名稱
    • CWDP 是資料庫名稱
    • medium 是服務名稱
    • adwc.oraclecloud.com 是網域

    附註:

    對於此記事本中的其餘段落,預設為解譯器連結。您可以執行步驟 3 來驗證每個段落的連結。
    這會完成變更記事本中特定段落的解譯器連結作業。記事本中其餘段落具有解譯器的預設連結。

5.10.2 設定記事本的解譯器連結

您必須將記事本連結至解譯器,才能從資料庫或任何資料來源擷取資料。有一組預設的解譯器連結可供使用。

如果您有一個以上的可用集合,您可以設定解譯器連結的順序。設定解譯器連結的順序:
  1. 記事本頁面上,按一下您要設定解譯器連結的記事本。
    記事本會以編輯模式開啟。
  2. 按一下頂端面板的齒輪圖示。
    NB 編輯器選項
    設定值窗格便會開啟,列出記事本的解譯器連結。
  3. 拖放解譯器來重新排序解譯器連結。預設值為清單上的第一個解譯器。解譯器連結的順序如下:
    • 低 (預設):為資料庫內作業提供最低層次的資源,通常是序列 (非平行) 執行。它支援多位使用者所進行的並行資料庫作業數目上限。優先順序低的解譯器會列在解譯器清單的最上方,因此這是預設值。
    • 媒體:盡可能提供固定數目的 CPU 以平行方式執行資料庫內作業。它支援有限數目的並行使用者,通常為配置給可插式資料庫的 CPU 數目 1.25 倍。
    • 高:提供平行執行資料庫內作業的最高層次 CPU,最多可達配置給可插式資料庫的 CPU 數目。它提供最高效能,但支援最少的並行資料庫內作業數目,通常為 3。
    這是解譯器的初始繫結順序。您可以變更解譯器連結的順序。
  4. 按一下「儲存」。

5.10.3 驗證解譯器連結

設定和變更解譯器連結的順序之後,無論您在指定的記事本中使用 SQL、PL/SQL、R 或 Python 解譯器,您都可以驗證解譯器連結。您可以使用 SQL 敘述句來檢視及驗證記事本的相關解譯器連結資訊。

對於 Python 筆記型電腦,所有 python 段落都會使用解譯器連結。

附註:

對於 Python 筆記型電腦,請勿在段落層級覆寫解譯器繫結。
驗證記事本的解譯器連結:
  1. 開啟您要檢查解譯器連結的記事本。
  2. 執行下列 SQL 敘述句:
    %sql
    SELECT SYS_CONTEXT ('USERENV', 'SERVICE_NAME') FROM DUAL;

    SQL 敘述句提供指定之階段作業所連線的服務名稱。

  3. 按一下 執行
    SQL 敘述句會傳回解譯器、連結順序以及服務名稱的相關資訊。結果會以下列格式顯示:tenantname__databasename_ servicename.domain 。此處:
    • HDY7RUSKGDMPHN2 是用戶名稱
    • PDB1 是資料庫名稱
    • low 是解譯器連結順序
    • adwc.oraclecloud.com 是網域名稱
    解譯器連結驗證