AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kiyoung Kim
WWSO Data Specialist SA
Amazon EMR Serverless
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
2
• Amazon EMR Serverless
• 핵심 기념
• 예시
• 일반적인 사용 패턴
• 비용
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
간편한 사용
관리할 서버 없음 – Amazon EMR Serverless는 데이터 처리
애플리케이션의 각 단계에 필요한 컴퓨팅 및 메모리 리소스를
프로비저닝, 구성 및 동적으로 확장
빠른 성능
표준 오픈 소스와 호환되고 2배 이상 빠른 성능 최적화 런타임
포괄적
애플리케이션을 쉽게 개발, 시각화, 디버깅 할 수 있는 노트북 및
친숙한 오픈 소스 도구가 포함된 EMR Studio 포함
비용 효율적
사용한 컴퓨팅 시간과 리소스에 대해서만 비용 지불
Amazon EMR
Serverless
클 러 스 터 와 서 버 를 관 리 하 지 않 고 도
E M R 의 모 든 이 점 을 누 릴 수 있 습 니 다
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
결정해야 할 사항이 적음
인스턴스 유형이나 클러스터 크기에 대해 생각할 필요가 없음
클러스터를 구성, 최적화, 운영 및 보호할 필요가 없음
OS 등의 패치를 관리할 필요가 없음
세분화된 확장은 워크로드의 모든 단계에서 Worker를 추가 및 제거
데이터 볼륨이 변경될 때 재구성할 필요 없음
사용한 리소스에 대해서만 비용 지불
최대 확장 제한을 지정하여 비용 제어
자동 확장. 클러스터 크기를
추측할 필요가 없음
오픈 소스 프레임워크를 더 쉽게
실행 – 단순히 버전을 선택하고
실행
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Apache Spark 및 Apache Hive용 Amazon EMR Runtime 최적화
버전 사용
OSS 출시 후 60일 이내 신규 버전 출시
오픈 소스 호환 유지
Amazon EMR의 성능 최적화
런타임 및 오픈 소스 호환 유지
다중 AZ
Job이 최상의 가용 영역(AZ)에 자동으로 배포
단일 Job은 여전히 단일 AZ에서 실행되어 AZ 간 네트워크 통신을 방지
AZ 장애 시 정상 AZ에서 작업 재시도
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
모든 Job에 IAM Role을 지정하여 액세스 권한 지정
Job별 실행 Role로 멀티 테넌시에 대한 권한 부여 간소화
Job 별 실행 Role
한 번 빌드, 모든 배포
프레임워크에서 실행
Amazon EMR on EC2, Amazon EKS, AWS Outposts, Serverless
Amazon EMR Runtime을 사용하여 구축된 애플리케이션은 모든 배포
모델에서 사용 가능
향후 다른 배포로 마이그레이션할 수 있는 유연성 유지
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates.
핵심 개념
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
작동 방식
Amazon Managed Workflows for
Apache Airflow (Amazon MWAA)
AWS Step
Functions
EMR Studio
notebooks
Custom data
pipelines
AWS CLI/
AWS SDK
Amazon EMR
application
Availability Zone 1
Amazon EMR service account
Spark Spark Spark Spark Spark
Spark Spark Spark Spark Spark Spark
유저
Spark Job 실행
Amazon
S3
AWS Glue
Data Catalog
AWS
KMS
Amazon
CloudWatch
Amazon
RDS
Customer AWS account
관리자/유저
생성
1
2
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• 다양한 오픈소스 프레임워크 사용
(예: Hive or Spark)
• 다양한 사용 사례를 위한 다양한 버전의
오픈소스 프레임워크
• 한 버전에서 다른 버전으로 업그레이드 할 때
A/B 테스트 수행
• 테스트와 프로덕션 시나리오에 대해 별도의
논리적 환경 유지 관리
• 독립적인 비용 제어 및 사용 추적을 통해 서로
다른 팀에 별도의 논리적 환경을 제공하기 위해
• 서로 다른 기간 업무(LOB) 응용 프로그램을
논리적으로 분리 (예: finance vs. marketing)
Application = OSS 프레임워크와 버전
Application
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Jobs
Application에서 Job 실행
Application서 여러 Job을
실행할 수 있음
Job별 실행 Role을 사용하여
권한 부여 제어 가능
Workers
워크로드를 실행하는 데
내부적으로 사용됨
Worker는 선택한 OSS
프레임워크를 실행
Worker의 크기를 변경하여 성능
제어 가능
Apache
Spark
Apache
Hive
Preinitialized
workers
선택적으로 Worker 사전
초기화 기능
Job은 즉시 실행 됨
웜 풀(warm pool) 유지에 도움
Apache
Spark
Apache
Hive
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates.
예시
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates.
1. EMR Studio
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Application 생성
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Application 생성
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Job 실행
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Job 실행
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Job 실행
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Console 데모
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates.
2. AWS CLI
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
aws emr-serverless create-application
--name emr-serverless-application
--type 'SPARK'
--release-label emr-6.10.0
Application 생성
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
상태 설명
CREATING 응용 프로그램을 준비 중이며 아직 사용할 준비가 되지 않았습니다.
CREATED Application이 생성되었지만 아직 용량을 프로비저닝 하지 않았습니다.
Application을 수정하여 초기 용량 구성을 변경할 수 있습니다.
STARTING Application이 시작되고 용량을 프로비저닝 하는 중입니다.
STARTED Application에서 새 작업을 수락할 준비가 되었습니다. 애플리케이션은 이 상태일
때만 작업을 실행 할 수 있습니다.
STOPPING 모든 작업이 완료되었고 애플리케이션이 용량을 해제하고 있습니다. 용량
프로비저닝에 장애가 있는 경우 EMR Serverless가 Application을 이 상태로 이동할
수 있습니다.
STOPPED Application이 중지되고 애플리케이션에서 실행 중인 리소스가 없습니다.
Application을 수정하여 초기 용량 구성을 변경할 수 있습니다.
TERMINATED Application이 종료되어 Application목록에 나타나지 않습니다. EMR Serverless는
생성 실패 시 Application을 이 상태로 이동할 수 있습니다.
Application 상태
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
aws emr-serverless create-application
--name emr-serverless-application
--type 'SPARK'
--release-label emr-6.10.0
• Job 실행 시 자동 시작(기본값 true) – option 으로 조절 가능
--auto-start-configuration '{"enabled": true}’
• Idle 상태에서 15분 후 자동 정지 (기본값 true, idle 시간 15분) - option 으로 조절 가능
--auto-stop-configuration '{"enabled": true, "idleTimeoutMinutes": 25}'
Application 생성
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
aws emr-serverless create-application --name emr-serverless-
application --type 'SPARK' --release-label emr-6.10.0
--initial-capacity '{
"DRIVER": {
"workerCount": 2,
"resourceConfiguration": {
"cpu": "2vCPU",
"memory": "4GB"
}
},
"EXECUTOR": {
"workerCount": 10,
"resourceConfiguration": {
"cpu": "4vCPU",
"memory": "4GB"
}
}
}'
--maximum-capacity '{
"cpu": "200vCPU",
"memory": "200GB",
"disk": "1000GB"
}’
초기, 최대 용량 지정
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
aws emr-serverless start-job-run
--application-id <APPLICATION_ID>
--execution-role-arn <JOB_ROLE_ARN>
--job-driver '{
"sparkSubmit": {
"entryPoint": "s3://<S3_BUCKET>/code/pyspark/extreme_weather.py",
"sparkSubmitParameters": "--conf spark.driver.cores=1
--conf spark.driver.memory=3g --conf spark.executor.cores=4
--conf spark.executor.memory=3g --conf spark.executor.instances=10"
}
}'
--configuration-overrides '{
"monitoringConfiguration": {
"s3MonitoringConfiguration": {
"logUri": "s3://<S3_BUCKET>/logs/"
}
}
}'
Job 실행
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CLI 데모
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates.
3. MWAA (Airflow)
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• requirement.txt에 다음과 같이 추가
• Amazon provider의 릴리즈 5.0.0에 EMR 서버리스 지원이 추가되었습니다. 릴리즈 6.0.0은 Airflow
2.2.2와 호환되는 마지막 버전입니다. 이후 버전은 MWAA에서 Airflow 2.4.3과 함께 사용할 수
있습니다.
https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/using-airflow.html 참고
apache-airflow-providers-amazon==6.0.0
boto3>=1.23.9
EMR Serverless Operator
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DAG 예시
from datetime import datetime
from emr_serverless.operators.emr import (
EmrServerlessCreateApplicationOperator,
EmrServerlessDeleteApplicationOperator,
EmrServerlessStartJobOperator,
)
from airflow import DAG
APPLICATION_ID = "0123abcdefghijk"
JOB_ROLE_ARN = "arn:aws:iam::123456789012:role/emr-serverless-execution-role"
S3_LOGS_BUCKET = "aws-logs-123456789012"
DEFAULT_MONITORING_CONFIG = {
"monitoringConfiguration": {
"s3MonitoringConfiguration": {"logUri": f"s3://{S3_LOGS_BUCKET}/emr-serverless/"}
},
}
with DAG(
dag_id="emr_serverless_e2e_demo",
schedule_interval=None,
start_date=datetime(2021, 1, 1),
tags=["example"],
catchup=False,
) as dag:
create_app = EmrServerlessCreateApplicationOperator(
task_id="create_spark_application", job_type="SPARK", release_label="emr-6.6.0",
config={"name": "demo-applicatoin-01"}
)
application_id = create_app.output
job1 = EmrServerlessStartJobOperator(
task_id="start_job_1",
application_id=application_id,
execution_role_arn=JOB_ROLE_ARN,
job_driver={
"sparkSubmit": {
"entryPoint": "s3://example-bucket/wordcount/scripts/wordcount.py",
"entryPointArguments": [
"s3://example-bucket/wordcount/input",
"s3://example-bucket/wordcount/output"
],
"sparkSubmitParameters": "--conf spark.executor.cores=1 --conf spark.executor.memory=4g
--conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1"
}
},
configuration_overrides=DEFAULT_MONITORING_CONFIG,
)
job2 = EmrServerlessStartJobOperator(
task_id="start_job_2",
application_id=application_id,
execution_role_arn=JOB_ROLE_ARN,
job_driver={
"sparkSubmit": {
"entryPoint": "s3://example-bucket/reviews_counts/scripts/reviews_count.py",
"entryPointArguments": ["s3://example-bucket/review_counts/output"],
"sparkSubmitParameters": "--conf spark.executor.cores=1 --conf spark.executor.memory=4g
--conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1
--conf spark.hadoop.hive.metastore.client.factory.class=
com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory"
}
},
configuration_overrides=DEFAULT_MONITORING_CONFIG,
)
delete_app = EmrServerlessDeleteApplicationOperator(
task_id="delete_app",
application_id=application_id,
)
(create_app >> [job1, job2] >> delete_app)
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
MWAA 데모
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates.
Amazon EMR
Serverless의 일반적인
사용 패턴
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates.
패턴 1: 데이터 파이프라인
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EC2 기반
Application 생성
Job 실행
EMR Serverless 기반
시작
완료
인스턴스 타입, 클러스터 크기
결정
클러스터 생성
클러스터 종료
Job 실행
시작
완료
패턴 1: 데이터 파이프라인
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Amazon EMR
application A
Worker 수 = 0
Step A는 3 Worker 필요
Run
Step D
Process
Step B
Process
Step C
Step A
Service account
파이프라인 실행이 간단
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Worker 수 = 3
Service account
Amazon EMR
application A
Run
Step D
Process
Step B
Process
Step C
Step A
Spark Spark Spark
Step A는 3 Worker 필요
파이프라인 실행이 간단
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Amazon EMR
application A
Worker 수 = 18
Step C는 10
Worker 필요
Run
Step D
Process
Step B
Process
Step C
Step A
Step B는 8 Worker
필요
Step C는 10 Worker로 실행
Step B는 8 Worker로 실행
Service account
Spark Spark Spark Spark
Spark Spark Spark Spark
Spark Spark Spark Spark Spark Spark Spark
Spark Spark Spark
파이프라인 단계 별 실행 시 자동 확장
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Worker 수 = 10
Run
Step D
Process
Step B
Process
Step C
Step A
Step D는
10 Worker
필요
Step D는 10 Worker 로 실행
Service account
Amazon EMR
application A
Spark Spark Spark Spark Spark Spark Spark
Spark Spark Spark
세분화 된 확장으로 비용 감소
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates.
패턴 2: 공유 클러스터
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Data engineer 1
Job A
Data engineer 2
Job B
AWS Step Functions
Pipeline A
Pipeline B
Job의 성능을 유지하기 위해 큐가 있는
공유 온프레미스 클러스터
클러스터나 큐(Queue)에서 리소스를 관리하기 위한 YARN
Amazon MWAA
온프레미스에서 큐를 사용하는 공유 클러스터
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
워크로드 특성에 따라 자동으로 확장, 축소 됩니다.
Job A
Job B
Pipeline A
Pipeline B
Data engineer 1
Data engineer 2
AWS Step Functions
Amazon MWAA
Auto Scaling을 사용하는 Amazon EC2의 Amazon EMR
공유 클러스터
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Job A
Job B
Pipeline A
Pipeline B
Availability Zone 1
Spark Spark Spark
Spark Spark Spark
Spark Spark Spark
Spark Spark Spark
Spark Spark Spark
Spark
Spark
Spark
Spark
Data engineer 1
Data engineer 2
AWS Step Functions
Amazon MWAA
Amazon EMR Serverless 공유 클러스터
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Data engineer 1
Availability Zone 1
Job A
Workers는 실행 role A 사용
Amazon EMR
application X
Data engineer 2
Workers는 실행 role B 사용
Worker 수 = 10
Job B
S3 버킷 B 접근
Amazon DynamoDB
테이블 B 접근
S3 버킷 A 접근
Amazon Redshift 클러스터
A 접근
CloudWatch log group A
Role B
Role A
Role A
Role B
Spark Spark Spark Spark Spark Spark
Spark Spark Spark Spark
Job 별 실행 Role
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Data engineer 1
Availability Zone 1
Job A
Worker 수 = 6
실시간 Job 진행 상황
Job 이 완료 된 후에도
Spark 혹은 Tez UI 로
상세한 내용 분석
Spark Spark Spark Spark Spark Spark
Workers는 실행 role A 사용
매우 간단한 디버깅 작업
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates.
패턴 3: 대화형 애플리케이션
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Amazon EMR
application A
Worker 수 = 0
“InitialCapacity = 10”
State = Stopped
Spark Spark
Spark Spark
Spark Spark
Spark Spark
Spark Spark
사전 초기화된(Preinitialized) 용량은 Application을 위한
웜풀(warm pool)
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Worker 수 = 10
“InitialCapacity = 10”
State = Ready
Worker는
워크로드를
받을 준비 완료
Spark Spark
Spark Spark
Spark Spark
Spark Spark
Spark Spark
Amazon EMR
application A
Application 이 시작될 때 Worker도 시작
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Worker 수 = 10
“InitialCapacity = 10”
State = Ready
Job은 즉시
시작
Job A (~3 Worker)
Spark Spark
Spark Spark
Spark Spark
Spark Spark
Spark Spark
Amazon EMR
application A
Job은 사전 초기화 된 용량으로 즉시 시작
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Worker 수 = 10
“InitialCapacity = 10”
State = Ready
사전 초기화
된 용량 먼저
사용
Job B (~7 workers)
Job A (~3 workers)
Spark Spark
Spark Spark
Spark Spark
Spark Spark
Spark Spark
Amazon EMR
application A
여러 Job 즉시 실행 가능
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Worker 수 = 15
State = Ready
사전 초기화된
용량이 워크로드
실행에 모자랄
경우 추가 Worker
프로비저닝
Job B (~7 workers)
Job A (~3 workers)
Job C (~5 workers)
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Amazon EMR
application A
워크로드 증가에 따라 자동으로 추가 용량 요청
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Worker 수 = 10
“InitialCapacity = 10”
Job B (finished)
Job A (finished)
Job C (finished)
State = Ready
Job 완료 후
Application의 초과
Worker 해제
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Amazon EMR
application A
모든 Job이 완료된 후에도 사전 초기화된 용량은 유지
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Availability Zone 1
Worker 수 = 0
“InitialCapacity = 10”
State = Stopped
Application이
중지 될 때 모든
Worker도 중지
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Spark
Amazon EMR
application A
Application 중지
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates.
비용
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Stage 2
Stage 1
Stage 3
Job 실행
처음 10분간 10개의 Worker 사용
다음 10분간 40개 Worker 사용
다음 5분간 5개의 Worker 사용
10분 동안 10
Worker에 대한
컴퓨팅, 메모리 및
디스크 집계
10분 동안 40
Worker에 대한
컴퓨팅, 메모리
및 디스크 집계
5분 동안 5
Worker에 대한
컴퓨팅, 메모리 및
디스크 집계
예시
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Worker 실행 시간에 대한 초당 지불 (최소 1분)
• Worker 당 사용된 리소스 집계(vCPU, 메모리,
스토리지)
Per vCPU per hour $0.060528
Per GB per hour $0.006643
Per storage GB per hour* $0.000127
비용
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
EMR 배포 옵션 비교
기능 EMR on EC2 EMR on EKS EMR Serverless
Multi-AZ Availability
No
(clusters run in a single AZ)
Yes
(with multi-AZ EKS clusters)
Yes
(Automated Job Redirection)
OSS Frameworks Spark, Hive, Presto, Trino, Flink Spark Spark, Hive
Ability to choose OSS version Yes Yes Yes
Automatic Resource Scaling Yes Yes Yes
Ability to choose Instance Type Yes
Optional
(use EC2 instances or Fargate)
No
Ability to use EC2 Spot Yes Yes No
Pricing By instance type used By VPCU and Memory used By VCPU and Memory used
Ability to allocate costs Per Cluster Per Application Per Application or Per Job
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
최근 출시 기능
• Custom Image support – Q1
• Large CPU/Memory Support for Workers – Q1
• Application Logs CMK support – Q1
• Improved cost visibility for billed resource per job – Q2
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Service page
https://aws.amazon.com/emr
Getting started
https://aws.amazon.com/emr/getting-started/
AWS Big Data Blog
https://aws.amazon.com/blogs/big-data/
문서
https://go.aws/3d3Ty7h
Amazon EMR Serverless 블로그
https://go.aws/3Da5PS9
Resources
AWS DATA WEEK 2023
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark.
Thank you!

Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Analytics Specialist, WWSO, AWS ::: AWS Data Roadshow 2023

  • 1.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kiyoung Kim WWSO Data Specialist SA Amazon EMR Serverless
  • 2.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda 2 • Amazon EMR Serverless • 핵심 기념 • 예시 • 일반적인 사용 패턴 • 비용
  • 3.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 간편한 사용 관리할 서버 없음 – Amazon EMR Serverless는 데이터 처리 애플리케이션의 각 단계에 필요한 컴퓨팅 및 메모리 리소스를 프로비저닝, 구성 및 동적으로 확장 빠른 성능 표준 오픈 소스와 호환되고 2배 이상 빠른 성능 최적화 런타임 포괄적 애플리케이션을 쉽게 개발, 시각화, 디버깅 할 수 있는 노트북 및 친숙한 오픈 소스 도구가 포함된 EMR Studio 포함 비용 효율적 사용한 컴퓨팅 시간과 리소스에 대해서만 비용 지불 Amazon EMR Serverless 클 러 스 터 와 서 버 를 관 리 하 지 않 고 도 E M R 의 모 든 이 점 을 누 릴 수 있 습 니 다
  • 4.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 결정해야 할 사항이 적음 인스턴스 유형이나 클러스터 크기에 대해 생각할 필요가 없음 클러스터를 구성, 최적화, 운영 및 보호할 필요가 없음 OS 등의 패치를 관리할 필요가 없음 세분화된 확장은 워크로드의 모든 단계에서 Worker를 추가 및 제거 데이터 볼륨이 변경될 때 재구성할 필요 없음 사용한 리소스에 대해서만 비용 지불 최대 확장 제한을 지정하여 비용 제어 자동 확장. 클러스터 크기를 추측할 필요가 없음 오픈 소스 프레임워크를 더 쉽게 실행 – 단순히 버전을 선택하고 실행
  • 5.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Apache Spark 및 Apache Hive용 Amazon EMR Runtime 최적화 버전 사용 OSS 출시 후 60일 이내 신규 버전 출시 오픈 소스 호환 유지 Amazon EMR의 성능 최적화 런타임 및 오픈 소스 호환 유지 다중 AZ Job이 최상의 가용 영역(AZ)에 자동으로 배포 단일 Job은 여전히 단일 AZ에서 실행되어 AZ 간 네트워크 통신을 방지 AZ 장애 시 정상 AZ에서 작업 재시도
  • 6.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 모든 Job에 IAM Role을 지정하여 액세스 권한 지정 Job별 실행 Role로 멀티 테넌시에 대한 권한 부여 간소화 Job 별 실행 Role 한 번 빌드, 모든 배포 프레임워크에서 실행 Amazon EMR on EC2, Amazon EKS, AWS Outposts, Serverless Amazon EMR Runtime을 사용하여 구축된 애플리케이션은 모든 배포 모델에서 사용 가능 향후 다른 배포로 마이그레이션할 수 있는 유연성 유지
  • 7.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. 핵심 개념
  • 8.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 작동 방식 Amazon Managed Workflows for Apache Airflow (Amazon MWAA) AWS Step Functions EMR Studio notebooks Custom data pipelines AWS CLI/ AWS SDK Amazon EMR application Availability Zone 1 Amazon EMR service account Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark 유저 Spark Job 실행 Amazon S3 AWS Glue Data Catalog AWS KMS Amazon CloudWatch Amazon RDS Customer AWS account 관리자/유저 생성 1 2
  • 9.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. • 다양한 오픈소스 프레임워크 사용 (예: Hive or Spark) • 다양한 사용 사례를 위한 다양한 버전의 오픈소스 프레임워크 • 한 버전에서 다른 버전으로 업그레이드 할 때 A/B 테스트 수행 • 테스트와 프로덕션 시나리오에 대해 별도의 논리적 환경 유지 관리 • 독립적인 비용 제어 및 사용 추적을 통해 서로 다른 팀에 별도의 논리적 환경을 제공하기 위해 • 서로 다른 기간 업무(LOB) 응용 프로그램을 논리적으로 분리 (예: finance vs. marketing) Application = OSS 프레임워크와 버전 Application
  • 10.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Jobs Application에서 Job 실행 Application서 여러 Job을 실행할 수 있음 Job별 실행 Role을 사용하여 권한 부여 제어 가능 Workers 워크로드를 실행하는 데 내부적으로 사용됨 Worker는 선택한 OSS 프레임워크를 실행 Worker의 크기를 변경하여 성능 제어 가능 Apache Spark Apache Hive Preinitialized workers 선택적으로 Worker 사전 초기화 기능 Job은 즉시 실행 됨 웜 풀(warm pool) 유지에 도움 Apache Spark Apache Hive
  • 11.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. 예시
  • 12.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. 1. EMR Studio
  • 13.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Application 생성
  • 14.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Application 생성
  • 15.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Job 실행
  • 16.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Job 실행
  • 17.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Job 실행
  • 18.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Console 데모
  • 19.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. 2. AWS CLI
  • 20.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. aws emr-serverless create-application --name emr-serverless-application --type 'SPARK' --release-label emr-6.10.0 Application 생성
  • 21.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 상태 설명 CREATING 응용 프로그램을 준비 중이며 아직 사용할 준비가 되지 않았습니다. CREATED Application이 생성되었지만 아직 용량을 프로비저닝 하지 않았습니다. Application을 수정하여 초기 용량 구성을 변경할 수 있습니다. STARTING Application이 시작되고 용량을 프로비저닝 하는 중입니다. STARTED Application에서 새 작업을 수락할 준비가 되었습니다. 애플리케이션은 이 상태일 때만 작업을 실행 할 수 있습니다. STOPPING 모든 작업이 완료되었고 애플리케이션이 용량을 해제하고 있습니다. 용량 프로비저닝에 장애가 있는 경우 EMR Serverless가 Application을 이 상태로 이동할 수 있습니다. STOPPED Application이 중지되고 애플리케이션에서 실행 중인 리소스가 없습니다. Application을 수정하여 초기 용량 구성을 변경할 수 있습니다. TERMINATED Application이 종료되어 Application목록에 나타나지 않습니다. EMR Serverless는 생성 실패 시 Application을 이 상태로 이동할 수 있습니다. Application 상태
  • 22.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. aws emr-serverless create-application --name emr-serverless-application --type 'SPARK' --release-label emr-6.10.0 • Job 실행 시 자동 시작(기본값 true) – option 으로 조절 가능 --auto-start-configuration '{"enabled": true}’ • Idle 상태에서 15분 후 자동 정지 (기본값 true, idle 시간 15분) - option 으로 조절 가능 --auto-stop-configuration '{"enabled": true, "idleTimeoutMinutes": 25}' Application 생성
  • 23.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. aws emr-serverless create-application --name emr-serverless- application --type 'SPARK' --release-label emr-6.10.0 --initial-capacity '{ "DRIVER": { "workerCount": 2, "resourceConfiguration": { "cpu": "2vCPU", "memory": "4GB" } }, "EXECUTOR": { "workerCount": 10, "resourceConfiguration": { "cpu": "4vCPU", "memory": "4GB" } } }' --maximum-capacity '{ "cpu": "200vCPU", "memory": "200GB", "disk": "1000GB" }’ 초기, 최대 용량 지정
  • 24.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. aws emr-serverless start-job-run --application-id <APPLICATION_ID> --execution-role-arn <JOB_ROLE_ARN> --job-driver '{ "sparkSubmit": { "entryPoint": "s3://<S3_BUCKET>/code/pyspark/extreme_weather.py", "sparkSubmitParameters": "--conf spark.driver.cores=1 --conf spark.driver.memory=3g --conf spark.executor.cores=4 --conf spark.executor.memory=3g --conf spark.executor.instances=10" } }' --configuration-overrides '{ "monitoringConfiguration": { "s3MonitoringConfiguration": { "logUri": "s3://<S3_BUCKET>/logs/" } } }' Job 실행
  • 25.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. CLI 데모
  • 26.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. 3. MWAA (Airflow)
  • 27.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. • requirement.txt에 다음과 같이 추가 • Amazon provider의 릴리즈 5.0.0에 EMR 서버리스 지원이 추가되었습니다. 릴리즈 6.0.0은 Airflow 2.2.2와 호환되는 마지막 버전입니다. 이후 버전은 MWAA에서 Airflow 2.4.3과 함께 사용할 수 있습니다. https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/using-airflow.html 참고 apache-airflow-providers-amazon==6.0.0 boto3>=1.23.9 EMR Serverless Operator
  • 28.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. DAG 예시 from datetime import datetime from emr_serverless.operators.emr import ( EmrServerlessCreateApplicationOperator, EmrServerlessDeleteApplicationOperator, EmrServerlessStartJobOperator, ) from airflow import DAG APPLICATION_ID = "0123abcdefghijk" JOB_ROLE_ARN = "arn:aws:iam::123456789012:role/emr-serverless-execution-role" S3_LOGS_BUCKET = "aws-logs-123456789012" DEFAULT_MONITORING_CONFIG = { "monitoringConfiguration": { "s3MonitoringConfiguration": {"logUri": f"s3://{S3_LOGS_BUCKET}/emr-serverless/"} }, } with DAG( dag_id="emr_serverless_e2e_demo", schedule_interval=None, start_date=datetime(2021, 1, 1), tags=["example"], catchup=False, ) as dag: create_app = EmrServerlessCreateApplicationOperator( task_id="create_spark_application", job_type="SPARK", release_label="emr-6.6.0", config={"name": "demo-applicatoin-01"} ) application_id = create_app.output job1 = EmrServerlessStartJobOperator( task_id="start_job_1", application_id=application_id, execution_role_arn=JOB_ROLE_ARN, job_driver={ "sparkSubmit": { "entryPoint": "s3://example-bucket/wordcount/scripts/wordcount.py", "entryPointArguments": [ "s3://example-bucket/wordcount/input", "s3://example-bucket/wordcount/output" ], "sparkSubmitParameters": "--conf spark.executor.cores=1 --conf spark.executor.memory=4g --conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1" } }, configuration_overrides=DEFAULT_MONITORING_CONFIG, ) job2 = EmrServerlessStartJobOperator( task_id="start_job_2", application_id=application_id, execution_role_arn=JOB_ROLE_ARN, job_driver={ "sparkSubmit": { "entryPoint": "s3://example-bucket/reviews_counts/scripts/reviews_count.py", "entryPointArguments": ["s3://example-bucket/review_counts/output"], "sparkSubmitParameters": "--conf spark.executor.cores=1 --conf spark.executor.memory=4g --conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1 --conf spark.hadoop.hive.metastore.client.factory.class= com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory" } }, configuration_overrides=DEFAULT_MONITORING_CONFIG, ) delete_app = EmrServerlessDeleteApplicationOperator( task_id="delete_app", application_id=application_id, ) (create_app >> [job1, job2] >> delete_app)
  • 29.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. MWAA 데모
  • 30.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. Amazon EMR Serverless의 일반적인 사용 패턴
  • 31.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. 패턴 1: 데이터 파이프라인
  • 32.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon EC2 기반 Application 생성 Job 실행 EMR Serverless 기반 시작 완료 인스턴스 타입, 클러스터 크기 결정 클러스터 생성 클러스터 종료 Job 실행 시작 완료 패턴 1: 데이터 파이프라인
  • 33.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Amazon EMR application A Worker 수 = 0 Step A는 3 Worker 필요 Run Step D Process Step B Process Step C Step A Service account 파이프라인 실행이 간단
  • 34.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Worker 수 = 3 Service account Amazon EMR application A Run Step D Process Step B Process Step C Step A Spark Spark Spark Step A는 3 Worker 필요 파이프라인 실행이 간단
  • 35.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Amazon EMR application A Worker 수 = 18 Step C는 10 Worker 필요 Run Step D Process Step B Process Step C Step A Step B는 8 Worker 필요 Step C는 10 Worker로 실행 Step B는 8 Worker로 실행 Service account Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark 파이프라인 단계 별 실행 시 자동 확장
  • 36.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Worker 수 = 10 Run Step D Process Step B Process Step C Step A Step D는 10 Worker 필요 Step D는 10 Worker 로 실행 Service account Amazon EMR application A Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark 세분화 된 확장으로 비용 감소
  • 37.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. 패턴 2: 공유 클러스터
  • 38.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Data engineer 1 Job A Data engineer 2 Job B AWS Step Functions Pipeline A Pipeline B Job의 성능을 유지하기 위해 큐가 있는 공유 온프레미스 클러스터 클러스터나 큐(Queue)에서 리소스를 관리하기 위한 YARN Amazon MWAA 온프레미스에서 큐를 사용하는 공유 클러스터
  • 39.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 워크로드 특성에 따라 자동으로 확장, 축소 됩니다. Job A Job B Pipeline A Pipeline B Data engineer 1 Data engineer 2 AWS Step Functions Amazon MWAA Auto Scaling을 사용하는 Amazon EC2의 Amazon EMR 공유 클러스터
  • 40.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Job A Job B Pipeline A Pipeline B Availability Zone 1 Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Data engineer 1 Data engineer 2 AWS Step Functions Amazon MWAA Amazon EMR Serverless 공유 클러스터
  • 41.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Data engineer 1 Availability Zone 1 Job A Workers는 실행 role A 사용 Amazon EMR application X Data engineer 2 Workers는 실행 role B 사용 Worker 수 = 10 Job B S3 버킷 B 접근 Amazon DynamoDB 테이블 B 접근 S3 버킷 A 접근 Amazon Redshift 클러스터 A 접근 CloudWatch log group A Role B Role A Role A Role B Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Job 별 실행 Role
  • 42.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Data engineer 1 Availability Zone 1 Job A Worker 수 = 6 실시간 Job 진행 상황 Job 이 완료 된 후에도 Spark 혹은 Tez UI 로 상세한 내용 분석 Spark Spark Spark Spark Spark Spark Workers는 실행 role A 사용 매우 간단한 디버깅 작업
  • 43.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. 패턴 3: 대화형 애플리케이션
  • 44.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Amazon EMR application A Worker 수 = 0 “InitialCapacity = 10” State = Stopped Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark 사전 초기화된(Preinitialized) 용량은 Application을 위한 웜풀(warm pool)
  • 45.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Worker 수 = 10 “InitialCapacity = 10” State = Ready Worker는 워크로드를 받을 준비 완료 Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Amazon EMR application A Application 이 시작될 때 Worker도 시작
  • 46.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Worker 수 = 10 “InitialCapacity = 10” State = Ready Job은 즉시 시작 Job A (~3 Worker) Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Amazon EMR application A Job은 사전 초기화 된 용량으로 즉시 시작
  • 47.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Worker 수 = 10 “InitialCapacity = 10” State = Ready 사전 초기화 된 용량 먼저 사용 Job B (~7 workers) Job A (~3 workers) Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Amazon EMR application A 여러 Job 즉시 실행 가능
  • 48.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Worker 수 = 15 State = Ready 사전 초기화된 용량이 워크로드 실행에 모자랄 경우 추가 Worker 프로비저닝 Job B (~7 workers) Job A (~3 workers) Job C (~5 workers) Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Amazon EMR application A 워크로드 증가에 따라 자동으로 추가 용량 요청
  • 49.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Worker 수 = 10 “InitialCapacity = 10” Job B (finished) Job A (finished) Job C (finished) State = Ready Job 완료 후 Application의 초과 Worker 해제 Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Amazon EMR application A 모든 Job이 완료된 후에도 사전 초기화된 용량은 유지
  • 50.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Availability Zone 1 Worker 수 = 0 “InitialCapacity = 10” State = Stopped Application이 중지 될 때 모든 Worker도 중지 Spark Spark Spark Spark Spark Spark Spark Spark Spark Spark Amazon EMR application A Application 중지
  • 51.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. 비용
  • 52.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Stage 2 Stage 1 Stage 3 Job 실행 처음 10분간 10개의 Worker 사용 다음 10분간 40개 Worker 사용 다음 5분간 5개의 Worker 사용 10분 동안 10 Worker에 대한 컴퓨팅, 메모리 및 디스크 집계 10분 동안 40 Worker에 대한 컴퓨팅, 메모리 및 디스크 집계 5분 동안 5 Worker에 대한 컴퓨팅, 메모리 및 디스크 집계 예시
  • 53.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Worker 실행 시간에 대한 초당 지불 (최소 1분) • Worker 당 사용된 리소스 집계(vCPU, 메모리, 스토리지) Per vCPU per hour $0.060528 Per GB per hour $0.006643 Per storage GB per hour* $0.000127 비용
  • 54.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. EMR 배포 옵션 비교 기능 EMR on EC2 EMR on EKS EMR Serverless Multi-AZ Availability No (clusters run in a single AZ) Yes (with multi-AZ EKS clusters) Yes (Automated Job Redirection) OSS Frameworks Spark, Hive, Presto, Trino, Flink Spark Spark, Hive Ability to choose OSS version Yes Yes Yes Automatic Resource Scaling Yes Yes Yes Ability to choose Instance Type Yes Optional (use EC2 instances or Fargate) No Ability to use EC2 Spot Yes Yes No Pricing By instance type used By VPCU and Memory used By VCPU and Memory used Ability to allocate costs Per Cluster Per Application Per Application or Per Job
  • 55.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 최근 출시 기능 • Custom Image support – Q1 • Large CPU/Memory Support for Workers – Q1 • Application Logs CMK support – Q1 • Improved cost visibility for billed resource per job – Q2
  • 56.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Service page https://aws.amazon.com/emr Getting started https://aws.amazon.com/emr/getting-started/ AWS Big Data Blog https://aws.amazon.com/blogs/big-data/ 문서 https://go.aws/3d3Ty7h Amazon EMR Serverless 블로그 https://go.aws/3Da5PS9 Resources
  • 57.
    AWS DATA WEEK2023 © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Confidential and Trademark. Thank you!