11 노트북

이 장에서는 작업 영역에서 노트북 사용 및 관리에 대한 정보를 제공합니다.

노트북에서 코드 개발

데이터 엔지니어와 데이터 과학자는 Oracle AI Data Platform 워크벤치의 노트북을 대화식으로 코드를 개발하고 데이터를 탐색하기 위한 공통 도구로 사용할 수 있습니다.

Oracle AI Data Platform Workbench는 현재 노트북에서 Python, SQL 및 Scala 언어를 지원합니다. 노트북은 워크플로우의 일부로 실행되도록 일정을 잡거나 구성할 수 있습니다. 노트북을 실행하려면 컴퓨트 클러스터를 연결해야 합니다.

AI 데이터 플랫폼 워크벤치에는 직관적인 개발자 경험을 위한 통합 관리형 노트북이 제공됩니다.

노트북에서 사용할 수 있는 코드 예제는 Oracle AI Data Platform Workbench Samples Git 저장소의 샘플 코드를 사용할 수 있습니다.

자동 저장됩니다.

노트북은 2분마다 자동으로 저장됩니다.

노트북 임포트 및 엑스포트

현재 로컬 시스템에서 작업 영역으로 노트북 파일(*.ipynb)을 가져올 수 있습니다.

노트북 익스포트는 현재 지원되지 않습니다.

노트북 생성

관리자 권한이 있는 모든 작업 영역에서 노트북을 생성할 수 있습니다.

  1. Home 페이지에서 작업 영역으로 이동합니다.
  2. 생성을 누르고 노트북을 누릅니다.
  3. 이름 및 설명을 입력하고 생성을 누릅니다.

노트북에 기존 클러스터 연결

노트북은 개발된 코드에 대한 컴퓨팅 성능을 제공하기 위해 연결된 클러스터가 필요합니다.

  1. 홈 페이지에서 작업공간으로 이동하여 노트북을 엽니다.
  2. 작업을 누른 다음 기존 클러스터 연결을 누릅니다.
  3. 목록에서 사용할 클러스터를 누릅니다.
    노트북에 성공적으로 연결되면 Cluster: (ClusterName) running이 표시됩니다. 이 작업은 최대 몇 분 정도 걸릴 수 있습니다.

노트북에 대한 클러스터 생성

노트북 인터페이스에서 직접 새 클러스터를 만들어 즉시 연결할 수 있습니다.

자세한 내용은 컴퓨트 클러스터 정보를 참조하십시오.
  1. 홈 페이지에서 작업공간으로 이동하여 노트북을 엽니다.
  2. 작업을 누른 다음 클러스터 생성을 누릅니다.
  3. 런타임 버전을 선택합니다.
  4. 클러스터에 대한 드라이버 옵션을 선택합니다.
  5. 클러스터에 대한 작업자 옵션을 선택합니다. 이러한 옵션은 모든 클러스터 워커에 적용됩니다.
  6. 워커 수가 정적인지 아니면 자동으로 스케일링되는지 선택합니다.
    • 정적 금액인 경우 워커 수를 지정합니다.
    • 자동 스케일인 경우 클러스터가 확장할 수 있는 최소 및 최대 워커 수를 지정합니다.
  7. 실행 기간에 대해 설정된 비활성 기간 후 클러스터 실행이 정지될지 여부를 선택합니다. 유휴 시간 초과가 선택된 경우 클러스터가 시간 초과되기 전의 유휴 시간(분)을 지정합니다.
  8. 생성을 누릅니다.

기본 언어

노트북을 사용하여 Python, SQL 또는 Scala에서 Apache Spark 코드를 개발하고 실행할 수 있습니다.

노트북의 기본 언어는 Python입니다. 전체 노트북 또는 개별 셀에 대한 기본 언어를 SQL, Scala, Markdown 또는 원시 텍스트로 변경할 수 있습니다. Python, SQL 및 Scala 코드를 동일한 노트북 내의 다른 셀에 결합할 수 있습니다.

노트북에는 Python, SQL 및 Scala에 대한 구문 하이라이트가 있습니다. 노트북의 기본 언어를 기반으로 새 노트북 셀이 생성됩니다.

