11 노트북
이 장에서는 작업 영역에서 노트북 사용 및 관리에 대한 정보를 제공합니다.
노트북에서 코드 개발
데이터 엔지니어와 데이터 과학자는 Oracle AI Data Platform 워크벤치의 노트북을 대화식으로 코드를 개발하고 데이터를 탐색하기 위한 공통 도구로 사용할 수 있습니다.
Oracle AI Data Platform Workbench는 현재 노트북에서 Python, SQL 및 Scala 언어를 지원합니다. 노트북은 워크플로우의 일부로 실행되도록 일정을 잡거나 구성할 수 있습니다. 노트북을 실행하려면 컴퓨트 클러스터를 연결해야 합니다.
AI 데이터 플랫폼 워크벤치에는 직관적인 개발자 경험을 위한 통합 관리형 노트북이 제공됩니다.
노트북에서 사용할 수 있는 코드 예제는 Oracle AI Data Platform Workbench Samples Git 저장소의 샘플 코드를 사용할 수 있습니다.
자동 저장됩니다.
노트북은 2분마다 자동으로 저장됩니다.
노트북 임포트 및 엑스포트
현재 로컬 시스템에서 작업 영역으로 노트북 파일(*.ipynb)을 가져올 수 있습니다.
노트북 익스포트는 현재 지원되지 않습니다.
노트북 생성
관리자 권한이 있는 모든 작업 영역에서 노트북을 생성할 수 있습니다.
- Home 페이지에서 작업 영역으로 이동합니다.
- 생성을 누르고 노트북을 누릅니다.
- 이름 및 설명을 입력하고 생성을 누릅니다.
노트북에 대한 클러스터 생성
노트북 인터페이스에서 직접 새 클러스터를 만들어 즉시 연결할 수 있습니다.
- 홈 페이지에서 작업공간으로 이동하여 노트북을 엽니다.
- 작업을 누른 다음 클러스터 생성을 누릅니다.
- 런타임 버전을 선택합니다.
- 클러스터에 대한 드라이버 옵션을 선택합니다.
- 클러스터에 대한 작업자 옵션을 선택합니다. 이러한 옵션은 모든 클러스터 워커에 적용됩니다.
- 워커 수가 정적인지 아니면 자동으로 스케일링되는지 선택합니다.
- 정적 금액인 경우 워커 수를 지정합니다.
- 자동 스케일인 경우 클러스터가 확장할 수 있는 최소 및 최대 워커 수를 지정합니다.
- 실행 기간에 대해 설정된 비활성 기간 후 클러스터 실행이 정지될지 여부를 선택합니다. 유휴 시간 초과가 선택된 경우 클러스터가 시간 초과되기 전의 유휴 시간(분)을 지정합니다.
- 생성을 누릅니다.
노트북 관리
직접 노트북의 이름을 바꾸고 삭제할 수 있습니다. 또한 노트북을 복제하여 컨텐츠를 복사하고 새 노트북에서 해당 코드로 작업할 수 있습니다.
작업 영역의 작업 메뉴에서 노트북의 이름을 바꾸고 메모장을 삭제합니다. 노트북을 열고 파일 메뉴에서 복제 옵션을 선택하여 노트북을 복제합니다.
노트북 이름 바꾸기
노트북의 이름이 더 이상 유용하거나 관련이 없는 경우 언제든지 변경할 수 있습니다.
- Home 페이지에서 작업 영역으로 이동합니다.
- 이름을 바꿀 노트북 옆에 있는 작업, 이름 바꾸기 순으로 누릅니다.
- 새 이름을 입력하고 저장을 누릅니다.
- 선택 사항: 이름을 누르고 새 메모장을 입력하여 열려 있는 메모장의 이름을 변경할 수도 있습니다.
노트북 복제
기존 노트북을 복제하여 원본을 유지하면서 수정할 수 있는 해당 노트북의 컨텐츠 복사본을 만들 수 있습니다.
- 복제할 노트북을 엽니다.
- 노트북 도구 모음에서 파일, 복제 순으로 누릅니다.
- 복제된 노트북에 대한 새 이름을 입력합니다.
- 복제된 노트북을 저장할 작업 영역 폴더를 선택하려면 찾아보기를 누릅니다. 폴더를 선택하지 않으면 복제된 노트북이 복제 중인 노트북과 동일한 폴더에 생성됩니다.
- 출력을 포함할 것인지 제외할 것인지 선택합니다. 출력은 기본적으로 포함됩니다. 출력을 제외하려면 선택 항목을 지웁니다.
- 복제를 누릅니다. 복제된 노트북은 지정한 작업 영역 폴더에 생성됩니다.
노트북 실행
소유한 노트북이나 공유된 노트북에서 코드를 실행할 수 있습니다.
요청 시 실행, 일회성 수동 실행으로 실행 또는 예약된 노트북 작업 생성의 세 가지 방법을 사용하여 노트북에서 코드를 실행할 수 있습니다. 요청 시 실행되는 작업은 한 번만 실행됩니다.
노트북 내에서 터미널 명령 실행
노트북 내에서 '!' 접두어로 기본 터미널 명령 또는 셸 명령을 실행할 수 있습니다. 예를 들어, unzip 명령을 사용하여 작업 영역의 ZIP 파일에서 추출할 수 있습니다.

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

