Azure Databricks에서 Apache Spark 클러스터 생성하기

1. 이 강의에서 배울 내용

이 영상에서는 Apache Spark를 실행하기 위한 Databricks 클러스터를 생성하는 방법을 살펴보겠습니다.
구체적으로는 다음 내용을 다룹니다.

  • Azure Databricks 워크스페이스 생성
  • Databricks 환경 실행
  • Spark 클러스터 생성
  • 클러스터 주요 설정 옵션 이해
  • 클러스터 상태 및 Spark UI 확인

Spark는 클러스터 없이 실행될 수 없기 때문에,
이 단계는 이후 모든 실습의 기초가 되는 매우 중요한 과정입니다.


2. Azure Databricks 워크스페이스 생성

먼저 Azure Portal에서 시작합니다.

이미 Azure 계정이 있다면:

  • Azure Portal에 로그인
  • 상단 검색창에서 Databricks 검색
  • Azure Databricks 선택

만약 바로 보이지 않으면 검색창에
Databricks 라고 입력하면 쉽게 찾을 수 있습니다.

Azure Databricks를 선택한 후 Add(추가) 또는 Create(생성) 를 클릭합니다.


필수 설정 항목

이제 몇 가지 필수 정보를 입력해야 합니다.

1) Resource Group

  • 새로운 Resource Group 생성
  • 예시 이름:
    • spark-certification-resources

Resource Group은 관련된 Azure 리소스들을
하나의 묶음으로 관리하기 위한 컨테이너라고 생각하시면 됩니다.


2) Workspace Name

  • Databricks 워크스페이스 이름 지정
  • 예시:
    • spark-certification-training

이 이름은 Databricks 환경의 식별자 역할을 합니다.


3) Location

  • Databricks를 생성할 리전 선택
  • 예시:
    • US EAST

일반적으로는 본인과 가까운 지역을 선택하는 것이 좋습니다.


(선택) Tags 설정

Tags는 필수는 아니지만 실무에서는 매우 유용합니다.

예시:

  • Key: purpose
  • Value: spark-certification

Tags를 사용하면:

  • 리소스 목적 구분
  • 비용 추적
  • 리소스 관리

에 도움이 됩니다.


Review & Create

  • Review + Create 클릭
  • 설정을 확인한 뒤 Create 클릭

Databricks 워크스페이스 생성에는
보통 몇 분 정도가 소요됩니다.

이 시점에서는 영상을 잠시 멈추고,
배포가 완료될 때까지 기다립니다.


3. Databricks 워크스페이스 실행

배포가 완료되면:

  • Go to resource 클릭
  • 또는 Azure 홈 화면에서 해당 리소스로 이동

리소스 화면에서 Launch Workspace 를 클릭합니다.

이제 브라우저에서 Azure Databricks 환경이 열립니다.


4. Databricks 클러스터 생성

Databricks 환경에 접속한 후:

  • 왼쪽 메뉴에서 Clusters 클릭
  • Create Cluster 클릭

이제 Spark가 실행될 클러스터 설정 단계로 들어갑니다.


클러스터 이름

클러스터를 구분할 수 있도록 이름을 지정합니다.

예시:

  • spark-training-cluster

Cluster Mode

두 가지 모드가 있습니다.

  • Standard
  • High Concurrency

이 강의에서는:

  • Standard 모드를 사용합니다.

High Concurrency 모드는
여러 사용자가 동시에 하나의 클러스터를 사용할 때 주로 사용됩니다.


5. Databricks Runtime Version

다음은 Databricks Runtime Version 선택입니다.

Databricks Runtime은 다음을 포함한 통합 실행 환경입니다.

  • Apache Spark
  • Scala
  • Python
  • 다양한 최적화 라이브러리

이 강의에서는:

  • Spark 3.x Runtime을 사용합니다.

처음에는 기본값을 사용해도 전혀 문제 없습니다.


6. Driver와 Worker 설정 (중요)

이제 클러스터의 하드웨어 사양을 설정합니다.

Worker Type

Worker 노드는 Spark Executor가 실행되는 머신입니다.

예시:

  • Memory: 14GB
  • CPU: 4 cores

드롭다운을 열면:

  • 다양한 VM 타입
  • 메모리/CPU 조합
  • 비용 차이

를 확인할 수 있습니다.

지금은 기본 설정을 그대로 사용하겠습니다.


Driver Type

Driver 노드는 Spark Driver 프로세스가 실행되는 머신입니다.

  • Worker와 동일한 사양을 사용할 수도 있고
  • Driver에 더 많은 메모리를 줄 수도 있습니다

예를 들어:

  • Driver를 Worker보다 메모리 2배로 설정

Driver는 전체 작업을 조율하기 때문에
대규모 작업에서는 더 많은 리소스를 주는 것이 일반적입니다.


7. Worker 개수와 Auto Scaling

여기서 다음을 설정할 수 있습니다.

  • 최소 Worker 수
  • 최대 Worker 수

예시:

  • 최소: 2
  • 최대: 8

이 의미는:

  • 항상 최소 2개의 Worker는 유지
  • 작업량이 증가하면 자동으로 Worker 추가

이 기능을 Auto Scaling이라고 합니다.


Auto Scaling의 장점

  • Worker 수 증가 → 병렬 처리 증가
  • 병렬 처리 증가 → 처리 속도 향상

예시:

  • 4 Workers × 14GB = 56GB 메모리
  • 8 Workers × 14GB = 112GB 메모리

CPU 코어도 동일한 방식으로 증가합니다.


8. 클러스터 생성

모든 설정이 완료되면:

  • Create Cluster 클릭

클러스터 생성에는 몇 분 정도가 소요됩니다.

이 단계에서도 잠시 영상을 멈추고 기다립니다.


9. 클러스터 상태 확인 (Spark UI)

클러스터 생성이 완료되면:

  • 클러스터 이름 클릭
  • Spark UI 확인

여기서 다음 정보를 볼 수 있습니다.

  • Worker 개수
  • 각 Worker의 메모리 및 CPU
  • 실행 중인 애플리케이션
  • 각 노드의 IP 주소

중요한 포인트 하나:

  • 실제 멀티 노드 클러스터에서는
    각 Worker가 서로 다른 IP 주소를 가집니다.
  • Databricks Community Edition에서는
    모든 것이 한 머신에서 실행되기 때문에 IP가 동일합니다.

이를 통해:

  • 실제 분산 환경
  • 단일 노드 환경

의 차이를 명확히 확인할 수 있습니다.


10. 다음 강의 예고

이제 Azure Databricks에서
실제 Spark 클러스터를 생성하는 방법을 배웠습니다.

다음 강의에서는:

  • Databricks Community Edition에서 클러스터 생성
  • Single-node 환경에서 Spark가 어떻게 동작하는지를 살펴보겠습니다.