메뉴 닫기

SageMaker Unified Studio와 EMR Serverless를 활용한 Spark 개발 자동화 및 모니터링

AWS SageMaker Unified Studio와 EMR Serverless를 활용한 Spark 애플리케이션 개발 및 모니터링

기업에서 대용량 데이터를 기반으로 한 분석과 머신 러닝 애플리케이션을 구축할 때 흔히 마주하는 문제로는 개발 환경의 분산, 리소스 관리의 복잡성, 파편화된 모니터링 시스템, 수작업 기반의 일정 관리 등이 있습니다. 특히, 매일 테라바이트 수준의 데이터를 처리하는 기업에서는 이러한 문제가 심각한 병목으로 작용합니다.

이번 글에서는 Amazon SageMaker Unified Studio와 Amazon EMR Serverless를 활용하여 Amazon S3에 존재하는 데이터를 기반으로 Spark 애플리케이션을 효율적으로 개발, 배포, 스케줄링, 모니터링하는 자동화된 워크플로우 구축 가이드를 공유합니다.

통합 분석 환경의 필요성과 AWS의 접근법

기존의 빅데이터 분석 환경에서는 다수의 도구 및 플랫폼을 사용하며 데이터 엔지니어가 직접 클러스터를 설정하고, 모니터링하고, 일정 실행을 구성하는 데 많은 시간이 소요되었습니다. 이를 해결하기 위해 AWS는 SageMaker Unified Studio에서 통합된 Spark 애플리케이션 개발 환경을 제공합니다.

Amazon EMR Serverless는 워크로드 수요에 따라 자동으로 컴퓨팅 리소스를 할당하고 해제하기 때문에 클러스터를 수동으로 관리할 필요가 없습니다. 또한 Apache Airflow 기반의 Amazon MWAA를 통해 반복적인 분석 작업을 손쉽게 자동화할 수 있습니다.

주요 구성 요소 및 아키텍처

EMR Serverless, JupyterLab, Airflow를 SageMaker Unified Studio에서 통합하여 활용하는 아래 아키텍처는 개발과 배포의 복잡성을 현저히 줄여줍니다.

SageMaker Unified Studio에서 EMR Serverless 컴퓨팅 리소스 추가

단계별 구현 가이드

  1. EMR Serverless 환경 설정
    SageMaker Unified Studio에서 프로젝트를 생성 후 ‘Compute – Data processing’ 메뉴에서 신규 컴퓨팅 리소스를 추가하고, ‘EMR Serverless’를 선택해 설정을 완료합니다.

    EMR Serverless 설정 화면

  2. JupyterLab 환경에서 Spark 애플리케이션 개발
    TPC-DS 데이터를 활용한 PySpark 분석 코드를 JupyterLab에서 작성합니다. S3에서 데이터를 불러오고 임시 뷰로 등록하여 SQL 기반 질의를 수행할 수 있습니다.

spark.read.parquet("s3://[TPCDS경로]/store/").createOrReplaceTempView("store")

Spark UI 예시

  1. 실행 및 모니터링
    작성된 노트북을 실행하면 Spark UI 상에서 Job의 상태, 실행 시간, Task 분할 수 및 병목 구간을 시각적으로 확인할 수 있어 성능 테스트와 디버깅이 용이합니다.

  2. Apache Airflow를 통한 작업 자동화
    Amazon MWAA를 SageMaker Unified Studio에 통합해 반복 실행이 필요한 Spark 분석 작업을 스케줄링합니다.

    Amazon MWAA 워크플로우 생성 화면

  • DAG 스케줄 수정, 노트북 경로 지정, Airflow DAG ID 생성 등을 통해 파이프라인을 구성하고 손쉽게 주기적 자동화를 구현할 수 있습니다.

MWAA 실행화면 예시

성능 최적화와 상세 분석

Spark UI의 Jobs 탭을 통해 각 Job의 Stage 세부 정보 및 Task 실행 시간 등을 확인할 수 있으며, 이를 기반으로 쿼리 성능을 개선하고 리소스 활용을 최적화할 수 있습니다. TPC-DS 기준 SQL을 활용해 샘플 데이터를 기반으로 분석하고, 결과를 시각적으로 확인할 수 있습니다.

결론

Amazon SageMaker Unified Studio와 EMR Serverless는 대규모 데이터 분석 및 머신러닝 워크로드 환경에서 개발자와 데이터팀에게 많은 이점을 제공합니다. 단일한 인터페이스를 통한 코드 작성, 실행, 자동화 및 성능 모니터링까지의 모든 과정을 단순화하여 빅데이터 분석과정의 배포 자동화 및 운영 효율성을 극대화할 수 있습니다.

이런 접근 방식은 다음과 같은 가치 창출로 이어집니다:

  • 인프라 관리를 최소화하면서 개발 집중 가능
  • 실시간 Job 모니터링으로 장애 대응력 향상
  • 비용 최적화를 위한 자동 리소스 스케일링
  • 재사용 가능한 분석 패턴 구축 및 배포 자동화

지금 바로 Amazon SageMaker Unified Studio를 도입하여 귀사의 데이터 분석 환경을 혁신해 보세요.

[1] https://aws.amazon.com/blogs/big-data/develop-and-monitor-a-spark-application-using-existing-data-in-amazon-s3-with-amazon-sagemaker-unified-studio/

AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!

(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기


AI, Cloud 도입 상담 배너