메인 콘텐츠로 건너뛰기

Amazon EMR 시작하기

Amazon EMR

  • 개요
  • 요금

EMR 사용 방법

1. 선호하는 EMR 배포 모델 선택

Amazon EMR을 사용하면 Apache Spark, Hive, Flink, Trino 등의 오픈 소스 도구를 사용하여 방대한 양의 데이터를 처리할 수 있습니다. 원하는 EMR 배포 모델을 선택하기만 하면 됩니다.

  • EMR Serverless: 클러스터를 관리하지 않고 애플리케이션을 실행하고 워크로드에 따라 리소스를 자동으로 스케일 업하거나 다운합니다.
  • EMR on EC2: 인스턴스 유형, 사용자 지정 AMI를 비롯한 클러스터 구성을 제어합니다.
  • EMR on EKS: 공유 Amazon EKS 클러스터에서 다른 Kubernetes 기반 애플리케이션과 분석을 통합합니다.

2. 데이터 처리 애플리케이션 개발

Amazon EMR은 광범위한 프레임워크와 언어를 지원하므로 표준 ETL 파이프라인부터 대규모 생성형 AI 데이터 준비에 이르기까지 모든 것을 구축할 수 있습니다.

언어: 데이터 과학 및 기계 학습에는 PySpark (PySpark)를, 분석 쿼리에는 SQL(Hive 또는 Trino를 통해)을, 고성능 Spark 애플리케이션에는 Java 및 Scala를 사용합니다.

프레임워크: 대규모 데이터 처리를 위한 Apache Spark, 실시간 스트리밍을 위한 Apache Flink, 여러 데이터 소스에서 빠른 SQL 쿼리를 위한 Trino, 트랜잭션 데이터 레이크 관리를 위한 Apache Hudi 또는 Iceberg를 사용하여 애플리케이션을 구축하고 실행합니다.

3. 데이터 준비 및 수집

처리를 시작하려면 Amazon EMR에서 데이터에 액세스할 수 있어야 합니다. Amazon S3는 EMR 애플리케이션의 표준 스토리지 계층이지만 로컬 환경이나 다른 AWS 서비스에서 데이터를 빠르게 이동할 수 있는 몇 가지 방법이 있습니다.

  • 직접 업로드: 즉시 처리하려면 AWS Management Console, CLI 또는 SDK를 사용하여 Amazon S3에 직접 객체를 업로드합니다.
  • 고속 연결: AWS Direct Connect를 사용하여 퍼블릭 인터넷을 우회하고 데이터 센터에서 AWS로 프라이빗 전용 네트워크 연결을 설정합니다. 그러면 대규모 전송의 대역폭이 일정해지고 지연 시간이 줄어듭니다.
  • 실시간 스트리밍: Amazon Data Firehose 또는 Amazon Managed Streaming for Apache Kafka(MSK)를 사용하여 데이터 생성되는 대로 EMR 애플리케이션에 직접 데이터를 공급해 거의 실시간 분석을 지원할 수 있습니다.
  • 제로 ETL 통합: 제로 ETL 기능을 사용하여 Amazon Aurora 또는 Amazon Redshift의 데이터를 분석합니다. 그러면 EMR은 수동으로 파이프라인을 구성할 필요 없이 운영 데이터에 액세스할 수 있습니다.
  • 하이브리드 액세스: 데이터가 로컬 Hadoop HDFS 환경에 있는 경우 S3 Connector를 사용하여 EMR로 직접 데이터를 읽거나 클라우드 기반 처리를 위해 특정 데이터세트를 동기화할 수 있습니다.

4. 실행 및 모니터링

Amazon EMR은 일회성 작업을 실행하든 지속적 프로덕션 파이프라인을 실행하든 관계없이 간소화된 배포 환경을 제공합니다.

  • EMR Studio를 통해 실행: EMR Studio 노트북을 열고 서버리스 애플리케이션 또는 기존 EC2 클러스터에 연결합니다. 클릭 한 번으로 완전 관리형 환경에서 Spark 또는 Hive 코드를 실행할 수 있습니다.
  • 서버리스: EMR 서버리스를 사용하는 경우 콘솔, CLI 또는 API를 통해 작업을 제출하세요. EMR은 정확히 필요한 만큼 컴퓨팅과 메모리를 자동으로 프로비저닝하여 최대 용량을 처리할 수 있도록 스케일 업하고 완료 시 0으로 다운합니다.
  • SageMaker Unified Studio를 통해 실행: SageMaker Unified Studio 내에서 서버리스 노트북을 열고 이를 EMR 서버리스 애플리케이션 또는 EC2 클러스터의 EMR에 즉시 연결할 수 있습니다. 

5. 실행 모니터링 및 최적화

EMR은 병목 현상을 찾아내 비용을 자동으로 최적화하는 데 도움이 되는 내장 도구를 통해 데이터 파이프라인에 대한 가시성을 제공합니다.

EMR 관리 콘솔, AWS CLI 또는 SDK를 통해 작업 진행 상황과 클러스터 상태를 모니터링할 수 있습니다. EMR은 실시간 지표, 로그, 자동 알림을 위해 Amazon CloudWatch와의 기본 통합을 제공합니다.

콘솔에서 직접 실시간 영구 Spark UI 또는 Tez UI에 액세스하여 서버리스 작업이 완료된 후에도 실시간으로 라이브 작업을 디버그하여 실행 계획과 DAG(Directed Acyclic Graph)를 검토할 수 있습니다.

첫 번째 클러스터를 실행할 준비가 되었습니까?

Amazon EMR Management Console을 사용하여 클러스터를 시작하려면 여기를 클릭하세요. 샘플 데이터가 있는 샘플 애플리케이션을 실행하려면, Create Cluster 페이지에서 Advanced cluster configuration으로 이동하여 오른쪽 위에 있는 회색 "Configure Sample Application" 버튼을 클릭하십시오.

교육 및 도움말

    EMR 애플리케이션의 개념 증명 구축과 튜닝을 원하십니까? AWS에는 EMR에 특화된 글로벌 지원 팀이 있습니다. 단기(2~6주) 유료 지원 서비스에 대한 자세한 내용을 원하시면 AWS에 문의해 주십시오.

    Big Data on AWS 과정은 빅 데이터 워크로드에 Amazon Web Services를 어떻게 사용하는지 실습 활동을 통해 교육을 진행하도록 고안되어 있습니다. AWS에서는 Pig와 Hive 같은 하둡 도구를 사용하여 데이터를 처리할 수 있도록 Amazon EMR 작업을 실행하는 방법을 보여 드립니다. 또한, AWS에서는 Amazon DynamoDB와 Amazon Redshift로 작업하여 클라우드에서 빅 데이터 환경을 구축하는 방법, Amazon Kinesis의 장점, 분석/보안/비용 효과적인 빅 데이터 환경을 설계하도록 모범 사례를 활용하는 방법을 알려 줍니다. 빅 데이터 과정에 대한 자세한 내용을 보려면 여기를 클릭하세요.

    Scale Unlimited는 EMR을 비롯한 빅 데이터 기술 사용법을 빠르게 익혀야 하는 회사를 대상으로 맞춤식 현장 교육을 제공합니다. 자세한 내용을 보려면 여기를 클릭하세요.