노트북 관리

직접 노트북의 이름을 바꾸고 삭제할 수 있습니다. 또한 노트북을 복제하여 컨텐츠를 복사하고 새 노트북에서 해당 코드로 작업할 수 있습니다.

작업 영역의 작업 메뉴에서 노트북의 이름을 바꾸고 메모장을 삭제합니다. 노트북을 열고 파일 메뉴에서 복제 옵션을 선택하여 노트북을 복제합니다.

노트북 이름 바꾸기

노트북의 이름이 더 이상 유용하거나 관련이 없는 경우 언제든지 변경할 수 있습니다.

  1. Home 페이지에서 작업 영역으로 이동합니다.
  2. 이름을 바꿀 노트북 옆에 있는 작업, 이름 바꾸기 순으로 누릅니다.
  3. 새 이름을 입력하고 저장을 누릅니다.
  4. 선택 사항: 이름을 누르고 새 메모장을 입력하여 열려 있는 메모장의 이름을 변경할 수도 있습니다.

노트북 삭제

관리자 권한이 있는 노트북을 삭제할 수 있습니다.

  1. 작업 영역으로 이동합니다.
  2. 삭제할 노트북 옆에 있는 작업, 삭제 순으로 누릅니다.
  3. 삭제를 누릅니다.

노트북 복제

기존 노트북을 복제하여 원본을 유지하면서 수정할 수 있는 해당 노트북의 컨텐츠 복사본을 만들 수 있습니다.

  1. 복제할 노트북을 엽니다.
  2. 노트북 도구 모음에서 파일, 복제 순으로 누릅니다.
  3. 복제된 노트북에 대한 새 이름을 입력합니다.
  4. 복제된 노트북을 저장할 작업 영역 폴더를 선택하려면 찾아보기를 누릅니다. 폴더를 선택하지 않으면 복제된 노트북이 복제 중인 노트북과 동일한 폴더에 생성됩니다.
  5. 출력을 포함할 것인지 제외할 것인지 선택합니다. 출력은 기본적으로 포함됩니다. 출력을 제외하려면 선택 항목을 지웁니다.
  6. 복제를 누릅니다. 복제된 노트북은 지정한 작업 영역 폴더에 생성됩니다.

노트북을 편집하는 동안 리소스 찾아보기

노트북에 있는 경우 노트북을 떠나지 않고 왼쪽에 있는 카탈로그 또는 작업공간 객체를 찾아볼 수 있습니다.

왼쪽 창에서 메모장으로 객체를 끌어 놓으면 컨텍스트에 따라 객체 이름 또는 전체 경로가 복사되어 메모장 셀에 붙여 넣습니다.


노트북에 끌어 놓는 객체가 있는 노트북이 열려 있습니다.

왼쪽 창의 각 카탈로그 또는 작업 영역 객체에 사용할 수 있는 버튼 및 컨텍스트 메뉴 옵션도 있습니다. 왼쪽 탐색의 컨텍스트 메뉴에는 샘플 코드 복사, 이름 복사 또는 경로 복사 옵션이 있어 노트북 셀에 붙여 넣을 수 있습니다.


노트북의 왼쪽 창에 표시되는 컨텍스트 메뉴 옵션

노트북 실행

소유한 노트북이나 공유된 노트북에서 코드를 실행할 수 있습니다.

요청 시 실행, 일회성 수동 실행으로 실행 또는 예약된 노트북 작업 생성의 세 가지 방법을 사용하여 노트북에서 코드를 실행할 수 있습니다. 요청 시 실행되는 작업은 한 번만 실행됩니다.

노트북 내에서 터미널 명령 실행

노트북 내에서 '!' 접두어로 기본 터미널 명령 또는 셸 명령을 실행할 수 있습니다. 예를 들어, unzip 명령을 사용하여 작업 영역의 ZIP 파일에서 추출할 수 있습니다.


사용 중인 unzip 명령의 예

셸 스크립트 실행을 위해 Python에서 subprocess 모듈을 사용할 수도 있습니다.


