Amazon EMR란?

2026. 7. 23. 16:18·Data Engineering/AWS

들어가며

대용량 데이터를 처리할 때는 Apache Spark나 Hadoop과 같은 분산 처리 프레임워크를 많이 사용합니다. 하지만 이러한 환경을 직접 구축하려면 여러 대의 서버를 준비하고, Hadoop이나 Spark를 설치한 뒤 클러스터를 구성해야 합니다. AWS에서는 이러한 과정을 간소화하기 위해 Amazon EMR(Elastic MapReduce) 서비스를 제공합니다.

 

EMR은 몇 번의 설정만으로 Spark, Hadoop, Hive, Flink 등 다양한 빅데이터 프레임워크를 실행할 수 있는 완전 관리형 서비스입니다.

 

이번 글에서는 Amazon EMR이 무엇인지, 클러스터 구조는 어떻게 구성되는지, 그리고 실제로 어떤 방식으로 사용하는지 알아보겠습니다.


1. Amazon EMR이란?

Amazon EMR(Elastic MapReduce)은 AWS에서 제공하는 완전 관리형 빅데이터 플랫폼입니다.

기존에는 Hadoop이나 Spark를 사용하기 위해 직접 여러 대의 EC2를 생성하고 클러스터를 구성해야 했습니다. 하지만 EMR을 이용하면 이러한 과정을 AWS가 대신 관리해 주므로 사용자는 데이터 처리 작업에 집중할 수 있습니다.

 

EMR에서는 다음과 같은 다양한 오픈소스 프레임워크를 사용할 수 있습니다.

  • Apache Spark
  • Hadoop
  • Hive
  • HBase
  • Flink
  • Presto(Trino)

또한 AWS 서비스와도 쉽게 연동할 수 있습니다. 예를 들어,

  • Amazon S3
  • AWS Glue
  • Amazon Athena
  • Amazon Redshift

등과 함께 데이터 파이프라인을 구성할 수 있습니다.

1-1) 왜 EMR을 사용할까?

왼쪽은 사용자가 Spark 클러스터를 직접 구축하는 과정이고, 오른쪽은 EMR을 이용해 동일한 환경을 훨씬 간단하게 구성하는 과정을 보여줍니다.

1-1-1) 직접 Spark 클러스터를 구축하는 경우

직접 구축하는 방식에서는 먼저 EC2 인스턴스를 생성한 뒤 Spark와 Hadoop을 설치해야 합니다.

이후 Master와 Worker 노드로 클러스터를 구성하고, 보안 그룹과 네트워크를 설정한 뒤에야 spark-submit 등을 이용해 작업을 실행할 수 있습니다. 즉, 데이터 처리 작업뿐 아니라 클러스터 구축과 운영까지 직접 관리해야 하는 부담이 있습니다.

1-1-2) Amazon EMR을 사용하는 경우

반면 EMR은 클러스터를 생성하면서 사용할 프레임워크(Spark, Hive, Flink 등)를 선택하기만 하면 됩니다.

AWS가 필요한 환경을 자동으로 구성해 주므로 사용자는 별도의 설치나 클러스터 설정 없이 바로 Spark 작업을 실행할 수 있습니다. 또한 작업량이 증가하면 클러스터를 쉽게 확장할 수 있으며, 작업이 끝난 후에는 클러스터를 종료하여 비용도 효율적으로 관리할 수 있습니다.


2. EMR 클러스터 구조

https://www.leadfeeder.com/blog/marketing-analytics/emr-data-processing/

EMR은 여러 대의 EC2 인스턴스를 하나의 클러스터로 구성합니다.

클러스터는 크게 세 가지 노드로 구성됩니다.

  • Master Node
  • Core Node
  • Task Node

2-1) Master Node

Master Node는 클러스터를 관리하는 역할을 담당합니다. 주요 역할은 다음과 같습니다.

  • 클러스터 전체 관리
  • 작업(Job) 스케줄링
  • 노드 상태 모니터링
  • Spark Driver 실행

즉, 클러스터의 관리자 역할을 수행하는 노드입니다.

2-2) Core Node

Core Node는 실제 데이터를 저장하고 작업을 수행하는 노드입니다. 주요 역할은

  • HDFS 데이터 저장
  • Spark Executor 실행
  • 분산 처리 수행

