데이터브릭스 노트북 사용법: 완벽 가이드

GarionNachal·2025년 4월 11일
0

databricks

목록 보기
11/24
post-thumbnail

데이터브릭스(Databricks)는 빅데이터 분석과 머신러닝을 위한 통합 플랫폼으로, 그 핵심에는 '노트북(Notebook)'이라는 강력한 도구가 있습니다. 이 블로그에서는 데이터브릭스 노트북의 기본 개념부터 고급 기능까지 상세히 알아보겠습니다.

1. 데이터브릭스 노트북이란?

데이터브릭스 노트북은 대화형 데이터 분석을 위한 웹 기반 코드 편집기입니다. 이를 통해 데이터 과학자, 분석가, 엔지니어들은 코드를 작성하고 그 결과를 즉시 볼 수 있습니다. 노트북의 주요 특징은 다음과 같습니다:

  • 다중 언어 지원: Python, SQL, Scala, R 코드를 하나의 노트북 내에서 작성 가능
  • 실시간 공동 작업: 여러 사용자가 동시에 같은 노트북에서 작업 가능
  • 자동 버전 관리: 변경 사항이 자동으로 저장되고 이력 관리
  • 내장 시각화 도구: 데이터를 쉽게 시각화할 수 있는 기능 제공
  • 스케줄링: 노트북 작업을 자동으로 실행하도록 일정 설정 가능

2. 노트북 생성 및 관리

노트북 생성하기

데이터브릭스에서 새 노트북을 생성하는 방법은 여러 가지가 있습니다:

  1. 사이드바에서 생성: 왼쪽 사이드바에서 + 새로 만들기 버튼을 클릭하고 노트북을 선택합니다.
  2. 특정 폴더에 생성: 작업 영역에서 원하는 폴더를 마우스 오른쪽 버튼으로 클릭하고 노트북 만들기를 선택합니다.
  3. 탭에서 생성: 탭 기능이 활성화된 경우, 마지막 탭 오른쪽의 + 아이콘을 클릭하여 새 노트북을 생성할 수 있습니다.

노트북 열기 및 관리

  • 노트북 열기: 작업 영역에서 노트북 이름을 클릭하여 엽니다.
  • 탭으로 관리: 탭 기능이 활성화된 경우, 여러 노트북을 탭으로 열고 쉽게 전환할 수 있습니다.
  • 노트북 이름 변경: 열린 노트북의 제목을 클릭하여 직접 수정하거나 파일 > 이름 바꾸기를 사용합니다.
  • 노트북 삭제: 작업 영역에서 노트북 이름을 마우스 오른쪽 버튼으로 클릭하고 삭제를 선택합니다.

3. 노트북 인터페이스 이해하기

도구 모음

노트북 상단의 도구 모음에는 다음과 같은 기능이 있습니다:

  • 노트북 이름: 현재 노트북의 이름과 기본 언어를 표시합니다.
  • 실행 버튼: 모든 셀을 실행하거나 실행을 중지합니다.
  • 컴퓨팅 선택기: 노트북을 실행할 클러스터 또는 SQL 웨어하우스를 선택합니다.
  • 작업 스케줄러: 노트북을 정기적으로 실행하도록 일정을 설정합니다.
  • 공유 버튼: 노트북 권한을 관리합니다.

사이드바 기능

오른쪽 사이드바에는 다음과 같은 추가 기능이 있습니다:

  • 주석: 노트북에 대한 논의를 볼 수 있습니다.
  • 실험: MLflow 노트북 실험을 관리합니다.
  • 버전 기록: 노트북의 이전 버전을 확인합니다.
  • 변수 탐색기: Python 변수를 탐색합니다(Databricks Runtime 12.2 LTS 이상).
  • 환경: 노트북에서 사용 가능한 Python 라이브러리를 표시합니다.

4. 셀(Cell) 작업하기

노트북은 셀 단위로 구성됩니다. 셀에는 두 가지 유형이 있습니다:

  1. 코드 셀: 실행 가능한 코드를 포함합니다.
  2. 마크다운 셀: 텍스트, 이미지, 수식 등의 설명을 위한 마크다운 코드를 포함합니다.