사용 중인 하위 프로세스 명령의 예

셸 명령 대신 파일 압축 해제와 같은 작업에 zipfile과 같은 고유 Python 모듈을 사용할 수도 있습니다.

제한사항

현재 Oracle AI Data Platform Workbench는 파이프 설치, CI/CD, Git 또는 버전 제어 시스템에 대한 기본 지원을 제공하지 않습니다.

노트북 셀에 대한 실행 옵션

노트북의 실행 메뉴는 노트북에서 셀을 실행하는 옵션을 제공합니다.

<여기에 섹션 제목 입력>

노트북 상단의 실행 메뉴에서 노트북에서 셀을 실행하기 위한 모든 옵션을 찾을 수 있습니다.


노트북의 실행 메뉴가 열리고 노트북에서 셀을 실행하는 옵션이 표시됩니다.

표 11-1 노트북 셀에 대한 실행 옵션

옵션 설명
모두 실행 노트북의 모든 셀을 순차적으로 실행합니다.
선택된 셀 실행 현재 선택된 셀을 실행합니다.
위 항목 모두 실행 현재 선택한 셀과 노트북에서 현재 선택한 셀 위에 나타나는 셀을 실행합니다.
아래 모두 실행 현재 선택한 셀과 노트북에서 현재 선택한 셀 아래에 나타나는 셀을 실행합니다.
선택된 텍스트 실행 셀에서 선택한 코드 세그먼트를 실행합니다.
마지막 실행 셀로 이동 노트북에서 가장 최근에 실행된 셀로 이동합니다.
모든 셀 출력 지우기 노트북의 모든 셀에서 출력을 제거합니다.

노트북에서 코드 실행

노트북에서 개발한 모든 코드를 한 번에 실행하거나 한 번에 하나의 셀을 실행할 수 있습니다.

노트북에서 코드를 실행하기 위한 키보드 단축키는 다음과 같습니다.
  • MacOS: Cmd + Return
  • Windows: Ctrl + Enter

노트북 재생 단추 Play 버튼을 눌러 단일 셀에서 코드를 실행하거나 Run all을 눌러 전체 노트북을 실행할 수 있습니다.

  1. 홈 페이지에서 작업 영역을 누릅니다.
  2. 노트북으로 이동합니다.
  3. 모두 실행을 누릅니다.
  4. 워크플로우, 작업 실행 순으로 눌러 노트북 작업 실행 상태를 확인합니다.

다른 노트북에서 코드 실행

노트북에서 %run magic 명령을 사용하여 다른 노트북의 코드를 포함할 수 있습니다.

다음 예에서는 called-notebook.ipynb라는 노트북의 코드를 노트북 caller-notebook.ipynb로 가져옵니다.
  1. nbconvert Python 라이브러리를 설치합니다.
  2. 다음 예와 같이 셀에서 %run 명령을 사용합니다.
    %run /Workspace/folder1/called-notebook.ipynb

이러한 단계를 수행한 후 called-notebook.ipynb라는 노트북은 사용자 주체(예: caller-notebook.ipynb)를 사용하여 즉시 실행되고 caller-notebook.ipynb의 연결된 클러스터를 사용합니다. called-notebook.ipynb에 정의된 모든 함수와 변수는 caller-notebook.ipynb라는 노트북에서 즉시 사용할 수 있게 됩니다.

oidlUtils로 노트북 출력 공유

oidlUtils에서 사용 가능한 유틸리티를 사용하여 노트북 작업으로 콘텐츠 출력을 캡처하고 공유할 수 있습니다.

oidlUtils는 Oracle AI Data Platform Workbench의 모든 사용자가 사용할 수 있는 유틸리티 세트입니다. 노트북 간에 콘텐츠를 공유할 때 oidlUtils를 호출하여 하나의 노트북에 인수를 전달하고 출력을 호출자 노트북에 다시 전달할 수 있으며, 노트북의 작업 작업에서 호출하여 출력을 상위 작업으로 다시 전달할 수 있습니다. 즉, 노트북에서 호출하는 작업을 의미합니다. 이렇게 하면 노트북 작업에서 반환된 구조화된 출력을 캡처하고 사용할 수 있습니다.