셸 명령 대신 파일 압축 해제와 같은 작업에 zipfile과 같은 고유 Python 모듈을 사용할 수도 있습니다.
제한사항
현재 Oracle AI Data Platform Workbench는 파이프 설치, CI/CD, Git 또는 버전 제어 시스템에 대한 기본 지원을 제공하지 않습니다.
노트북 셀에 대한 실행 옵션
노트북의 실행 메뉴는 노트북에서 셀을 실행하는 옵션을 제공합니다.
<여기에 섹션 제목 입력>
노트북 상단의 실행 메뉴에서 노트북에서 셀을 실행하기 위한 모든 옵션을 찾을 수 있습니다.

표 11-1 노트북 셀에 대한 실행 옵션
| 옵션 | 설명 |
|---|---|
| 모두 실행 | 노트북의 모든 셀을 순차적으로 실행합니다. |
| 선택된 셀 실행 | 현재 선택된 셀을 실행합니다. |
| 위 항목 모두 실행 | 현재 선택한 셀과 노트북에서 현재 선택한 셀 위에 나타나는 셀을 실행합니다. |
| 아래 모두 실행 | 현재 선택한 셀과 노트북에서 현재 선택한 셀 아래에 나타나는 셀을 실행합니다. |
| 선택된 텍스트 실행 | 셀에서 선택한 코드 세그먼트를 실행합니다. |
| 마지막 실행 셀로 이동 | 노트북에서 가장 최근에 실행된 셀로 이동합니다. |
| 모든 셀 출력 지우기 | 노트북의 모든 셀에서 출력을 제거합니다. |
노트북에서 코드 실행
노트북에서 개발한 모든 코드를 한 번에 실행하거나 한 번에 하나의 셀을 실행할 수 있습니다.
- MacOS: Cmd + Return
- Windows: Ctrl + Enter
Play 버튼을 눌러 단일 셀에서 코드를 실행하거나 Run all을 눌러 전체 노트북을 실행할 수 있습니다.
- 홈 페이지에서 작업 영역을 누릅니다.
- 노트북으로 이동합니다.
- 모두 실행을 누릅니다.
- 워크플로우, 작업 실행 순으로 눌러 노트북 작업 실행 상태를 확인합니다.
다른 노트북에서 코드 실행
노트북에서 %run magic 명령을 사용하여 다른 노트북의 코드를 포함할 수 있습니다.
이러한 단계를 수행한 후 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 문자열)를 호출자에게 반환합니다. | |
| 공책 | 노트북이 작업 실행을 종료하고 호출자 노트북 또는 작업/작업 출력 API에 단일 문자열 결과(일반적으로 JSON 페이로드)를 반환하도록 허용합니다. | |
예 1: 노트북-노트북 공유
이 예제에서는 노트북 A를 사용하여 노트북 B를 호출합니다. 노트북 B는 노트북 A가 캡처 및 사용하도록 설정된 결과 페이로드를 반환합니다.
노트북 A
result = oidlUtils.notebook.run("NotebookB", 0)
print("Output from Notebook B:", result)
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
노트북 탐색
노트북을 구성하고 탐색하는 데 사용할 수 있는 목차를 만들고 유지 관리할 수 있습니다.
노트북 왼쪽 상단의 목차 아이콘을 클릭하여 노트북 개요를 표시할 수 있습니다. 목차는 생성할 수 있는 매가인하 제목에 따라 자동으로 생성되므로 조직 및 탐색이 간편해집니다.
형식이 지정된 텍스트, 머리글, 목록 및 설명서를 마크다운으로 추가하여 자신과 다른 사용자를 위한 노트북 콘텐츠를 구성하고 설명할 수 있습니다.
노트북 출력 및 결과
코드와 함께 셀 바로 뒤에 나타나는 새 셀에서 노트북 출력과 결과를 볼 수 있습니다.
셀이 진행 중인 동안 셀 실행을 취소할 수 있습니다. 노트북이 워크플로우 작업으로 실행되는 경우 동일한 노트북에 출력이 표시되지 않습니다. 이 경우 해당 워크플로우 작업 실행의 출력 영역에 출력이 표시됩니다.
출력 셀의 출력을 CSV 또는 Excel 파일로 다운로드할 수 있습니다. 출력 셀의 내용을 클립보드에 직접 복사할 수도 있습니다.

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

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