셀 생성 및 실행

  • 셀 생성: 기존 셀 위나 아래에 마우스를 가져가면 코드 또는 텍스트 버튼이 나타납니다.
  • 셀 실행: 셀 왼쪽 상단의 실행 버튼(▶)을 클릭하거나 키보드 단축키 Shift+Enter를 사용합니다.
  • 여러 셀 실행: 여러 셀을 선택한 후 Ctrl+Enter(Windows) 또는 Command+Enter(MacOS)를 사용하거나 실행 > 선택한 셀 실행을 클릭합니다.
  • 선택한 텍스트 실행: 코드의 일부분만 선택하여 Ctrl+Shift+Enter(Windows) 또는 Command+Shift+Enter(MacOS)로 실행할 수 있습니다.

셀 관리

  • 셀 이동: 셀 왼쪽의 드래그 핸들(⋮⋮)을 사용하여 셀을 위아래로 이동할 수 있습니다.
  • 셀 삭제: 셀 위에 마우스를 가져가면 나타나는 휴지통 아이콘을 클릭합니다.
  • 셀 복사/붙여넣기: 셀 작업 메뉴에서 복사나 잘라내기를 선택하거나 Ctrl+C/Ctrl+X와 Ctrl+V 단축키를 사용합니다.
  • 셀 포커스 모드: 셀 오른쪽 상단의 확대 아이콘을 클릭하여 특정 셀을 전체 화면으로 볼 수 있습니다.

5. 다중 언어 프로그래밍

데이터브릭스 노트북의 가장 강력한 기능 중 하나는 여러 프로그래밍 언어를 하나의 노트북 내에서 사용할 수 있다는 점입니다.

기본 언어 설정

노트북의 기본 언어는 제목 옆에 표시됩니다. 이를 변경하려면 언어 버튼을 클릭하고 드롭다운 메뉴에서 새 언어를 선택합니다.

언어 혼합 사용하기

셀 단위로 다른 언어를 사용하는 방법은 두 가지가 있습니다:

  1. 셀 언어 변경: 셀 오른쪽 상단의 언어 선택기를 사용합니다.
  2. 매직 명령 사용: 셀 시작 부분에 언어 매직 명령을 추가합니다.
    • %python: Python 코드 실행
    • %sql: SQL 쿼리 실행
    • %scala: Scala 코드 실행
    • %r: R 코드 실행

다음과 같은 유용한 추가 매직 명령도 있습니다:

  • %sh: 셸 명령 실행
  • %fs: 파일 시스템 명령 실행
  • %md: 마크다운 텍스트 작성

SQL과 Python 간의 상호작용

SQL 쿼리 결과를 Python에서 사용할 수 있는 기능이 있습니다:

Copy%sql
SELECT * FROM my_table LIMIT 10

이 쿼리 결과는 자동으로 _sqldf라는 DataFrame으로 저장되며, 이후 Python 셀에서 이 변수를 직접 사용할 수 있습니다:

Copy# SQL 쿼리 결과를 Python에서 활용
import matplotlib.pyplot as plt
_sqldf.plot(kind='bar')
plt.show()

6. 코드 편집 및 서식 지정

자동 서식 지정

데이터브릭스는 코드의 일관된 스타일과 가독성을 위해 자동 서식 지정 기능을 제공합니다:

  • Python 코드 서식 지정: 블랙(Black) 포맷터를 사용하여 PEP 8 스타일로 코드를 자동 서식화합니다.
  • SQL 코드 서식 지정: Gethue/sql-formatter 라이브러리로 SQL 쿼리를 서식화합니다.

서식 지정을 적용하는 방법:

  • 단일 셀: Cmd+Shift+F 단축키 또는 셀 작업 메뉴에서 서식 지정 옵션 선택
  • 여러 셀: 여러 셀 선택 후 편집 > 셀 서식
  • 전체 노트북: 편집 > 모든 셀 서식 지정

코드 모듈화

Databricks Runtime 11.3 LTS 이상에서는 소스 코드 파일을 작업 영역에서 관리하고 노트북으로 가져와 사용할 수 있습니다. 이를 통해 여러 노트북 간에 코드를 공유하고 프로젝트를 더 모듈화할 수 있습니다.

7. 디버깅 및 개발 도구

대화형 디버거

Python 코드 디버깅을 위해 데이터브릭스는 내장 대화형 디버거를 제공합니다:

디버거를 사용하면:

  • 중단점 설정
  • 코드를 한 줄씩 실행
  • 변수 값 검사
  • 호출 스택 확인

Databricks 어시스턴트