이러한 oidlUtils 모듈은 노트북에서 사용할 수 있습니다.

모듈 설명
공책 노트북 작업 실행을 조정하고 단일 구조화된 결과(일반적으로 JSON 문자열)를 호출자에게 반환합니다.
oidlUtils.notebook.run(
    notebook_path: str,
    timeout_seconds: int = 0, (Optional)
    parameters: dict (Optional)
) -> str
공책 노트북이 작업 실행을 종료하고 호출자 노트북 또는 작업/작업 출력 API에 단일 문자열 결과(일반적으로 JSON 페이로드)를 반환하도록 허용합니다.
oidlUtils.notebook.exit(value: str)

예 1: 노트북-노트북 공유

이 예제에서는 노트북 A를 사용하여 노트북 B를 호출합니다. 노트북 B는 노트북 A가 캡처 및 사용하도록 설정된 결과 페이로드를 반환합니다.

노트북 A

result = oidlUtils.notebook.run("NotebookB", 0)
print("Output from Notebook B:", result)
노트북 B
import json

payload = {
"status": "SUCCESS",
"rows_processed": 1234,
"output_table": "sales_gold",
"run_id": "run_2026_02_11"
}

json_payload = json.dumps(payload)
oidlUtils.notebook.exit(str(json_payload))

노트북 B의 출력

{"status": "SUCCESS", "rows_processed": 1234, "output_table": "sales_gold", "run_id": "run_2026_02_11"}

예제 2: 작업 작업을 통해 출력 전달

이 예에서는 노트북이 작업으로 실행될 때 JSON 파일을 반환합니다. oidlUtils.notebook.exit(json.dumps(payload)).

import json

payload = {
    "status": "SUCCESS",
    "output_table": "sales_gold",
    "rows_processed": 1234
}

oidlUtils.notebook.exit(json.dumps(payload))

다음으로 노트북 작업으로 작업을 실행하고 API 호출을 통해 작업 출력을 가져옵니다. endpoint = f"https://<workspace-url>/jobs/runs/get-output?run_id={task_run_id}" and response = requests.get(endpoint, headers=headers).json().

import requests

task_run_id = "<task_run_id>"

endpoint = f"https://<workspace-url>/jobs/runs/get-output?run_id={task_run_id}"
response = requests.get(endpoint, headers=headers).json()

마지막으로 job_result = response['notebook_output']['result']를 사용하여 노트북에서 반환된 출력을 캡처합니다.

job_result = response["notebook_output"]["result"]
payload = json.loads(job_result)

print(payload["output_table"])   # Output : sales_gold
print(payload["rows_processed"]) # Output : 1234

노트북 탐색

노트북을 구성하고 탐색하는 데 사용할 수 있는 목차를 만들고 유지 관리할 수 있습니다.

노트북 왼쪽 상단의 목차 아이콘을 클릭하여 노트북 개요를 표시할 수 있습니다. 목차는 생성할 수 있는 매가인하 제목에 따라 자동으로 생성되므로 조직 및 탐색이 간편해집니다.

형식이 지정된 텍스트, 머리글, 목록 및 설명서를 마크다운으로 추가하여 자신과 다른 사용자를 위한 노트북 콘텐츠를 구성하고 설명할 수 있습니다.

마크다운 셀 만들기

손쉬운 구성 및 탐색을 위해 노트북 목차에 제목을 제공하는 마크다운 셀을 만들 수 있습니다.

  1. 홈 페이지에서 노트북으로 이동합니다.
  2. 셀 유형 드롭다운 목록에서 마크다운을 선택합니다.
  3. 셀에 마크다운을 추가합니다.
    • 마크다운 셀에는 형식이 지정된 텍스트, 제목, 목록 및 기타 설명서가 포함될 수 있습니다.
    • 머리글을 만들려면 # 뒤에 공백이 있는 행을 시작합니다. 제목 1은 하나의 #을 사용하고, 제목 2는 ##을 사용합니다. 각 추가 머리글 레벨에 대해 #을 더 추가합니다.

