EMR
1 Amazon EMR
- Amazon EMR(Elastic MapReduce)는 클라우드 기반의 대규모 데이터 처리 플랫폼으로, Apache Hadoop, Apache Spark 등 오픈 소스 빅데이터 프레임워크를 사용하여 대량의 데이터를 신속하게 처리하고 분석할 수 있습니다.
- 유연하고 확장 가능한 클러스터를 통해 데이터 처리 작업을 쉽게 설정하고 관리할 수 있습니다.
2 주요 기능
2.1 유연한 클러스터 관리
- EMR은 자동으로 클러스터를 시작, 중지 및 크기를 조정할 수 있어 작업 부하에 맞게 자원을 효율적으로 관리할 수 있습니다.
- 필요에 따라 클러스터 크기를 동적으로 조정하여 비용을 최적화할 수 있습니다.
- 다양한 인스턴스 타입을 선택할 수 있어 작업 유형에 맞는 최적의 성능을 발휘할 수 있습니다.
2.2 다양한 데이터 처리 엔진 지원
- Amazon EMR은 Apache Hadoop, Apache Spark, Apache HBase, Presto 등 다양한 오픈 소스 데이터 처리 엔진을 지원합니다.
- 각 엔진은 대규모 데이터 세트를 처리하고 분석하는 데 적합한 기능을 제공하며, 사용자는 요구사항에 맞는 엔진을 선택하여 사용할 수 있습니다.
2.3 비용 효율적인 데이터 처리
- 사용한 만큼만 비용을 지불하는 유연한 요금제를 제공하여, 필요 없는 자원을 제거하고 비용을 절감할 수 있습니다.
- 스팟 인스턴스를 사용하여 비용을 추가로 절감할 수 있으며, 클러스터를 종료하면 자동으로 인스턴스를 해제하여 비용 발생을 최소화합니다.
2.4 고가용성과 보안
- EMR은 Amazon VPC와 통합되어, 네트워크 격리 및 사용자 정의 네트워크 구성 옵션을 제공합니다.
- 클러스터의 데이터는 자동으로 암호화되며, Amazon S3와 통합되어 안전하게 데이터를 저장 할 수 있습니다.
- IAM 역할을 통해 클러스터와 개별 작업에 대한 세밀한 액세스 제어를 설정할 수 있습니다.
3 사용 사례
3.1 로그 데이터 처리 및 분석
- 웹 서버 로그, 애플리케이션 로그 등의 대량 로그 데이터를 수집하고 분석하여 인사이트를 도출할 수 있습니다.
- Spark와 Hadoop을 사용하여 로그 데이터를 필터링, 집계 및 분석할 수 있습니다.
3.2 머신 러닝 모델 훈련
- 대규모 데이터 세트를 사용하여 머신 러닝 모델을 훈련할 수 있습니다.
- EMR의 확장 가능한 클러스터를 활용하여 병렬 처리 및 분산 컴퓨팅을 통해 훈련 시간을 단축할 수 있습니다.
3.3 데이터 웨어하우스 및 BI
- Presto와 Hive를 사용하여 대규모 데이터 웨어하우스에서 SQL 쿼리를 실행하고, 비즈니스 인텔리전스를 도출할 수 있습니다.
- 데이터를 Amazon S3에 저장하고, EMR을 통해 빠르고 효율적으로 쿼리를 실행할 수 있습니다.
4 Amazon EMR의 노드 유형 및 구매 옵션
- EMR 클러스터는 세 가지 유형의 노드로 구성됩니다.
4.1 마스터 노드
- 마스터 노드는 클러스터를 관리하고 조정하며, 상태를 모니터링합니다.
- 장기간 실행되는 노드입니다.
4.2 코어 노드
- 코어 노드는 작업을 실행하고 데이터를 저장합니다.
- 장기간 실행되는 노드입니다.
4.3 태스크 노드 (선택 사항)
- 태스크 노드는 작업만 실행하며, 주로 Spot 인스턴스를 사용합니다.
- 선택 사항이며, 필요에 따라 추가할 수 있습니다.
4.4 구매 옵션
- 온디맨드: 신뢰할 수 있고 예측 가능한 인스턴스로, 종료되지 않습니다.
- 예약 인스턴스 (최소 1년): 비용 절감 효과가 있으며, 사용 가능할 때 자동으로 사용됩니다.
- Spot 인스턴스: 저렴하지만 종료될 수 있으며, 신뢰성이 낮습니다.
- 클러스터 유형: 장기간 실행되는 클러스터 또는 일시적인 클러스터로 구성할 수 있습니다.
참고 자료