SlideShare a Scribd company logo
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
홍준혁 솔루션즈 아키텍트, 아마존웹서비스 코리아
오재혁 팀장, HYPERCONNECT
Amazon EMR 고급활용 기법
HYPERCONNECT의 EMR을 활용한 분석 사례
본 강연에서 다룰 내용
Amazon EMR 소개
Amazon EMR과 함께 다양한 어플리케이션 활용
Amazon EMR운영 모범 사례
고객 활용사례
Amazon EMR 소개
Amazon EMR은 관리형 하둡 서비스입니다
On-premise Amazon EMR하둡 w/ EC2
여러분의 경험을 동일하게 활용할 수 있습니다
Amazon EMR
다양한 서비스와 함께 구축이 가능합니다.
Amazon DynamoDB
Amazon RDS
Amazon Kinesis
Amazon Redshift
Amazon S3
Amazon EMR
Amazon EMR과 함께
다양한 어플리케이션 활용
데이터 분석 파이프라인
수집 시각화저장 처리
데이터 소비
효율적인 파이프라인을 만들려면
안전하고 비용 효과적인 단일 데이터 저장소 구축
데이터에 대한 SQL 인터페이스 제공
분석 워크로드간 독립성 유지
목적에 맞는 데이터 분석, 시각화 도구 활용
새로운 분석 워크로드 지원 (스트림, 통계 등)
단일 저장소 기반의 데이터 수집
Amazon S3
단일 데이터 저장소
S3를 로그 수집기 저장소로 활용
<match s3.*.*>
...
aws_key_id AWS_KEY_ID
aws_sec_key AWS_SECRET/KEY
s3_bucket BUCKET_NAME
s3_region REGION_NAME
path DIRECTORY
store_as txt
time_slice_format %Y%m%d%H
time_slice_wait 10m
<match s3.*.*>
S3를 ETL 저장소로도 활용
sqoop import-all-tables
--connect jdbc:mysql://ec2-34-xxx-xx-xxx.compute-
1.amazonaws.com:3306/customer –username administrator –password
password
--warehouse-dir s3://Bucket_name/Directory_name
--num-mappers 4
--fields-terminated-by ‘,’
--lines-terminated-by ‘n’
--exclude-tables current_dept_emp,
dept_emp_latest_date
수집 데이터의 SQL 인터페이스 활용
Amazon S3
워크로드간 독립성 확보
맵리듀스를 활용한 데이터 처리
loadlog = LOAD 's3://Bucket_name/Directory_name/Logfile_name'
USING JsonLoader
('host:chararray,user:chararray,method:chararray,path:chararray,
code:INT,size:INT,referer:chararray,agent:chararray,time:chararr
ay');
ip_data = GROUP loadlog BY host ;
ip_count = FOREACH ip_data GENERATE group AS time,COUNT(loadJson)
as total_visits ;
sort_data = RANK ip_count BY total_visits DESC ;
store sort_data into 's3://Bucket_name/Logoutput_directory/'
using PigStorage();
SQL on EMR의 활용
CREATE EXTERNAL TABLE Customer_info (
customer_no INT ,
birth_date DATE ,
first_name VARCHAR(14) ,
last_name VARCHAR(16) ,
gender STRING ,
login_date DATE
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE
LOCATION ‘s3://Bucket_name/Directory_name/Table_name/’
;
목적에 따른 다양한 데이터 소비
Amazon Quicksight
Amazon Quicksight를 활용한 BI분석
대화형 SQL을 활용한 분석 수행
Apache Spark Core
Spark
SQL
Spark
Streaming
ML GraphX
분산환경 확장성 제공
동적 리소스 관리
단일 프레임워크에서
비즈니스 로직 구현
메모리 기반 빠른 성능 개발자를 위한 다양한
언어 지원
새로운 분석 워크로드 적용
실시간 데이터 분석 아키텍쳐
Amazon Kinesis
Amazon S3
분석 코드 작성,
데이터 시각화 및
대쉬보드 작성
실시간 데이터 전송을 위한 Amazon Kinesis
Shard 1
Shard 2
Shard n
Kinesis Producer Kinesis Consumer
Amazon Kinesis
아파치 스파크 데이터 프레임 활용
value1, value2, value3
value4, value5, value6
value7, value8, value9
value1, value2, value3
value4, value5, value6
value7, value8, value9
value1, value2, value3
value4, value5, value6
value7, value8, value9
Micro batch n-1 Micro batch n Micro batch n+1
User_id Content_id timestamp
Value1 Value2 value3
Value4 Value5 value6
Value7 Value8 value9
메모리테이블
Spark 어플리케이션 작성
val endpointUrl = https://kinesis.us-east-1.amazonaws.com
....
val numShards = kinesisClient.describeStream("spark-
demo").getStreamDescription().getShards().size
....
val batchInterval = Seconds(30)
....
val kinesisStreams = (0 until numStreams).map { i =>
KinesisUtils.createStream(ssc, "app-spark-demo", "spark-
demo", endpointUrl, regionName,InitialPositionInStream.LATEST,
kinesisCheckpointInterval, StorageLevel.MEMORY_AND_DISK_2)
}
스트림데이터의 30초
배치주기 설정
데이터프레임 생성
Spark 어플리케이션 작성
val schemaString = “user_id,content_id,timestamp“
....
val tableSchema =
StructType( schemaString.split(",").map(fieldName
=> StructField(fieldName, StringType, true)))
....
wordsDF.registerTempTable("realTimeTable")
스트림 데이터의 스키마 정의
메모리기반 테이블 저장
Zeppelin에서 분석 시각화
* https://aws.amazon.com/ko/blogs/big-data/analyze-realtime-data-from-amazon-kinesis-streams-using-zeppelin-and-spark-streaming/
데이터 과학자를 위한 아키텍쳐 확장
Amazon
EMR
Amazon S3 데이터분석
부트스트랩 활용하여 외부 어플리케이션 구성
S3를 스크립트 저장소로 활용
R과 Spark 연동 패키지 활용
# Connect to Spark
library(sparklyr)
library(dplyr)
library(ggplot2)
sc <- spark_connect(master = "yarn-client“, version
= ‘2.0.2')
R-Studio를 통한 데이터 과학자 활용
* https://aws.amazon.com/ko/blogs/big-data/running-sparklyr-rstudios-r-interface-to-spark-on-amazon-emr/
EMR을 활용한 빅 데이터 파이프라인 완성
Amazon Kinesis
Amazon EMR 운영 모범사례
EMR Instance Fleets을 활용하세요
최대 5개까지 서로
다른 타입 선택
Spot인스턴스 중단시
온디맨드로 자동 전환
다양한 인스턴스를 선택하세요
업무 마스터 인스턴스 그룹 코어 인스턴스 그룹 태스크 인스턴스 그룹
배치 작업 On-demand
On-demand
또는 Instance-fleet 혼합
Spot 또는
instance-fleet 혼합
데이터 변환 Spot Spot Spot
실시간 처리 On-Demand On-Demand
Spot 또는
instance-fleet 혼합
개발 테스트 Spot Spot Spot
향상된 관리 기능을 활용하세요.
인스턴스 용량 설정
YARN 리소스
사용기반 설정
자동확장/축소선택
메타데이터를 관리하세요.
[ {
"Classification": "hive-site",
"Properties": {
"javax.jdo.option.ConnectionURL":"jdbc:mysql://RDS-
endpoint:3306/hive?createDatabaseIfNotExist=true",
"javax.jdo.option.ConnectionDriverName":
"org.mariadb.jdbc.Driver",
"javax.jdo.option.ConnectionUserName": "username",
"javax.jdo.option.ConnectionPassword": "password"
}
} ]
aws emr create-cluster --release-label emr-5.4.0 --instance-type
m3.xlarge --instance-count 2 --applications Name=Hive --
configurations hivemetadata.json --use-default-roles
다양한 데이터 포맷을 활용하세요
Amazon EMR 고급 활용 기법 - AWS Summit Seoul 2017
“시간, 언어, 공간의 제약을 넘어 인류 개개인의 도달가능한
인간관계를 전 세계로 넓힌다”
• 2014년 3월 엔지니어들을 주
축으로 설립
• 비디오 & 소셜네트워킹 기술
스타트업
• 약 20개 국적의 100명 이상의
직원들이 근무 중
• 화면을 넘길 때마다 전 세계의 새로운 사람들을 만날 수 있는 ‘소셜 디스커
버리‘ 플랫폼
• 최초로 WebRTC 를 모바일에 적용해 상용화
• 주요 기능 - 친구추가, 실시간 음성 번역, 얼굴인식 스티커 등
• 주요 성과
- 전 세계 200여 개 국가에서 1억 다운로드
- 160억 회 이상의 누적 매치
- 2015, 2016 구글플레이 올해의 앱 선정
데이터 분석 플랫폼 구축 목표
• 다양한 분석 수요에 따른 데이터 추출 / 변환 / 적재
• DataFlow 기획 / 제작 / 관리
• 대쉬보드 / 레포트 / EDA 도구 제공
• 이상 행동 탐지, 매칭 상대 추천 등 데이터 기반 서비스 제작
1년전에는
서비스
데이터베이스
분석
데이터베이스
레포트생성
하지만 사용자 증가에 따라
대용량 데이터에 대한 처리 고민
• 5천만 매치 데이터 / 일
• 7억건 이벤트 / 일
• 1T 생성 / 일
Amazon S3와 Redshift를 활용하여
• 다양한 데이터 수집 가능
• 데이터 처리 시간 단축
Event log
Batch Analysis
Ad-hoc Analysis
Reporing
3rd party
Data
Service DB
집계 시간 – 2시간 47분
집계 시간 – 9시간 08분
3배 단축
다양한 요구 등장
대용량 데이터에 대한 안정적 처리 필요
• 이벤트 로그의 전처리 과정 단축
• 배포 후 실시간 확인
• Ad-hoc레포트를 위한 데이터 준비 필요
다양한 업무 요구사항 충족을 위해
Amazon EMR을 선택한 이유
• S3 에 보관하고 있는 데이터의 접근성이 높음
• CPU bound (auto scaling) 에 대한 보장
• IO bound (S3) 에 대한 보장
• 보고서 작성을 위한 SQL의 활용
Amazon EMR (Hive)을 도입하여
시작시간 종료시간 처리시간
07-Apr-2017
09:26:33
07-Apr-2017
09:44:59 18.43min
Hourly Sessionizing 소요시간
12배 향상
Amazone EMR을 활용한 플랫폼 구축
Event log
Amazon S3
Referrer
Access Control
KPI Dashboard
Aggregation
(Short-term) Adhoc Anaysis
Sessionizing
(Long-term) Adhoc Anaysis
Realtime Reporting /Anaysis
Amazon EMR 고급 활용 기법 - AWS Summit Seoul 2017
새로운 도전과제
• 회원정보등의 데이터 재처리
• Azar 모바일 이벤트 데이터 수집
• 효과적인 비즈니스 보고서 작성 요청 대응
To-Be 아키텍쳐
Amazon
Kinesis
Amazon
Quicksight
맺음말
꼭 기억해 주세요!!!
• S3를 활용한 안전하고 비용 효과적인 저장소를 구축하세요.
• 분석 워크로드간 독립성을 유지하세요.
• 다양한 데이터 분석, 시각화 도구 활용하세요.
• Spot Fleets을 활용하여 비용을 절감하세요.
• 관리 자동화를 위해 오토 스케일링을 설정하세요.
본 강연이 끝난 후…
Amazon EMR 자습서 및 샘플코드를 참조하세요.
https://aws.amazon.com/articles/Elastic-MapReduce
Amazon EMR 블로그를 통해 다양한 소식 및 사용 사례를
참조하세요.
https://aws.amazon.com/ko/blogs/aws/category/amazon-emr/
Thank you!
함께 해주셔서 감사합니다!
https://www.awssummit.kr
AWS Summit 모바일 앱을 통해 지금 세션 평가에
참여하시면, 행사 후 기념품을 드립니다.
#AWSSummitKR 해시태그로 소셜 미디어에
여러분의 행사 소감을 올려주세요.
발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜
채널로 공유될 예정입니다.
여러분의 피드백을 기다립니다!

More Related Content

PDF
핵심 미래 분석 기술! 시계열 분석을 활용한 수요예측과 재고관리 최적화 사례 – 김형일 AWS 솔루션즈 아키텍트, 이환기 신세계아이앤씨 A...
PDF
민첩하고 비용효율적인 Data Lake 구축 - 문종민 솔루션즈 아키텍트, AWS
PDF
AWS EMR Cost optimization
PDF
AWS Black Belt Online Seminar 2017 Amazon EC2
PDF
AWS 활용한 Data Lake 구성하기
PDF
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
PDF
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
PDF
기술 지원 사례로 알아보는 마이그레이션 이슈 및 해결 방안 모음-김용기, AWS Storage Specialist SA / 한소영, AWS...
핵심 미래 분석 기술! 시계열 분석을 활용한 수요예측과 재고관리 최적화 사례 – 김형일 AWS 솔루션즈 아키텍트, 이환기 신세계아이앤씨 A...
민첩하고 비용효율적인 Data Lake 구축 - 문종민 솔루션즈 아키텍트, AWS
AWS EMR Cost optimization
AWS Black Belt Online Seminar 2017 Amazon EC2
AWS 활용한 Data Lake 구성하기
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
[Retail & CPG Day 2019] 유통 고객의 AWS 도입 동향 - 박동국, AWS 어카운트 매니저, 김준성, AWS어카운트 매니저
기술 지원 사례로 알아보는 마이그레이션 이슈 및 해결 방안 모음-김용기, AWS Storage Specialist SA / 한소영, AWS...

What's hot (20)

PDF
데이터 기반 의사결정을 통한 비지니스 혁신 - 윤석찬 (AWS 테크에반젤리스트)
PPTX
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
PDF
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
PDF
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
PDF
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
PPTX
Private Equity Value Creation Carve Outs, Divestitures and mergers
PDF
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
PDF
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
PDF
Building Reliable Data Lakes at Scale with Delta Lake
PDF
[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...
PDF
Amazon Sagemaker Studio를 통한 ML개발하기 - 소성운(크로키닷컴) :: AWS Community D...
PDF
AWS Greengrass V2와 신규 IoT 서비스를 활용한 개방형 edge 소프트웨어 환경 구축 - 이세현 AWS IoT 스페셜리스트 ...
PDF
Amazon S3 고급 활용 기법 - AWS Summit Seoul 2017
PDF
AWS Summit Seoul 2023 | 삼성전자/쿠팡의 대규모 트래픽 처리를 위한 클라우드 네이티브 데이터베이스 활용
PDF
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
PPTX
Application Timeline Server - Past, Present and Future
PDF
Amazon DynamoDB 기반 글로벌 서비스 개발 방법 및 사례::김준형::AWS Summit Seoul 2018
PDF
AWS를 통한 빅데이터 활용 고객 분석 및 캠페인 시스템 구축 사례 - 임혁용 매니저, AWS / 윤성준 차장, 현대백화점 :: AWS S...
PDF
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
PDF
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
데이터 기반 의사결정을 통한 비지니스 혁신 - 윤석찬 (AWS 테크에반젤리스트)
글로벌 기업들의 효과적인 데이터 분석을 위한 Data Lake 구축 및 분석 사례 - 김준형 (AWS 솔루션즈 아키텍트)
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
Private Equity Value Creation Carve Outs, Divestitures and mergers
EMR 플랫폼 기반의 Spark 워크로드 실행 최적화 방안 - 정세웅, AWS 솔루션즈 아키텍트:: AWS Summit Online Ko...
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Building Reliable Data Lakes at Scale with Delta Lake
[Bespin Global 파트너 세션] 분산 데이터 통합 (Data Lake) 기반의 데이터 분석 환경 구축 사례 - 베스핀 글로벌 장익...
Amazon Sagemaker Studio를 통한 ML개발하기 - 소성운(크로키닷컴) :: AWS Community D...
AWS Greengrass V2와 신규 IoT 서비스를 활용한 개방형 edge 소프트웨어 환경 구축 - 이세현 AWS IoT 스페셜리스트 ...
Amazon S3 고급 활용 기법 - AWS Summit Seoul 2017
AWS Summit Seoul 2023 | 삼성전자/쿠팡의 대규모 트래픽 처리를 위한 클라우드 네이티브 데이터베이스 활용
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
Application Timeline Server - Past, Present and Future
Amazon DynamoDB 기반 글로벌 서비스 개발 방법 및 사례::김준형::AWS Summit Seoul 2018
AWS를 통한 빅데이터 활용 고객 분석 및 캠페인 시스템 구축 사례 - 임혁용 매니저, AWS / 윤성준 차장, 현대백화점 :: AWS S...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
Ad

Similar to Amazon EMR 고급 활용 기법 - AWS Summit Seoul 2017 (20)

PDF
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
PDF
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
PDF
2017 Ad-Tech on AWS 세미나ㅣAWS에서의 빅데이터와 분석
PDF
금융 데이터분석을 위한 효과적인 AWS 아키텍쳐::유다니엘::AWS Summit Seoul 2018
PDF
빅 데이터 분석을 위한 AWS 활용 사례 - 최정욱 솔루션즈 아키텍트:: AWS Cloud Track 1 Intro
PDF
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
PDF
Ad-Tech on AWS 세미나 | AWS와 데이터 분석
PDF
AWS를 활용한 게임 데이터 분석 퀘스트 깨기::안효빈::AWS Summit Seoul 2018
PDF
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
PDF
분석 워크로드 마이그레이션의 모든 것-김기영, AWS Analytics Specialist SA / 김성일, AWS Analytics Sp...
PPTX
AWS의 하둡 관련 서비스 - EMR/S3
PDF
데이터의 힘, 스타트업의 생존을 넘어 성장으로 - 김용대 사업개발 담당, AWS / 박재영 CTO, 크몽 :: AWS Summit Seou...
PPTX
글로벌 고객 사례를 통하여 소개하는 혁신적인 데이터 웨어하우스 - 김형일 (AWS 솔루션즈 아키텍트)
PDF
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
PDF
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
PDF
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
PDF
천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017
PDF
AWS 스토리지 서비스 소개 및 실습 - 김용기, AWS 솔루션즈 아키텍트
PDF
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
PDF
있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼 - 정세웅 애널리틱 스페셜리스트, AWS
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
2017 Ad-Tech on AWS 세미나ㅣAWS에서의 빅데이터와 분석
금융 데이터분석을 위한 효과적인 AWS 아키텍쳐::유다니엘::AWS Summit Seoul 2018
빅 데이터 분석을 위한 AWS 활용 사례 - 최정욱 솔루션즈 아키텍트:: AWS Cloud Track 1 Intro
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
Ad-Tech on AWS 세미나 | AWS와 데이터 분석
AWS를 활용한 게임 데이터 분석 퀘스트 깨기::안효빈::AWS Summit Seoul 2018
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
분석 워크로드 마이그레이션의 모든 것-김기영, AWS Analytics Specialist SA / 김성일, AWS Analytics Sp...
AWS의 하둡 관련 서비스 - EMR/S3
데이터의 힘, 스타트업의 생존을 넘어 성장으로 - 김용대 사업개발 담당, AWS / 박재영 CTO, 크몽 :: AWS Summit Seou...
글로벌 고객 사례를 통하여 소개하는 혁신적인 데이터 웨어하우스 - 김형일 (AWS 솔루션즈 아키텍트)
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017
AWS 스토리지 서비스 소개 및 실습 - 김용기, AWS 솔루션즈 아키텍트
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼 - 정세웅 애널리틱 스페셜리스트, AWS
Ad

More from Amazon Web Services Korea (20)

PDF
[D3T1S01] Gen AI를 위한 Amazon Aurora 활용 사례 방법
PDF
[D3T1S06] Neptune Analytics with Vector Similarity Search
PDF
[D3T1S03] Amazon DynamoDB design puzzlers
PDF
[D3T1S04] Aurora PostgreSQL performance monitoring and troubleshooting by use...
PDF
[D3T1S07] AWS S3 - 클라우드 환경에서 데이터베이스 보호하기
PDF
[D3T1S05] Aurora 혼합 구성 아키텍처를 사용하여 예상치 못한 트래픽 급증 대응하기
PDF
[D3T1S02] Aurora Limitless Database Introduction
PDF
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
PDF
[D3T2S03] Data&AI Roadshow 2024 - Amazon DocumentDB 실습
PDF
AWS Modern Infra with Storage Roadshow 2023 - Day 2
PDF
AWS Modern Infra with Storage Roadshow 2023 - Day 1
PDF
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
PDF
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
PDF
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
PDF
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
PDF
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
PDF
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
PDF
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
PDF
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
PDF
From Insights to Action, How to build and maintain a Data Driven Organization...
[D3T1S01] Gen AI를 위한 Amazon Aurora 활용 사례 방법
[D3T1S06] Neptune Analytics with Vector Similarity Search
[D3T1S03] Amazon DynamoDB design puzzlers
[D3T1S04] Aurora PostgreSQL performance monitoring and troubleshooting by use...
[D3T1S07] AWS S3 - 클라우드 환경에서 데이터베이스 보호하기
[D3T1S05] Aurora 혼합 구성 아키텍처를 사용하여 예상치 못한 트래픽 급증 대응하기
[D3T1S02] Aurora Limitless Database Introduction
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
[D3T2S03] Data&AI Roadshow 2024 - Amazon DocumentDB 실습
AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 1
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
From Insights to Action, How to build and maintain a Data Driven Organization...

Amazon EMR 고급 활용 기법 - AWS Summit Seoul 2017

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 홍준혁 솔루션즈 아키텍트, 아마존웹서비스 코리아 오재혁 팀장, HYPERCONNECT Amazon EMR 고급활용 기법 HYPERCONNECT의 EMR을 활용한 분석 사례
  • 2. 본 강연에서 다룰 내용 Amazon EMR 소개 Amazon EMR과 함께 다양한 어플리케이션 활용 Amazon EMR운영 모범 사례 고객 활용사례
  • 4. Amazon EMR은 관리형 하둡 서비스입니다 On-premise Amazon EMR하둡 w/ EC2
  • 5. 여러분의 경험을 동일하게 활용할 수 있습니다 Amazon EMR
  • 6. 다양한 서비스와 함께 구축이 가능합니다. Amazon DynamoDB Amazon RDS Amazon Kinesis Amazon Redshift Amazon S3 Amazon EMR
  • 7. Amazon EMR과 함께 다양한 어플리케이션 활용
  • 8. 데이터 분석 파이프라인 수집 시각화저장 처리 데이터 소비
  • 9. 효율적인 파이프라인을 만들려면 안전하고 비용 효과적인 단일 데이터 저장소 구축 데이터에 대한 SQL 인터페이스 제공 분석 워크로드간 독립성 유지 목적에 맞는 데이터 분석, 시각화 도구 활용 새로운 분석 워크로드 지원 (스트림, 통계 등)
  • 10. 단일 저장소 기반의 데이터 수집 Amazon S3 단일 데이터 저장소
  • 11. S3를 로그 수집기 저장소로 활용 <match s3.*.*> ... aws_key_id AWS_KEY_ID aws_sec_key AWS_SECRET/KEY s3_bucket BUCKET_NAME s3_region REGION_NAME path DIRECTORY store_as txt time_slice_format %Y%m%d%H time_slice_wait 10m <match s3.*.*>
  • 12. S3를 ETL 저장소로도 활용 sqoop import-all-tables --connect jdbc:mysql://ec2-34-xxx-xx-xxx.compute- 1.amazonaws.com:3306/customer –username administrator –password password --warehouse-dir s3://Bucket_name/Directory_name --num-mappers 4 --fields-terminated-by ‘,’ --lines-terminated-by ‘n’ --exclude-tables current_dept_emp, dept_emp_latest_date
  • 13. 수집 데이터의 SQL 인터페이스 활용 Amazon S3 워크로드간 독립성 확보
  • 14. 맵리듀스를 활용한 데이터 처리 loadlog = LOAD 's3://Bucket_name/Directory_name/Logfile_name' USING JsonLoader ('host:chararray,user:chararray,method:chararray,path:chararray, code:INT,size:INT,referer:chararray,agent:chararray,time:chararr ay'); ip_data = GROUP loadlog BY host ; ip_count = FOREACH ip_data GENERATE group AS time,COUNT(loadJson) as total_visits ; sort_data = RANK ip_count BY total_visits DESC ; store sort_data into 's3://Bucket_name/Logoutput_directory/' using PigStorage();
  • 15. SQL on EMR의 활용 CREATE EXTERNAL TABLE Customer_info ( customer_no INT , birth_date DATE , first_name VARCHAR(14) , last_name VARCHAR(16) , gender STRING , login_date DATE ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE LOCATION ‘s3://Bucket_name/Directory_name/Table_name/’ ;
  • 16. 목적에 따른 다양한 데이터 소비 Amazon Quicksight
  • 18. 대화형 SQL을 활용한 분석 수행
  • 19. Apache Spark Core Spark SQL Spark Streaming ML GraphX 분산환경 확장성 제공 동적 리소스 관리 단일 프레임워크에서 비즈니스 로직 구현 메모리 기반 빠른 성능 개발자를 위한 다양한 언어 지원 새로운 분석 워크로드 적용
  • 20. 실시간 데이터 분석 아키텍쳐 Amazon Kinesis Amazon S3 분석 코드 작성, 데이터 시각화 및 대쉬보드 작성
  • 21. 실시간 데이터 전송을 위한 Amazon Kinesis Shard 1 Shard 2 Shard n Kinesis Producer Kinesis Consumer Amazon Kinesis
  • 22. 아파치 스파크 데이터 프레임 활용 value1, value2, value3 value4, value5, value6 value7, value8, value9 value1, value2, value3 value4, value5, value6 value7, value8, value9 value1, value2, value3 value4, value5, value6 value7, value8, value9 Micro batch n-1 Micro batch n Micro batch n+1 User_id Content_id timestamp Value1 Value2 value3 Value4 Value5 value6 Value7 Value8 value9 메모리테이블
  • 23. Spark 어플리케이션 작성 val endpointUrl = https://kinesis.us-east-1.amazonaws.com .... val numShards = kinesisClient.describeStream("spark- demo").getStreamDescription().getShards().size .... val batchInterval = Seconds(30) .... val kinesisStreams = (0 until numStreams).map { i => KinesisUtils.createStream(ssc, "app-spark-demo", "spark- demo", endpointUrl, regionName,InitialPositionInStream.LATEST, kinesisCheckpointInterval, StorageLevel.MEMORY_AND_DISK_2) } 스트림데이터의 30초 배치주기 설정 데이터프레임 생성
  • 24. Spark 어플리케이션 작성 val schemaString = “user_id,content_id,timestamp“ .... val tableSchema = StructType( schemaString.split(",").map(fieldName => StructField(fieldName, StringType, true))) .... wordsDF.registerTempTable("realTimeTable") 스트림 데이터의 스키마 정의 메모리기반 테이블 저장
  • 25. Zeppelin에서 분석 시각화 * https://aws.amazon.com/ko/blogs/big-data/analyze-realtime-data-from-amazon-kinesis-streams-using-zeppelin-and-spark-streaming/
  • 26. 데이터 과학자를 위한 아키텍쳐 확장 Amazon EMR Amazon S3 데이터분석
  • 27. 부트스트랩 활용하여 외부 어플리케이션 구성 S3를 스크립트 저장소로 활용
  • 28. R과 Spark 연동 패키지 활용 # Connect to Spark library(sparklyr) library(dplyr) library(ggplot2) sc <- spark_connect(master = "yarn-client“, version = ‘2.0.2')
  • 29. R-Studio를 통한 데이터 과학자 활용 * https://aws.amazon.com/ko/blogs/big-data/running-sparklyr-rstudios-r-interface-to-spark-on-amazon-emr/
  • 30. EMR을 활용한 빅 데이터 파이프라인 완성 Amazon Kinesis
  • 31. Amazon EMR 운영 모범사례
  • 32. EMR Instance Fleets을 활용하세요 최대 5개까지 서로 다른 타입 선택 Spot인스턴스 중단시 온디맨드로 자동 전환
  • 33. 다양한 인스턴스를 선택하세요 업무 마스터 인스턴스 그룹 코어 인스턴스 그룹 태스크 인스턴스 그룹 배치 작업 On-demand On-demand 또는 Instance-fleet 혼합 Spot 또는 instance-fleet 혼합 데이터 변환 Spot Spot Spot 실시간 처리 On-Demand On-Demand Spot 또는 instance-fleet 혼합 개발 테스트 Spot Spot Spot
  • 34. 향상된 관리 기능을 활용하세요. 인스턴스 용량 설정 YARN 리소스 사용기반 설정 자동확장/축소선택
  • 35. 메타데이터를 관리하세요. [ { "Classification": "hive-site", "Properties": { "javax.jdo.option.ConnectionURL":"jdbc:mysql://RDS- endpoint:3306/hive?createDatabaseIfNotExist=true", "javax.jdo.option.ConnectionDriverName": "org.mariadb.jdbc.Driver", "javax.jdo.option.ConnectionUserName": "username", "javax.jdo.option.ConnectionPassword": "password" } } ] aws emr create-cluster --release-label emr-5.4.0 --instance-type m3.xlarge --instance-count 2 --applications Name=Hive -- configurations hivemetadata.json --use-default-roles
  • 36. 다양한 데이터 포맷을 활용하세요
  • 38. “시간, 언어, 공간의 제약을 넘어 인류 개개인의 도달가능한 인간관계를 전 세계로 넓힌다” • 2014년 3월 엔지니어들을 주 축으로 설립 • 비디오 & 소셜네트워킹 기술 스타트업 • 약 20개 국적의 100명 이상의 직원들이 근무 중
  • 39. • 화면을 넘길 때마다 전 세계의 새로운 사람들을 만날 수 있는 ‘소셜 디스커 버리‘ 플랫폼 • 최초로 WebRTC 를 모바일에 적용해 상용화 • 주요 기능 - 친구추가, 실시간 음성 번역, 얼굴인식 스티커 등 • 주요 성과 - 전 세계 200여 개 국가에서 1억 다운로드 - 160억 회 이상의 누적 매치 - 2015, 2016 구글플레이 올해의 앱 선정
  • 40. 데이터 분석 플랫폼 구축 목표 • 다양한 분석 수요에 따른 데이터 추출 / 변환 / 적재 • DataFlow 기획 / 제작 / 관리 • 대쉬보드 / 레포트 / EDA 도구 제공 • 이상 행동 탐지, 매칭 상대 추천 등 데이터 기반 서비스 제작
  • 42. 하지만 사용자 증가에 따라 대용량 데이터에 대한 처리 고민 • 5천만 매치 데이터 / 일 • 7억건 이벤트 / 일 • 1T 생성 / 일
  • 43. Amazon S3와 Redshift를 활용하여 • 다양한 데이터 수집 가능 • 데이터 처리 시간 단축 Event log Batch Analysis Ad-hoc Analysis Reporing 3rd party Data Service DB 집계 시간 – 2시간 47분 집계 시간 – 9시간 08분 3배 단축
  • 44. 다양한 요구 등장 대용량 데이터에 대한 안정적 처리 필요 • 이벤트 로그의 전처리 과정 단축 • 배포 후 실시간 확인 • Ad-hoc레포트를 위한 데이터 준비 필요
  • 45. 다양한 업무 요구사항 충족을 위해 Amazon EMR을 선택한 이유 • S3 에 보관하고 있는 데이터의 접근성이 높음 • CPU bound (auto scaling) 에 대한 보장 • IO bound (S3) 에 대한 보장 • 보고서 작성을 위한 SQL의 활용
  • 46. Amazon EMR (Hive)을 도입하여 시작시간 종료시간 처리시간 07-Apr-2017 09:26:33 07-Apr-2017 09:44:59 18.43min Hourly Sessionizing 소요시간 12배 향상
  • 47. Amazone EMR을 활용한 플랫폼 구축 Event log Amazon S3 Referrer Access Control KPI Dashboard Aggregation (Short-term) Adhoc Anaysis Sessionizing (Long-term) Adhoc Anaysis Realtime Reporting /Anaysis
  • 49. 새로운 도전과제 • 회원정보등의 데이터 재처리 • Azar 모바일 이벤트 데이터 수집 • 효과적인 비즈니스 보고서 작성 요청 대응
  • 52. 꼭 기억해 주세요!!! • S3를 활용한 안전하고 비용 효과적인 저장소를 구축하세요. • 분석 워크로드간 독립성을 유지하세요. • 다양한 데이터 분석, 시각화 도구 활용하세요. • Spot Fleets을 활용하여 비용을 절감하세요. • 관리 자동화를 위해 오토 스케일링을 설정하세요.
  • 53. 본 강연이 끝난 후… Amazon EMR 자습서 및 샘플코드를 참조하세요. https://aws.amazon.com/articles/Elastic-MapReduce Amazon EMR 블로그를 통해 다양한 소식 및 사용 사례를 참조하세요. https://aws.amazon.com/ko/blogs/aws/category/amazon-emr/
  • 54. Thank you! 함께 해주셔서 감사합니다!
  • 55. https://www.awssummit.kr AWS Summit 모바일 앱을 통해 지금 세션 평가에 참여하시면, 행사 후 기념품을 드립니다. #AWSSummitKR 해시태그로 소셜 미디어에 여러분의 행사 소감을 올려주세요. 발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜 채널로 공유될 예정입니다. 여러분의 피드백을 기다립니다!