노트북 출력 및 결과

코드와 함께 셀 바로 뒤에 나타나는 새 셀에서 노트북 출력과 결과를 볼 수 있습니다.

셀이 진행 중인 동안 셀 실행을 취소할 수 있습니다. 노트북이 워크플로우 작업으로 실행되는 경우 동일한 노트북에 출력이 표시되지 않습니다. 이 경우 해당 워크플로우 작업 실행의 출력 영역에 출력이 표시됩니다.

출력 셀의 출력을 CSV 또는 Excel 파일로 다운로드할 수 있습니다. 출력 셀의 내용을 클립보드에 직접 복사할 수도 있습니다.


복사 및 다운로드 버튼이 강조 표시된 노트북의 출력 셀입니다. 다운로드 메뉴가 열리고 CSV 다운로드 및 Excel 다운로드 옵션이 표시됩니다.

노트북 출력 다운로드

결과 패널에서 직접 노트북 셀의 결과 출력을 다운로드할 수 있습니다.

  1. 출력을 다운로드할 셀의 오른쪽 상단에서 다운로드를 누릅니다.
  2. 메뉴에서 출력을 다운로드할 형식을 선택합니다.

노트북 출력 복사

결과 패널에서 직접 노트북 셀의 결과 출력을 복사할 수 있습니다.

  1. 출력을 다운로드할 셀의 오른쪽 상단에서 복사를 누릅니다.
  2. 출력 셀의 내용은 클립보드에 직접 복사됩니다. 노트북의 다른 곳이나 외부 위치에 붙여 넣을 수 있습니다.

노트북 모양

왼쪽 탐색 패널을 최소화하거나 노트북 뷰를 확장하여 노트북에서 작업할 수 있는 화면 공간을 변경할 수 있습니다.

노트북에서 작업하는 동안 Oracle AI Data Platform Workbench 왼쪽 탐색 패널을 최소화하여 탐색 패널의 오른쪽 아래에 있는 최소화 패널을 눌러 사용 가능한 화면 공간을 늘릴 수 있습니다.


패널 최소화 아이콘이 강조 표시된 AI 데이터 플랫폼 워크벤치 왼쪽 탐색 창

노트북 오른쪽 상단에서 확장을 눌러 사용 가능한 공간을 확장하고 더 큰 셀과 출력을 쉽게 읽을 수 있도록 하여 노트북을 확장할 수도 있습니다.


확장 아이콘이 강조 표시된 상태로 노트북 열기

셀 실행 번호

각 노트북 셀에는 셀이 실행된 순서를 나타내는 실행 번호가 표시됩니다. 이 번호는 셀이 실행될 때마다 업데이트됩니다. 셀을 순서대로 실행할 수 있으므로 실행 번호가 노트북에 있는 셀의 물리적 순서와 일치하지 않을 수 있습니다.

업무 실행 관리

작업 실행을 생성하여 노트북에서 코드를 실행하는 방법 및 시기를 관리할 수 있습니다.

수동 작업 실행을 다시 실행하거나 나중에 일정에 따라 실행되도록 설정할 수 있습니다. 스케줄링된 작업 실행은 설정한 스케줄에 따라 자동으로 트리거됩니다. 스케줄이 구성되지 않은 경우 수동 작업은 한 번만 실행됩니다.

노트북에서 수동 실행 작업 생성

노트북에서 개발한 코드에서 수동으로 실행할 수 있는 스케줄링되지 않은 작업을 생성할 수 있습니다.

  1. 홈 페이지에서 작업 영역을 누릅니다.
  2. 노트북으로 이동합니다.
  3. 작업을 누른 다음 일정을 누릅니다.
  4. 작업에 대한 이름 및 설명을 제공하십시오.
  5. 찾아보기를 누르고 작업 저장 위치를 선택합니다. 선택을 누릅니다.
  6. 클러스터 드롭다운에서 컴퓨트 클러스터를 선택합니다.
  7. 일정에 대해 수동 실행을 선택합니다.
  8. 생성을 누릅니다.