입니다. Master가 작업을 분배하면 Core Node가 실제 데이터를 처리합니다. 클러스터에는 하나 이상의 Core Node가 존재합니다.

2-3) Task Node

Task Node는 데이터를 저장하지 않고 연산만 수행하는 노드입니다.

  • Spark Executor 실행
  • CPU 자원 제공

만 담당합니다. 데이터를 저장하지 않기 때문에 필요할 때만 쉽게 추가하거나 제거할 수 있으며, 비용 절감을 위해 Spot Instance를 사용하는 경우도 많습니다.


3. EMR 실행 방식

3-1) Transient Cluster

Transient Cluster는 작업이 끝나면 자동으로 종료되는 클러스터입니다.

클러스터 생성

↓

데이터 처리

↓

결과 저장

↓

클러스터 종료

필요한 시간 동안만 EC2를 사용하기 때문에 비용을 절약할 수 있습니다. 배치 작업이나 ETL에 많이 사용됩니다.

3-2) Long-Running Cluster

Long-Running Cluster는 계속 실행되는 클러스터입니다.

클러스터 생성

↓

지속적으로 작업 수행

↓

필요 시 종료

주기적으로 Spark 작업을 실행하거나 여러 사용자가 지속적으로 사용하는 환경에서 활용됩니다.

다만 사용하지 않는 시간에도 EC2 비용이 발생하므로 적절한 관리가 필요합니다.


4. EMR 사용 방법

EMR 클러스터를 생성한 뒤에는 다양한 방식으로 작업을 실행할 수 있습니다.

4-1) Master Node에 접속

SSH를 이용하여 Master Node에 접속한 뒤 Spark 작업을 실행할 수 있습니다.

4-2) EMR Step 이용

AWS 콘솔에서 Step을 등록하면 순서대로 작업을 실행할 수 있습니다. 각 Step은 순차적으로 실행되며, 이전 작업이 완료된 후 다음 작업이 수행됩니다.

4-3) 데이터 처리

EMR은 다양한 저장소의 데이터를 읽고 저장할 수 있습니다.

 


5. EMR 활용 예시

위 이미지는 Amazon EMR(Spark)을 이용해 대용량 데이터를 처리하는 데이터 파이프라인을 나타낸 것입니다.

 

먼저 원본 로그를 Amazon S3에 저장한 뒤, EMR에서 Spark를 실행하여 데이터를 분산 처리합니다. 이후 불필요한 데이터를 제거하고 필요한 형태로 전처리를 수행한 뒤, 분석에 적합한 Parquet 포맷으로 변환하여 다시 Amazon S3에 저장합니다.

 

최종적으로 저장된 Parquet 데이터는 Amazon Athena를 이용한 SQL 분석, QuickSight를 이용한 시각화, 머신러닝 모델 학습 등 다양한 분석 환경에서 활용할 수 있습니다.

 

핵심은 EMR이 대용량 데이터를 빠르게 가공하고, 분석에 최적화된 형태로 변환하여 데이터 활용 효율을 높여준다는 점입니다.


6. EMR의 장단점

구분 장점 단점
구축 및 운영 Spark, Hadoop 등을 직접 설치하거나 클러스터를 구성할 필요가 없다. 직접 구축하는 것보다 세부적인 설정을 제어하기 어려운 경우가 있다.
확장성 작업량에 따라 EC2 노드를 쉽게 추가하거나 제거할 수 있다. 클러스터 크기를 자주 변경하면 비용과 운영 관리가 복잡해질 수 있다.
AWS 연동 Amazon S3, Glue, Athena, Redshift 등 AWS 서비스와 쉽게 연동된다. AWS 서비스 중심으로 설계되어 다른 클라우드 환경으로 이전하기 쉽지 않을 수 있다.
비용 관리 작업이 끝난 후 클러스터를 종료하여 불필요한 비용을 줄일 수 있다. 클러스터를 종료하지 않으면 EC2 비용이 계속 발생한다.
지원 프레임워크 Spark, Hive, Hadoop, Flink, HBase 등 다양한 빅데이터 프레임워크를 하나의 환경에서 사용할 수 있다. 사용하지 않는 프레임워크까지 함께 구성하면 리소스가 낭비될 수 있다.
운영 편의성 AWS가 클러스터 생성, 패치, 일부 관리 작업을 대신 수행하여 운영 부담이 줄어든다. 관리형 서비스이므로 내부 동작을 세밀하게 제어하거나 수정하는 데는 한계가 있다.

