Spark - Databricks를 통한 디버그 환경설정
Databricks 소개
Databricks는 데이터 분석과 머신러닝을 위한 통합 분석 플랫폼으로,
Amazon, Microsoft, Google의 클라우드에서 작동합니다.
구조화 및 비구조화 데이터, 스트리밍 데이터 등 다양한 데이터 형식을 지원하며,
여러 오픈 소스 도구와 통합되어 데이터 분석, 대시보드, ETL, 머신러닝, 스트리밍 작업에 적합합니다.
Spark cluster 디버깅 환경을 설정하기가 쉽지 않은데 ( 여러개의 Docker, 혹은 여러개의 EC2 서버 구축 )
Spark의 복잡한 설정을 간소화하고 성능을 최적화하여 데이터 분석과 SQL 쿼리 실행에 편리한 환경을 제공합니다.
Databricks Community Edition
Community Edition은 무료 버전으로,
소규모 Spark 클러스터를 제공하여 Spark 코드 프로토타입을 작성할 수 있도록 합니다.
하지만 대규모 분산 컴퓨팅의 완전한 성능은 제한적입니다.
환경설정
계정 등록
아래의 웹사이트에 접속하여 Community Edition 사용하도록 계정을 등록합니다.
데이터 및 AI 기업 — Databricks
Databricks 플랫폼은 생성형 AI로 구동되는 세계 최초의 데이터 인텔리전스 플랫폼입니다. 이제 비즈니스의 모든 측면에 AI를 도입할 수 있습니다.
www.databricks.com
우측 상단의 'Databricks 이용해 보기' 클릭하여 계정 등록
등록된 계정으로 로그인하면 아래와 같은 화면을 볼 수 있습니다.
클러스터 생성
먼저 Spark를 실행할 Cluster를 생성해야 합니다.
좌측 메뉴의 'Compute' 버튼을 눌러 새 클러스터를 생성합니다.
Runtime 선택시 왠만하면 최신 LTS 버전으로 선택해 줍니다.
실행 소스 생성
클러스터가 생성되었다면 좌측메뉴의 'Workspace'를 클릭하여 빈곳에 우클릭합니다.
Notebook을 생성해 pyspark를 실행할 수도 있고, 그외 다양한 언어로도 선택이 가능합니다.
해당 작업공간은 초대를 통해 공유할 수도, 공유 될 수도 있습니다.
또는 남들이 예시를 잘 만들어 놓은 .dbc확장자 파일( databricks에서 여러개의 노트북을 묶은 파일 )을
import하여 spark를 실행해 볼 수도 있습니다.
( 예시 : https://files.training.databricks.com/courses/ucdavis/Lessons.dbc )
예제 데이터
아래 코드를 실행하면 기본적으로 databricks에서 제공하는 파일을 확인하실 수 있습니다.
%fs ls /databricks-datasets/
Spark UI
여러 기능이 있지만 가장 편리했던 것은
각 실행 코드마다 spark stage와 job의 실행계획을 바로 확인할 수 있는 것이였습니다.