노트북에서 일정이 잡힌 작업 실행 생성

노트북에서 개발한 코드에서 자동으로 실행되는 스케줄링된 작업을 생성할 수 있습니다.

  1. 홈 페이지에서 작업 영역을 누릅니다.
  2. 노트북으로 이동합니다.
  3. 작업을 누른 다음 일정을 누릅니다.
  4. 작업에 대한 이름 및 설명을 제공하십시오.
  5. 찾아보기를 누르고 직무를 저장할 위치를 선택합니다. 선택을 누릅니다.
  6. 클러스터 드롭다운에서 컴퓨트 클러스터를 선택합니다.
  7. 스케줄에 대해 스케줄을 선택합니다.
  8. 스케줄 상태를 선택합니다.
    • 스케줄을 즉시 사용으로 설정하려면 활성을 선택합니다.
    • 나중에 일정이 잡힌 실행을 수동으로 사용으로 설정하려면 일시 중지됨을 선택합니다.
  9. 일정을 기반으로 할 시간대를 제공합니다.
  10. 스케줄 유형을 선택합니다.
    • 달력의 경우 스케줄이 반복되는 빈도 및 시간 또는 일수를 지정해야 합니다.
    • Cron 표현식의 경우 cron 표현식 형식으로 일정을 제공해야 합니다.
  11. 아래에 나열된 런타임에 일정이 올바른지 확인합니다. 생성을 누릅니다.

노트북 키보드 단축키

키보드 단축키를 사용하여 노트북에서 명령을 사용하여 단순화할 수 있습니다.

Windows macOS 작업
Ctrl + Enter Cmd + 반품 셀 실행
Shift + Enter 근무조 + 반품 셀 실행 및 다음 셀로 진행
Ctrl + S Cmd + S 노트북 저장
Ctrl + N Ctrl + N 새 노트북
Ctrl + Z 표준 + Z 실행 취소
Ctrl + Y 표준 + Y 재실행
Ctrl + C Cmd + C 복사
Ctrl + X Cmd +X 잘라내기
Ctrl + V Cmd + V 붙여넣기
Ctrl + Alt + F Ctrl + Option + F 찾기 및 바꾸기
Ctrl + Shift + A Ctrl + Shift + A 위에 셀 삽입
Ctrl + Shift + B Ctrl + Shift + B 아래에 셀 삽입
Ctrl + Alt + 위로 Ctrl + Option + Up 셀 위로 이동
Ctrl + Alt + 아래로 Ctrl + Option +Down 셀 아래로 이동
Ctrl + D Ctrl + D 셀 삭제
대체 + 근무조 + 입력 옵션 + 근무조 + 반품 모두 실행
대체 + 근무조 + 위로 옵션 + 교대 + 위로 위의 모든 셀 실행

기존 Apache Spark 코드를 Oracle AI Data Platform Workbench로 마이그레이션

Apache Spark 코드를 조정하여 Oracle AI Data Platform Workbench 노트북에서 사용할 수 있도록 마이그레이션할 수 있습니다.

다른 플랫폼에서 기존 Spark 코드를 마이그레이션하는 경우 다음 지침을 사용하여 노트북에서 사용할 코드를 조정할 수 있습니다.

표 11-2 AI 데이터 플랫폼으로의 Apache Spark 마이그레이션 지침

지침 세부정보
SparkSession 만들기 명령 제거 AI 데이터 플랫폼 워크벤치는 각 컴퓨트 클러스터에 대해 자동으로 SparkContext를 생성합니다. 세션 생성 명령을 제거하거나 SparkSession.builder().getOrCreate()로 바꾸는 것이 좋습니다.
sys.exit() 또는 spark.stop()와 같은 세션 종료 명령 제거 모든 용도의 컴퓨트 클러스터는 공유 클러스터이므로 사용자가 sys.exit() 또는 spark.stop()를 사용하여 SparkSession을 중지하는 경우 모든 사용자에 대해 클러스터를 다시 시작해야 합니다. 중단을 방지하려면 노트북에서 이러한 명령을 사용하지 않는 것이 좋습니다.