7. 마치며

이번 글에서는 Amazon EMR의 기본 개념과 클러스터 구조, 그리고 실행 방식을 살펴보았습니다.

 

EMR은 Spark나 Hadoop을 직접 구축하지 않고도 AWS에서 손쉽게 분산 처리 환경을 사용할 수 있도록 지원하는 서비스입니다. 특히 Master, Core, Task Node로 역할을 분리하여 클러스터를 운영하며, 작업이 끝나면 클러스터를 종료하는 방식으로 비용도 효율적으로 관리할 수 있습니다.

 

이번 내용을 정리하면서 EMR은 단순히 Spark를 실행하는 서비스가 아니라, 분산 처리 환경을 쉽고 안정적으로 운영할 수 있도록 지원하는 관리형 플랫폼이라는 점을 이해할 수 있었습니다. 기존에는 Spark를 사용하려면 클러스터를 직접 구축해야 한다고 생각했지만, EMR은 이러한 운영 부담을 줄여 사용자가 데이터 처리 로직 작성에 더욱 집중할 수 있도록 도와준다는 점이 인상적이었습니다.

 

또한 EMR은 Amazon S3, AWS Glue, Athena 등 다양한 AWS 서비스와 자연스럽게 연계되어 데이터 수집부터 처리, 분석까지 하나의 데이터 파이프라인을 구성할 수 있다는 점도 확인할 수 있었습니다. 앞으로는 EMR에서 Spark 작업을 실행하는 과정과 실제 데이터 처리 예제를 통해 분산 처리 환경이 어떻게 동작하는지 더 자세히 학습해 볼 계획입니다.

'Data Engineering > AWS' 카테고리의 다른 글

Amazon EMR | EMR Serverless와 EMR on EKS 이해하기  (0) 2026.07.23
Amazon EMR | EMR은 데이터를 어디에 저장하고 AWS 서비스와 어떻게 연동될까?  (0) 2026.07.23
Amazon Athena | Federated Query로 다양한 데이터 소스를 SQL로 조회하기  (0) 2026.07.23
Apache Iceberg와 Glue Data Catalog 연동 이해하기  (0) 2026.07.22
AWS Athena | Workgroup, 비용 최적화, 보안  (0) 2026.07.21
'Data Engineering/AWS' 카테고리의 다른 글
  • Amazon EMR | EMR Serverless와 EMR on EKS 이해하기
  • Amazon EMR | EMR은 데이터를 어디에 저장하고 AWS 서비스와 어떻게 연동될까?
  • Amazon Athena | Federated Query로 다양한 데이터 소스를 SQL로 조회하기
  • Apache Iceberg와 Glue Data Catalog 연동 이해하기
jjaehyeok
jjaehyeok
jjaehyeok 님의 블로그 입니다.
  • jjaehyeok
    jjaehyeok 님의 블로그
    jjaehyeok
  • 전체
    오늘
    어제
    • 분류 전체보기 (120) N
      • Navisafe (16)
        • Infrastructure (14)
        • Data Pipeline (0)
        • Trouble shooting (2)
      • Data Engineering (67) N
        • Airflow (11)
        • Kafka (3)
        • Spark (1) N
        • ELK (2)
        • Kubernetes (7)
        • AWS (43) N
        • Flink (0)
      • CodingTest (31)
        • 문제 풀이(Lv1~Lv2) (21)
        • 문제 풀이(Lv3) (10)
        • SQL (0)
      • 알고리즘 정리 (3)
        • 자료구조 (스택, 큐, 해시) (3)
        • 정렬 & 그리디 (0)
        • DFS & BFS (0)
        • 이분탐색 (0)
        • DP (0)
      • 자격증 (1)
        • CKAD (1)
        • DEA-C01 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    DynamoDB
    CKAD
    datasync
    datatransfer
    elk
    trouble shooting
    Redshift
    S3
    Kafka
    Glue
    k8s
    EMR
    Airflow
    EC2
    ECR
    eks
    documentdb
    DEA-C01
    AWS
    Athena
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
jjaehyeok
Amazon EMR란?
상단으로

티스토리툴바