Databricks 어시스턴트는 AI 기반 코딩 도우미로, 다음과 같은 기능을 제공합니다:

  • 코드 자동 완성
  • 코드 생성 및 제안
  • 코드 설명
  • 오류 디버깅

셀 오른쪽 상단의 어시스턴트 아이콘을 클릭하여 활성화할 수 있습니다.

8. 데이터 시각화

노트북에서는 다양한 방법으로 데이터를 시각화할 수 있습니다:

내장 시각화

데이터브릭스는 DataFrame 결과에 대한 기본 시각화 도구를 제공합니다:

  • 막대 차트
  • 선 그래프
  • 파이 차트
  • 산점도

Python 셀에서:

Copydisplay(df)  # DataFrame 결과가 자동으로 시각화됩니다

외부 라이브러리 사용

더 복잡한 시각화를 위해 다양한 외부 라이브러리를 사용할 수 있습니다:

  • Matplotlib
  • Seaborn
  • Plotly
  • Bokeh
Copyimport matplotlib.pyplot as plt
import seaborn as sns

# Seaborn 시각화 예제
sns.set_theme()
sns.relplot(data=df, x="x", y="y", hue="category")
plt.show()

9. 노트북 공유 및 협업

노트북 공유하기

노트북을 다른 사용자와 공유하는 방법:

  1. 노트북 상단의 공유 버튼을 클릭합니다.
  2. 사용자나 그룹을 추가하고 권한 수준(보기, 편집, 관리)을 설정합니다.

버전 관리

노트북의 모든 변경 사항은 자동으로 버전 기록에 저장됩니다:

  1. 노트북 오른쪽 사이드바에서 버전 기록 아이콘을 클릭합니다.
  2. 이전 버전을 보거나 복원할 수 있습니다.

Git 통합

데이터브릭스는 Git 저장소와의 통합을 지원하여 더 강력한 버전 관리가 가능합니다:

  1. Databricks Repos 기능을 사용하여 Git 저장소를 연결합니다.
  2. 노트북 변경 사항을 커밋하고 푸시할 수 있습니다.

10. 노트북 예약 및 자동화

작업 스케줄링

노트북을 자동으로 실행하도록 예약하는 방법:

  1. 노트북 상단의 일정 버튼을 클릭합니다.
  2. 작업 이름과 실행 일정(예: 매일, 매주, 매월)을 설정합니다.
  3. 이메일 알림 옵션을 구성합니다.

워크플로우 생성

여러 노트북을 순차적으로 또는 병렬로 실행하는 복잡한 워크플로우를 만들 수 있습니다:

  1. 작업 설정에서 여러 노트북 작업을 추가합니다.
  2. 작업 간의 종속성을 설정합니다.

11. 노트북 성능 최적화 팁

효율적인 코드 작성

  1. 대규모 데이터셋 처리: 전체 데이터셋을 로드하기 전에 샘플을 사용하여 코드를 테스트합니다.
  2. 캐싱 활용: 자주 사용하는 DataFrame은 .cache() 메서드로 캐싱합니다.
  3. SQL 최적화: 복잡한 변환은 Spark SQL을 사용하는 것이 효율적일 수 있습니다.

리소스 관리

  1. 적절한 클러스터 크기 설정: 작업 요구 사항에 맞는 클러스터 크기를 선택합니다.
  2. 자동 종료 설정: 비활성 시간 후 클러스터가 자동으로 종료되도록 설정합니다.
  3. 노트북 범위 라이브러리: 클러스터 전체가 아닌 특정 노트북에만 필요한 라이브러리를 설치합니다.

결론

데이터브릭스 노트북은 데이터 분석, 머신러닝, 데이터 엔지니어링을 위한 강력하고 유연한 도구입니다. 다중 언어 지원, 협업 기능, 자동화 옵션을 통해 데이터 프로젝트의 개발과 배포를 크게 간소화합니다.

이 가이드에서 소개한 기능들을 활용하면 데이터브릭스 노트북으로 더 효율적이고 생산적인 데이터 작업을 수행할 수 있을 것입니다. 지속적으로 발전하는 데이터브릭스 플랫폼의 새로운 기능을 통해 노트북 경험은 계속 향상될 것입니다.

이제 데이터브릭스 노트북을 시작하여 데이터의 잠재력을 최대한 활용해 보세요!

profile
AI를 꿈꾸는 BackEnd개발자

0개의 댓글