Skip to main content
이 문서는 Databricks 플랫폼 섹션의 일부입니다.

Notebook이란?

💡 Notebook(노트북) 은 코드, 텍스트 설명, 시각화 결과를 하나의 문서에 담을 수 있는 대화형 개발 환경 입니다. 마치 실험 노트처럼, 코드를 작성하고 바로 실행하여 결과를 확인하면서 작업을 진행할 수 있습니다.
Jupyter Notebook과 유사하지만, Databricks Notebook은 다음과 같은 추가 기능을 제공합니다.

셀(Cell)의 개념

Notebook은 여러 개의 셀(Cell) 로 구성되어 있습니다. 각 셀은 독립적으로 실행할 수 있습니다.

셀 유형

언어 전환 (Magic Command)

기본 언어가 Python인 노트북에서도, 셀 첫 줄에 매직 커맨드 를 입력하면 다른 언어를 사용할 수 있습니다.

기본 사용법

셀 실행

셀 관리


실습: 첫 번째 Notebook 만들기

간단한 실습을 통해 Notebook 사용법을 익혀 보겠습니다.

Step 1: Notebook 생성

  1. Workspace에서 + NewNotebook 클릭
  2. 이름: my-first-notebook
  3. 기본 언어: Python
  4. Cluster: Serverless 또는 사용 가능한 클러스터 선택

Step 2: Python으로 데이터 생성

실행 결과:

Step 3: SQL로 분석

Step 4: 시각화

SQL 셀의 실행 결과 아래에 나타나는 차트 아이콘(📊) 을 클릭하면, 결과를 다양한 차트로 변환할 수 있습니다.

Step 5: Markdown으로 설명 추가


Jupyter에서 넘어온 사람이 처음 당황하는 5가지

Jupyter Notebook을 사용하던 분들이 Databricks Notebook으로 옮기면 겪는 흔한 혼란을 정리했습니다.

1. “pip install이 왜 다른가?”

Jupyter에서는 터미널에서 pip install을 하면 끝이지만, Databricks에서는 클러스터 전체에 라이브러리를 설치해야 합니다.
⚠️ 주의: %pip install은 해당 노트북이 연결된 클러스터에만 적용됩니다. 다른 사용자가 같은 클러스터를 공유하는 경우, 라이브러리 버전 충돌이 발생할 수 있습니다. 프로덕션에서는 클러스터 설정의 Libraries 탭에서 관리하는 것이 안전합니다.

2. “변수가 왜 사라지나?”

Jupyter는 커널이 항상 살아있지만, Databricks 클러스터는 Auto-termination(자동 종료) 이후 재시작하면 모든 변수가 초기화됩니다. 또한 클러스터를 Detach 했다가 다시 Attach 하면 상태가 초기화됩니다.
💡 해결법: 중간 결과는 Delta 테이블에 저장하세요. df.write.saveAsTable("my_catalog.my_schema.temp_result") 한 줄이면 됩니다. 변수가 사라져도 데이터는 남아 있습니다.

3. “spark라는 변수는 어디서 온 거지?”

Jupyter에서는 SparkSession.builder.getOrCreate()를 직접 호출해야 하지만, Databricks에서는 spark 변수가 자동으로 생성 되어 있습니다. 마찬가지로 sc(SparkContext), sqlContext, dbutils도 미리 선언되어 있습니다.

4. “display()가 뭐지?”

Databricks에는 display()라는 고유 함수가 있습니다. Jupyter의 df.show()와 달리, 인터랙티브한 테이블차트 시각화 를 제공합니다.
⚠️ 대형 테이블 주의: display(df)는 기본적으로 1,000행만 표시하지만, 내부적으로 쿼리를 실행합니다. 수십억 건의 테이블에 display()를 호출하면 집계 없이 전체 스캔이 발생할 수 있습니다. 반드시 display(df.limit(100)) 또는 display(df.filter(...)) 처럼 범위를 제한하세요. 현업에서 실수로 display(spark.read.table("10TB_table"))을 호출하여 클러스터가 OOM(메모리 부족)으로 죽는 사고가 실제로 발생합니다.

5. “노트북 출력이 저장되지 않는다?”

Jupyter는 .ipynb 파일에 출력 결과가 함께 저장되지만, Databricks Notebook은 기본적으로 코드만 Git에 저장 됩니다. 출력 결과를 보존하려면 HTML로 내보내기 하거나, Databricks의 자체 리비전 히스토리를 사용해야 합니다.

참고 링크