O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
데브시스터즈
박주홍
Spark, Flintrock, Airflow 로 구현하는
탄력적이고 유연한 데이터 분산처리
자동화 인프라 구축
오늘 전하고 싶은 이야기
- 데이터 엔지니어의
고민과 해결 과정
- 분산 처리 자동화
인프라의 큰 그림
오늘 나누고 싶은 주제
- Spark, Flintrock
탄력적인 클러스터 구축
- Airflow
유연한 분석 스케줄링
2017 ~ 현재 Data Science & Infrastructure 팀장
2015 ~ 2016 쿠키런 데이터 연구 및 인프라 개발
2013 – 2015 쿠키런 서버 개발
박주홍
Juhong Park
데이터란?
데이터 엔지니어의 입장에서
데이터란?
데이터 엔지니어의 입장에서
없으면 Bad
데이터란?
데이터 엔지니어의 입장에서
없으면
있으면
Bad
Good
데이터란?
데이터 엔지니어의 입장에서
없으면
있으면
아주 많으면
Bad
Good
Excellent
데이터란?
데이터 엔지니어의 입장에서
없으면
있으면
아주 많으면
끝 없이 많으면?
Bad
Good
Excellent
데이터란?
데이터 엔지니어의 입장에서
없으면
있으면
아주 많으면
끝 없이 많으면?
Bad
Good
Excellent
Disaster
$ python analysis.py?
Single Server – 1GB
No Problem.
$ python analysis.py?
Single Server – 1TB
Yes Problem.
Out of
- Server Memory
- Server Disk
$ python analysis.py?
Single Server – 1TB
Yes Problem.
Out of
- Server Memory
- Server Disk
- Your Time
$ python analysis.py?
Single Server – 1TB
Yes Problem.
Out of
- Server Memory
- Server Disk
- Your Time
- Your Mind
데이터 엔지니어링
≒
데이터 부하 분산
Spark, Flintrock
탄력적인 클러스터 구축
https://spark.apache.org
Reference: www.jenunderwood.com
Reference: www.jenunderwood.com
• 인기 있는 분산 처리 엔진
• 속도, 안전성 면에서 합격점
• 여러 플랫폼과의 호환 지원
• SQL, Dataframe 기반의 분석 지원
AWS EC2
Spark
AWS S3
Client
AS-IS
오늘 접속한 유저의
코인 보유량을 알고 싶어요
AWS EC2
Spark
2대
AWS S3
10GB
Client
Spark Cluster Launch
6분
지난주에 접속한 유저의
코인 보유량을 알고 싶어요
1일 X 7 = 1주일
10GB X 7 = 70GB
2대 X 7 = 14대
AWS EC2
Spark
14대
AWS S3
70GB
Client
6분 X 7 = 42분?
Spark Cluster Launch
주 단위 분석 할 때마다
42분을 기다려야 한다고?
AWS S3
Client
Spark Cluster Launch 2대
Spark3분
AWS S3
Client
Spark Cluster Launch 2대
Spark3분
Spark
3분
AWS S3
Client
Spark Cluster Launch 2대
Spark3분
Spark
3분
3분 X 2 = 6분
AWS S3
Client
Spark Cluster Launch 14대
Spark
3분
3분 X 14 = 42분
X 14
클러스터를 보다 빨리
띄울 수 없을까?
클러스터를 보다 빨리
ASYNC 하게
띄울 수 없을까?
클러스터를 보다 빨리
ASYNC 하게
띄울 수 없을까?
https://github.com/nchammas/flintrock
AWS S3
Client
Spark Cluster Launch
Spark3분
Spark
3분
3분 X 2 = 6분
AWS S3
Client
Spark
Spark
3분 X 1 = 3분!
Spark Cluster Launch – Flintrock
AWS S3
Client
Spark
3분 X 1 = 3분! < 42분
실제로는 각종 Overhead 로 5분 ~ 7분 소요
Spark Cluster Launch – Flintrock
X 14
ASYNC
AWS EC2
Spark
AWS S3
Client
AS-IS
AWS EC2
Spark
AWS S3
Client
TO-BE, Flintrock
ASYNC
14대의 클러스터로 작업 도중
최근 2주 동안 접속한 유저의
코인 보유량을 알고 싶어요
기존 14대 클러스터를
2배로 키우자!
클러스터를 2배로 키우는 방법
클러스터를 2배로 키우는 방법
• 첫번째 방법
클러스터를 2배로 키우는 방법
• 첫번째 방법
1. 기존 14대 클러스터를 내린다.
클러스터를 2배로 키우는 방법
• 첫번째 방법
1. 기존 14대 클러스터를 내린다.
2. 새로운 28대 클러스터를 띄운다.
클러스터를 2배로 키우는 방법
• 첫번째 방법
1. 기존 14대 클러스터를 내린다.
2. 새로운 28대 클러스터를 띄운다.
우린 Flintrock 으로 빠르게 띄울 수 있으니까!
클러스터를 2배로 키우는 방법
• 첫번째 방법
1. 기존 14대 클러스터를 내린다.
2. 새로운 28대 클러스터를 띄운다.
우린 Flintrock 으로 빠르게 띄울 수 있으니까!
클러스터를 2배로 키우는 방법
• 첫번째 방법
1. 기존 14대 클러스터를 내린다.
2. 새로운 28대 클러스터를 띄운다.
우린 Flintrock 으로 빠르게 띄울 수 있으니까!
• 두번째 방법
클러스터를 2배로 키우는 방법
• 첫번째 방법
1. 기존 14대 클러스터를 내린다.
2. 새로운 28대 클러스터를 띄운다.
우린 Flintrock 으로 빠르게 띄울 수 있으니까!
• 두번째 방법
1. 새로운 서버 14대...
클러스터를 2배로 키우는 방법
• 첫번째 방법
1. 기존 14대 클러스터를 내린다.
2. 새로운 28대 클러스터를 띄운다.
우린 Flintrock 으로 빠르게 띄울 수 있으니까!
• 두번째 방법
1. 새로운 서버 14대...
클러스터를 2배로 키우는 방법
• 첫번째 방법
1. 기존 14대 클러스터를 내린다.
2. 새로운 28대 클러스터를 띄운다.
우린 Flintrock 으로 빠르게 띄울 수 있으니까!
• 두번째 방법
1. 새로운 서버 14대...
클러스터를 2배로 키우는 방법
• 첫번째 방법
1. 기존 14대 클러스터를 내린다.
2. 새로운 28대 클러스터를 띄운다.
우린 Flintrock 으로 빠르게 띄울 수 있으니까!
• 두번째 방법
1. 새로운 서버 14대...
서버를 추가하려면
14번의 노가다를 해야 한다고?
AWS EC2
Spark
AWS S3
Client
Add, Remove Slave
ASYNC
flintrock add-slaves spark-cluster --num-slaves 14
flintrock remove-sl...
• Async 하게 빠른 속도로 클러스터 구축
• CLI 기반으로 간편하게 클러스터 셋팅
• 분석 규모에 맞춰 클러스터 사이즈를
언제든 원하는 사이즈로 탄력적으로 조정
Airflow
유연한 분석 스케줄링
AWS EC2
Spark
AWS S3
Client
AS-IS
ASYNC
매일 아침에
국가별 매출액을
리포트 해주세요.
구매 로그환율 서버상품 정보
이메일 리포트
AWS EC2
Spark
Python
가격 달러 환산
Daily Report
그리고
매일 아침 출근해서
리포트를 생성
리포트 생성을
매일 아침마다 해야 한다고?
0 0 * * * = 0시 0분 = 매일 정각
구매 로그환율 서버상품 정보
이메일 리포트
AWS EC2
Spark
Python
가격 달러 환산
Daily Report – Cron
Daily
0 0 * * *
구매 로그환율 서버상품 정보
이메일 리포트
AWS EC2
Spark
Python
가격 달러 환산
Daily Report – Cron, Retry
Daily
0 0 * * *
구매 로그환율 서버상품 정보
이메일 리포트
AWS EC2
Spark
Python
가격 달러 환산
Daily Report – Cron, Failback
Daily
0 0 * * *
구매 로그환율 서버상품 정보
이메일 리포트
AWS EC2
Spark
Python
가격 달러 환산
Daily Report – Cron, Fail Report
Daily
실패 리포트0 0 * * *
• 주기적 분석 – Daily, Weekly, Monthly
• Retry 로직 생성
• Failback 및 Fail Report
분석 스케줄링에 필요한 기능
• 주기적 분석 – Daily, Weekly, Monthly
• Retry 로직 생성
• Failback 및 Fail Report
분석 스케줄링에 필요한 기능, Cron
Airflowhttps://airflow.apache.org
• 주기적 분석 – Daily, Weekly, Monthly
• Retry 로직 생성
• Failback 및 Fail Report
Airflow
Airflow
• 주기적 분석 – Daily, Weekly, Monthly
• Retry 로직 생성
• Failback 및 Fail Report
• 유연한 분석 의존 관계 관리
Airflow
유연한 분석 의존 관계 관리 – Dag
Reference: www.qubole.com
Airflow
Reference: danidelvalle.me
유연한 분석 의존 관계 관리 – Dag Graph
Airflow
Reference: danidelvalle.me
유연한 분석 의존 관계 관리 – Dag Graph
Reference: www.predictiveanalyticstoday.com
Airflow
유연한 분석 의존 관계 관리 – Job Control
Reference: www.qubole.com
• DAG(Directed acyclic graph) 단위 관리
• Graph 형태로 분석 파이프라인 시각화
• Job Group, Sub Dag 를 통한 유연한 구조 변경
• Job 단위로 상태 로깅, 에러 확인, 재...
Airflow
Airflow
탄력적인 클러스터 구축 유연한 분석 스케줄링
매일 아침에
국가별 매출액을
리포트 해주세요.
매월 1일에는
국가별 월매출액도
리포트해주세요.
매일 아침에
국가별 매출액을
리포트 해주세요.
매월 1일에는
국가별 월매출액도
리포트해주세요.
Spark
Cluster
2대
Spark
Cluster
16대
Airflow
Daily Report – Airflow
Airflow
Python
환율 계산
Daily Report – Airflow
Airflow
Python
환율 계산
Cluster
Launch
2대
Daily Report – Airflow
Airflow
Python
환율 계산 Daily
매출 계산
Cluster
Launch
2대
Daily Report – Airflow
Airflow
Python
환율 계산 Daily
매출 계산
Cluster
Launch
2대
add-slaves
14대
Daily Report – Airflow
Airflow
Python
환율 계산 Daily
매출 계산
Monthly
매출 계산
Cluster
Launch
2대
add-slaves
14대
Daily Report – Airflow
Airflow
Python
환율 계산 Daily
매출 계산
Monthly
매출 계산
Cluster
Launch
2대
add-slaves
14대
Daily Report – Airflow
Airflow
Python
환율 계산 Daily
매출 계산
Monthly
매출 계산
Cluster
Launch
2대
add-slaves
14대
Daily Report – Airflow
실패 리포트
AWS EC2
Spark
AWS S3
TO-BE
ASYNC
Airflow
add-slaves
Job Scheduling
오늘 이야기 마무리
AWS EC2
Spark
AWS S3
Client
AS-IS
AWS EC2
Spark
AWS S3
Client
TO-BE, Flintrock
ASYNC
add-slaves
탄력적인 클러스터 구축
AWS EC2
Spark
AWS S3
TO-BE, Airflow
ASYNC
Airflow
add-slaves
Job Scheduling
유연한 분석 스케줄링
마무리
 데이터 엔지니어링은