셀 실행 번호
각 노트북 셀에는 셀이 실행된 순서를 나타내는 실행 번호가 표시됩니다. 이 번호는 셀이 실행될 때마다 업데이트됩니다. 셀을 순서대로 실행할 수 있으므로 실행 번호가 노트북에 있는 셀의 물리적 순서와 일치하지 않을 수 있습니다.
업무 실행 관리
작업 실행을 생성하여 노트북에서 코드를 실행하는 방법 및 시기를 관리할 수 있습니다.
수동 작업 실행을 다시 실행하거나 나중에 일정에 따라 실행되도록 설정할 수 있습니다. 스케줄링된 작업 실행은 설정한 스케줄에 따라 자동으로 트리거됩니다. 스케줄이 구성되지 않은 경우 수동 작업은 한 번만 실행됩니다.
노트북에서 수동 실행 작업 생성
노트북에서 개발한 코드에서 수동으로 실행할 수 있는 스케줄링되지 않은 작업을 생성할 수 있습니다.
- 홈 페이지에서 작업 영역을 누릅니다.
- 노트북으로 이동합니다.
- 작업을 누른 다음 일정을 누릅니다.
- 작업에 대한 이름 및 설명을 제공하십시오.
- 찾아보기를 누르고 작업 저장 위치를 선택합니다. 선택을 누릅니다.
- 클러스터 드롭다운에서 컴퓨트 클러스터를 선택합니다.
- 일정에 대해 수동 실행을 선택합니다.
- 생성을 누릅니다.
노트북에서 일정이 잡힌 작업 실행 생성
노트북에서 개발한 코드에서 자동으로 실행되는 스케줄링된 작업을 생성할 수 있습니다.
- 홈 페이지에서 작업 영역을 누릅니다.
- 노트북으로 이동합니다.
- 작업을 누른 다음 일정을 누릅니다.
- 작업에 대한 이름 및 설명을 제공하십시오.
- 찾아보기를 누르고 직무를 저장할 위치를 선택합니다. 선택을 누릅니다.
- 클러스터 드롭다운에서 컴퓨트 클러스터를 선택합니다.
- 스케줄에 대해 스케줄을 선택합니다.
- 스케줄 상태를 선택합니다.
- 스케줄을 즉시 사용으로 설정하려면 활성을 선택합니다.
- 나중에 일정이 잡힌 실행을 수동으로 사용으로 설정하려면 일시 중지됨을 선택합니다.
- 일정을 기반으로 할 시간대를 제공합니다.
- 스케줄 유형을 선택합니다.
- 달력의 경우 스케줄이 반복되는 빈도 및 시간 또는 일수를 지정해야 합니다.
- Cron 표현식의 경우 cron 표현식 형식으로 일정을 제공해야 합니다.
- 아래에 나열된 런타임에 일정이 올바른지 확인합니다. 생성을 누릅니다.
노트북 키보드 단축키
키보드 단축키를 사용하여 노트북에서 명령을 사용하여 단순화할 수 있습니다.
| 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을 중지하는 경우 모든 사용자에 대해 클러스터를 다시 시작해야 합니다. 중단을 방지하려면 노트북에서 이러한 명령을 사용하지 않는 것이 좋습니다.
|

