Elastic MapReduce (EMR) is a managed Hadoop framework that runs on EC2 instances. Despite its name, which references the older MapReduce component of Hadoop, EMR encompasses more than just Hadoop. Technologies like Spark, Hbase, Presto, Flink, Hive, and more can be pre-installed with EMR. EMR Notebooks are similar to Jupyter Notebooks and offer integration with various AWS services.
EMR is significant in the machine learning context as it facilitates processing vast datasets across clusters, preparing them for ML training jobs. Within EMR, a "cluster" refers to a collection of EC2 instances, with each instance termed a "node. Nodes come in types:
Master Node: Manages the cluster, distributing tasks and monitoring health. There's always one in every cluster.
Core Nodes: Run tasks and store data on the Hadoop Distributed File System (HDFS). Task Nodes: Only execute tasks and do not store data on HDFS, making them suitable for temporary tasks.
Clusters can be:
Transient: Terminates after completing predefined tasks.
Long-Running: Operates for a more extended period, suitable for ad hoc queries or continuous data experiments.
When creating a cluster, users can select frameworks and applications to meet their processing needs. These clusters can integrate with AWS services such as EC2, Amazon VPC, S3, CloudWatch, IAM, CloudTrail, and AWS Data Pipeline.
Regarding storage, EMR primarily uses HDFS, which distributes data across cluster instances. Data in HDFS is ephemeral, which means once the cluster terminates, the data is lost. But there's an alternative EMRFS, allowing S3 to act like an HDFS file system, offering more persistent storage. Additionally, there's a relationship between Elastic Block Storage (EBS) and HDFS.
EMR's pricing involves hourly charges plus any underlying EC2 costs. It automatically provisions new nodes if a core node fails, allows adding/removing of task nodes as needed, and offers the flexibility to resize the core nodes during operation.
Elastic MapReduce (EMR)는 EC2 인스턴스에서 실행되는 관리형 Hadoop 프레임워크입니다. 이름에는 Hadoop의 오래된 MapReduce 컴포넌트를 참조하고 있지만, EMR은 Hadoop만을 포함하는 것이 아닙니다. Spark, Hbase, Presto, Flink, Hive 등과 같은 기술들이 EMR에 사전 설치되어 있습니다. EMR 노트북은 Jupyter 노트북과 유사하며 다양한 AWS 서비스와의 통합을 제공합니다.
EMR은 클러스터를 통해 대규모 데이터셋을 처리하여 ML 훈련 작업을 준비하는 데 중요합니다. EMR 내에서 "클러스터"는 "노드"라고 불리는 EC2 인스턴스의 모음을 의미합니다. 노드는 다음과 같은 유형이 있습니다:
마스터 노드: 클러스터를 관리하며, 작업을 분배하고 건강을 모니터링합니다. 모든 클러스터에 항상 하나 있습니다.
코어 노드: 작업을 실행하고 Hadoop 분산 파일 시스템(HDFS)에 데이터를 저장합니다.
작업 (Task) 노드: HDFS에 데이터를 저장하지 않고 작업만 실행합니다, 임시 작업에 적합합니다.
클러스터는 다음과 같이 될 수 있습니다:
일시적: 사전 정의된 작업을 완료한 후 종료됩니다.
장기 실행: 더 긴 기간 동안 운영되며, ad hoc 쿼리 또는 지속적인 데이터 실험에 적합합니다.
클러스터를 생성할 때 사용자는 처리 필요성에 맞게 프레임워크와 응용 프로그램을 선택할 수 있습니다. 이러한 클러스터는 EC2, Amazon VPC, S3, CloudWatch, IAM, CloudTrail 및 AWS 데이터 파이프라인과 같은 AWS 서비스와 통합될 수 있습니다.
저장 관련으로 EMR은 주로 HDFS를 사용하며, 데이터를 클러스터 인스턴스에 분산 저장합니다. HDFS의 데이터는 일시적이므로 클러스터가 종료되면 데이터가 손실됩니다. 그러나 EMRFS라는 대안이 있어, S3를 HDFS 파일 시스템처럼 작동하게 해 더 영구적인 저장을 제공합니다. 또한 Elastic Block Storage (EBS)와 HDFS 사이에는 관계가 있습니다.
EMR의 가격은 시간당 요금과 기본적으로 발생하는 EC2 비용을 포함합니다. 코어 노드가 실패하면 자동으로 새 노드를 프로비저닝하며, 필요에 따라 작업 노드를 추가/제거 할 수 있으며 운영 중인 코어 노드의 크기를 조정할 수 있습니다.
Feature Engineering and the Curse of Dimensionality (0) | 2023.11.01 |
---|---|
Apache Spark on EMR (0) | 2023.10.31 |
AWS Athena & Quicksight (1) | 2023.10.30 |
AWS Recognition & Forecast (0) | 2023.10.30 |
Various AWS services for ML (0) | 2023.10.30 |