끝 없는 부하 분산만이 살길이다.
탄력적인 클러스터 사이즈 조절로
인프라 전반의 효율성 극대화하자.
유연한 분석 스케줄러를 도입하면
할 일이 절반으로 줄어든다.
We’re Hiring!
Data Science & Infrastructure
데이터 과학자
데이터 엔지니어
머신러닝 엔지니어
www.devsisters.com/jobs
감사합니다.
데브시스터즈
박주홍
J.Park@devsisters.com
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
Próximos SlideShares
Carregando em…5
×

[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축

2.784 visualizações

Publicada em

[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축

Publicada em: Engenharia
  • I like this service ⇒ www.HelpWriting.net ⇐ from Academic Writers. I don't have enough time write it by myself.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • If we are speaking about saving time and money this site ⇒ www.WritePaper.info ⇐ is going to be the best option!! I personally used lots of times and remain highly satisfied.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ...................................ALL FOR EBOOKS................................................. Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • If you want to download or read this book, Copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축

  1. 1. 데브시스터즈 박주홍 Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
  2. 2. 오늘 전하고 싶은 이야기 - 데이터 엔지니어의 고민과 해결 과정 - 분산 처리 자동화 인프라의 큰 그림
  3. 3. 오늘 나누고 싶은 주제 - Spark, Flintrock 탄력적인 클러스터 구축 - Airflow 유연한 분석 스케줄링
  4. 4. 2017 ~ 현재 Data Science & Infrastructure 팀장 2015 ~ 2016 쿠키런 데이터 연구 및 인프라 개발 2013 – 2015 쿠키런 서버 개발 박주홍 Juhong Park
  5. 5. 데이터란? 데이터 엔지니어의 입장에서
  6. 6. 데이터란? 데이터 엔지니어의 입장에서 없으면 Bad
  7. 7. 데이터란? 데이터 엔지니어의 입장에서 없으면 있으면 Bad Good
  8. 8. 데이터란? 데이터 엔지니어의 입장에서 없으면 있으면 아주 많으면 Bad Good Excellent
  9. 9. 데이터란? 데이터 엔지니어의 입장에서 없으면 있으면 아주 많으면 끝 없이 많으면? Bad Good Excellent
  10. 10. 데이터란? 데이터 엔지니어의 입장에서 없으면 있으면 아주 많으면 끝 없이 많으면? Bad Good Excellent Disaster
  11. 11. $ python analysis.py? Single Server – 1GB No Problem.
  12. 12. $ python analysis.py? Single Server – 1TB Yes Problem. Out of - Server Memory - Server Disk
  13. 13. $ python analysis.py? Single Server – 1TB Yes Problem. Out of - Server Memory - Server Disk - Your Time
  14. 14. $ python analysis.py? Single Server – 1TB Yes Problem. Out of - Server Memory - Server Disk - Your Time - Your Mind
  15. 15. 데이터 엔지니어링 ≒ 데이터 부하 분산
  16. 16. Spark, Flintrock 탄력적인 클러스터 구축
  17. 17. https://spark.apache.org
  18. 18. Reference: www.jenunderwood.com
  19. 19. Reference: www.jenunderwood.com
  20. 20. • 인기 있는 분산 처리 엔진 • 속도, 안전성 면에서 합격점 • 여러 플랫폼과의 호환 지원 • SQL, Dataframe 기반의 분석 지원
  21. 21. AWS EC2 Spark AWS S3 Client AS-IS
  22. 22. 오늘 접속한 유저의 코인 보유량을 알고 싶어요
  23. 23. AWS EC2 Spark 2대 AWS S3 10GB Client Spark Cluster Launch 6분
  24. 24. 지난주에 접속한 유저의 코인 보유량을 알고 싶어요
  25. 25. 1일 X 7 = 1주일 10GB X 7 = 70GB 2대 X 7 = 14대
  26. 26. AWS EC2 Spark 14대 AWS S3 70GB Client 6분 X 7 = 42분? Spark Cluster Launch
  27. 27. 주 단위 분석 할 때마다 42분을 기다려야 한다고?
  28. 28. AWS S3 Client Spark Cluster Launch 2대 Spark3분
  29. 29. AWS S3 Client Spark Cluster Launch 2대 Spark3분 Spark 3분
  30. 30. AWS S3 Client Spark Cluster Launch 2대 Spark3분 Spark 3분 3분 X 2 = 6분
  31. 31. AWS S3 Client Spark Cluster Launch 14대 Spark 3분 3분 X 14 = 42분 X 14
  32. 32. 클러스터를 보다 빨리 띄울 수 없을까?
  33. 33. 클러스터를 보다 빨리 ASYNC 하게 띄울 수 없을까?
  34. 34. 클러스터를 보다 빨리 ASYNC 하게 띄울 수 없을까? https://github.com/nchammas/flintrock
  35. 35. AWS S3 Client Spark Cluster Launch Spark3분 Spark 3분 3분 X 2 = 6분
  36. 36. AWS S3 Client Spark Spark 3분 X 1 = 3분! Spark Cluster Launch – Flintrock
  37. 37. AWS S3 Client Spark 3분 X 1 = 3분! < 42분 실제로는 각종 Overhead 로 5분 ~ 7분 소요 Spark Cluster Launch – Flintrock X 14 ASYNC
  38. 38. AWS EC2 Spark AWS S3 Client AS-IS
  39. 39. AWS EC2 Spark AWS S3 Client TO-BE, Flintrock ASYNC
  40. 40. 14대의 클러스터로 작업 도중 최근 2주 동안 접속한 유저의 코인 보유량을 알고 싶어요
  41. 41. 기존 14대 클러스터를 2배로 키우자!
  42. 42. 클러스터를 2배로 키우는 방법
  43. 43. 클러스터를 2배로 키우는 방법 • 첫번째 방법
  44. 44. 클러스터를 2배로 키우는 방법 • 첫번째 방법 1. 기존 14대 클러스터를 내린다.
  45. 45. 클러스터를 2배로 키우는 방법 • 첫번째 방법 1. 기존 14대 클러스터를 내린다. 2. 새로운 28대 클러스터를 띄운다.
  46. 46. 클러스터를 2배로 키우는 방법 • 첫번째 방법 1. 기존 14대 클러스터를 내린다. 2. 새로운 28대 클러스터를 띄운다. 우린 Flintrock 으로 빠르게 띄울 수 있으니까!
  47. 47. 클러스터를 2배로 키우는 방법 • 첫번째 방법 1. 기존 14대 클러스터를 내린다. 2. 새로운 28대 클러스터를 띄운다. 우린 Flintrock 으로 빠르게 띄울 수 있으니까!
  48. 48. 클러스터를 2배로 키우는 방법 • 첫번째 방법 1. 기존 14대 클러스터를 내린다. 2. 새로운 28대 클러스터를 띄운다. 우린 Flintrock 으로 빠르게 띄울 수 있으니까! • 두번째 방법
  49. 49. 클러스터를 2배로 키우는 방법 • 첫번째 방법 1. 기존 14대 클러스터를 내린다. 2. 새로운 28대 클러스터를 띄운다. 우린 Flintrock 으로 빠르게 띄울 수 있으니까! • 두번째 방법 1. 새로운 서버 14대를 띄운다.
  50. 50. 클러스터를 2배로 키우는 방법 • 첫번째 방법 1. 기존 14대 클러스터를 내린다. 2. 새로운 28대 클러스터를 띄운다. 우린 Flintrock 으로 빠르게 띄울 수 있으니까! • 두번째 방법 1. 새로운 서버 14대를 띄운다. 2. SSH 로 서버에 접속한다.
  51. 51. 클러스터를 2배로 키우는 방법 • 첫번째 방법 1. 기존 14대 클러스터를 내린다. 2. 새로운 28대 클러스터를 띄운다. 우린 Flintrock 으로 빠르게 띄울 수 있으니까! • 두번째 방법 1. 새로운 서버 14대를 띄운다. 2. SSH 로 서버에 접속한다. 3. 기존 Spark Cluster 에 연결되도록 Setting 을 잡아준다.
  52. 52. 클러스터를 2배로 키우는 방법 • 첫번째 방법 1. 기존 14대 클러스터를 내린다. 2. 새로운 28대 클러스터를 띄운다. 우린 Flintrock 으로 빠르게 띄울 수 있으니까! • 두번째 방법 1. 새로운 서버 14대를 띄운다. 2. SSH 로 서버에 접속한다. 3. 기존 Spark Cluster 에 연결되도록 Setting 을 잡아준다. 4. 2~3과정을 14번 반복한다.
  53. 53. 서버를 추가하려면 14번의 노가다를 해야 한다고?
  54. 54. AWS EC2 Spark AWS S3 Client Add, Remove Slave ASYNC flintrock add-slaves spark-cluster --num-slaves 14 flintrock remove-slaves spark-cluster --num-slaves 14 add-slaves
  55. 55. • Async 하게 빠른 속도로 클러스터 구축 • CLI 기반으로 간편하게 클러스터 셋팅 • 분석 규모에 맞춰 클러스터 사이즈를 언제든 원하는 사이즈로 탄력적으로 조정
  56. 56. Airflow 유연한 분석 스케줄링
  57. 57. AWS EC2 Spark AWS S3 Client AS-IS ASYNC
  58. 58. 매일 아침에 국가별 매출액을 리포트 해주세요.
  59. 59. 구매 로그환율 서버상품 정보 이메일 리포트 AWS EC2 Spark Python 가격 달러 환산 Daily Report
  60. 60. 그리고 매일 아침 출근해서 리포트를 생성
  61. 61. 리포트 생성을 매일 아침마다 해야 한다고?
  62. 62. 0 0 * * * = 0시 0분 = 매일 정각
  63. 63. 구매 로그환율 서버상품 정보 이메일 리포트 AWS EC2 Spark Python 가격 달러 환산 Daily Report – Cron Daily 0 0 * * *
  64. 64. 구매 로그환율 서버상품 정보 이메일 리포트 AWS EC2 Spark Python 가격 달러 환산 Daily Report – Cron, Retry Daily 0 0 * * *
  65. 65. 구매 로그환율 서버상품 정보 이메일 리포트 AWS EC2 Spark Python 가격 달러 환산 Daily Report – Cron, Failback Daily 0 0 * * *
  66. 66. 구매 로그환율 서버상품 정보 이메일 리포트 AWS EC2 Spark Python 가격 달러 환산 Daily Report – Cron, Fail Report Daily 실패 리포트0 0 * * *
  67. 67. • 주기적 분석 – Daily, Weekly, Monthly • Retry 로직 생성 • Failback 및 Fail Report 분석 스케줄링에 필요한 기능
  68. 68. • 주기적 분석 – Daily, Weekly, Monthly • Retry 로직 생성 • Failback 및 Fail Report 분석 스케줄링에 필요한 기능, Cron
  69. 69. Airflowhttps://airflow.apache.org
  70. 70. • 주기적 분석 – Daily, Weekly, Monthly • Retry 로직 생성 • Failback 및 Fail Report Airflow
  71. 71. Airflow • 주기적 분석 – Daily, Weekly, Monthly • Retry 로직 생성 • Failback 및 Fail Report • 유연한 분석 의존 관계 관리
  72. 72. Airflow 유연한 분석 의존 관계 관리 – Dag Reference: www.qubole.com
  73. 73. Airflow Reference: danidelvalle.me 유연한 분석 의존 관계 관리 – Dag Graph
  74. 74. Airflow Reference: danidelvalle.me 유연한 분석 의존 관계 관리 – Dag Graph
  75. 75. Reference: www.predictiveanalyticstoday.com
  76. 76. Airflow 유연한 분석 의존 관계 관리 – Job Control Reference: www.qubole.com
  77. 77. • DAG(Directed acyclic graph) 단위 관리 • Graph 형태로 분석 파이프라인 시각화 • Job Group, Sub Dag 를 통한 유연한 구조 변경 • Job 단위로 상태 로깅, 에러 확인, 재시도 Airflow 유연한 분석 의존 관계 관리
  78. 78. Airflow
  79. 79. Airflow 탄력적인 클러스터 구축 유연한 분석 스케줄링
  80. 80. 매일 아침에 국가별 매출액을 리포트 해주세요. 매월 1일에는 국가별 월매출액도 리포트해주세요.
  81. 81. 매일 아침에 국가별 매출액을 리포트 해주세요. 매월 1일에는 국가별 월매출액도 리포트해주세요. Spark Cluster 2대 Spark Cluster 16대
  82. 82. Airflow Daily Report – Airflow
  83. 83. Airflow Python 환율 계산 Daily Report – Airflow
  84. 84. Airflow Python 환율 계산 Cluster Launch 2대 Daily Report – Airflow
  85. 85. Airflow Python 환율 계산 Daily 매출 계산 Cluster Launch 2대 Daily Report – Airflow
  86. 86. Airflow Python 환율 계산 Daily 매출 계산 Cluster Launch 2대 add-slaves 14대 Daily Report – Airflow
  87. 87. Airflow Python 환율 계산 Daily 매출 계산 Monthly 매출 계산 Cluster Launch 2대 add-slaves 14대 Daily Report – Airflow
  88. 88. Airflow Python 환율 계산 Daily 매출 계산 Monthly 매출 계산 Cluster Launch 2대 add-slaves 14대 Daily Report – Airflow
  89. 89. Airflow Python 환율 계산 Daily 매출 계산 Monthly 매출 계산 Cluster Launch 2대 add-slaves 14대 Daily Report – Airflow 실패 리포트
  90. 90. AWS EC2 Spark AWS S3 TO-BE ASYNC Airflow add-slaves Job Scheduling
  91. 91. 오늘 이야기 마무리
  92. 92. AWS EC2 Spark AWS S3 Client AS-IS
  93. 93. AWS EC2 Spark AWS S3 Client TO-BE, Flintrock ASYNC add-slaves 탄력적인 클러스터 구축
  94. 94. AWS EC2 Spark AWS S3 TO-BE, Airflow ASYNC Airflow add-slaves Job Scheduling 유연한 분석 스케줄링
  95. 95. 마무리  데이터 엔지니어링은 끝 없는 부하 분산만이 살길이다. 탄력적인 클러스터 사이즈 조절로 인프라 전반의 효율성 극대화하자. 유연한 분석 스케줄러를 도입하면 할 일이 절반으로 줄어든다.
  96. 96. We’re Hiring! Data Science & Infrastructure 데이터 과학자 데이터 엔지니어 머신러닝 엔지니어 www.devsisters.com/jobs
  97. 97. 감사합니다. 데브시스터즈 박주홍 J.Park@devsisters.com

×