5.10 인터프리터 바인딩 및 노트북 정보

인터프리터는 특정 데이터 처리 언어 백엔드를 사용할 수 있는 플러그인입니다.

Oracle Machine Learning UI의 Zeppelin Notebooks의 경우 Oracle Database 인터프리터 그룹 내 SQL, PL/SQL, Python 및 R 인터프리터를 사용하고, HTML로 변환할 수 있도록 일반 텍스트 형식 지정 구문에 Markdown 인터프리터를 사용합니다. Conda 인터프리터를 사용하여 Conda 환경에 연결하고 Python 타사 라이브러리 패키지로 작업합니다.

이러한 인터프리터를 사용하려면 노트북의 단락 시작 부분에 이러한 지시어를 사용해야 합니다.
  • SQL - %sql
  • PL/SQL - %script
  • Python - %python
  • R - %r
  • 매가인하 - %md
  • 콘다 - %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

주:

Python 단락 인터프리터 바인딩은 동일한 Python 엔진 백엔드를 공유하지 않으므로 대체하지 마십시오.
노트북의 특정 단락에 대한 인터프리터 바인딩을 변경하려면 다음과 같이 하십시오.
  1. 노트북을 열고 기어 아이콘을 클릭하여 인터프리터 바인딩과 순서를 확인합니다.
    노트북 편집기 옵션
    이 예제에서는 세 개의 SQL 인터프리터가 모두 노트북에 바인드되고 low 리소스 할당이 adwpcwdp_low %sql인 인터프리터가 기본적으로 사용됩니다. 이는 목록의 첫번째 인터프리터이기 때문입니다. 마크다운 인터프리터가 노트북에 바인딩되어 있지 않습니다.

    주:

    인터프리터의 이름은 인터프리터 바인딩 순서 이름과 동일한 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 바인딩을 선택하면 모든 Python 단락이 low 바인딩 Python 인터프리터를 사용하여 실행됩니다. SQL 및 스크립트 인터프리터 바인딩을 사용하는 다른 모든 단락은 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 노트북에 대한 인터프리터 바인딩 설정

데이터베이스나 데이터 소스에서 데이터를 패치(fetch)하려면 노트북을 인터프리터에 바인드해야 합니다. 기본 인터프리터 바인딩 집합을 사용할 수 있습니다.

사용 가능한 세트가 두 개 이상 있는 경우 인터프리터 바인딩 순서를 설정할 수 있습니다. 인터프리터 바인딩 순서를 설정하려면 다음과 같이 하십시오.
  1. 노트북 페이지에서 인터프리터 바인딩을 설정할 노트북을 누릅니다.
    메모장이 편집 모드로 열립니다.
  2. 상단 패널에서 기어 아이콘을 클릭합니다.
    NB 편집기 옵션
    설정 창이 열리고 노트북에 대한 인터프리터 바인딩이 나열됩니다.
  3. 통역자 바인딩 순서를 재지정하려면 인터프리터를 끌어 놓습니다. 목록의 첫번째 인터프리터가 기본값입니다. 인터프리터 바인딩 순서는 다음과 같습니다.
    • 낮음(기본값): 데이터베이스 내 작업(일반적으로 직렬(비병렬) 실행을 위한 최소 레벨의 리소스를 제공합니다. 여러 사용자가 동시에 수행하는 데이터베이스 내 작업의 최대 수를 지원합니다. 우선 순위가 낮은 인터프리터는 인터프리터 목록의 맨 위에 나열되므로 기본값입니다.
    • Medium: 가능한 경우 데이터베이스 내 작업을 병렬로 실행할 고정 개수의 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는 도메인 이름입니다.
    인터프리터 바인딩 검증