Skip to main content

πŸ“– Apache Airflow 기반의 데이터 νŒŒμ΄ν”„λΌμΈ

Chanho Lee
λ‹€μ–‘ν•œ λΆ„μ•Όλ₯Ό κ³΅λΆ€ν•˜κ³  μžˆλŠ” 학생
info

제이펍 <λ―Ώκ³  λ³΄λŠ” IT μ „λ¬Έμ„œ 리뷰어> ν™œλ™μ„ μœ„ν•΄μ„œ 책을 μ œκ³΅λ°›μ•„ μž‘μ„±λœ μ„œν‰μž…λ‹ˆλ‹€.

Book Info​

tip

μ±… 이미지λ₯Ό ν΄λ¦­ν•˜λ©΄ ꡐ보문고 μ‚¬μ΄νŠΈλ‘œ μ΄λ™ν•©λ‹ˆλ‹€!

μ±…

  • 제λͺ©: Apache Airflow 기반의 데이터 νŒŒμ΄ν”„λΌμΈ
  • μ €μž: Bas P. Harenslak, Julian Rutger de Ruiter
  • μ—­μž: κΉ€μ •λ―Ό, 문선홍
  • μΆœνŒμ‚¬: 제이펍
  • μΆœκ°„: 2022-03-16

Book Review​

ꡬ성​

이 책은 4개의 큰 파트둜 이루어지며, κΈ°λ³Έ, 쀑급, μ‹€μŠ΅, ν΄λΌμš°λ“œμ—μ„œ airflow μ‚¬μš©μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
κΈ°λ³Έμ—μ„œλŠ” 말 κ·ΈλŒ€λ‘œ 데이터 νŒŒμ΄ν”„λΌμΈ κ°œλ…, Airflow DAG(Directed Acyclic Graph)의 μ •μ˜, μŠ€μΌ€μ€„λ§, μ˜μ‘΄μ„± μ •μ˜ 등을 μ„€λͺ…ν•©λ‹ˆλ‹€. 이 λΆ€λΆ„μ—μ„œ airflow 2.x 버전에 λ„μž…λœ Taskflow APIλ₯Ό μ‚¬μš©ν•΄λ΄…λ‹ˆλ‹€.
μ€‘κΈ‰μ—μ„œλŠ” μ™ΈλΆ€ μ‹œμŠ€ν…œμ—μ„œ taskλ₯Ό μ‹€ν–‰ν•  수 μžˆλŠ” 방법, ν…ŒμŠ€νŠΈ, μ»¨ν…Œμ΄λ„ˆλ₯Ό μ΄μš©ν•œ νŒŒμ΄ν”„λΌμΈ 등을 배울 수 μžˆμŠ΅λ‹ˆλ‹€. μ˜ˆμ‹œλ₯Ό ν™œμš©ν•˜μ—¬ μ„€λͺ…ν•˜λŠ” 점이 인상 κΉŠμ—ˆμŠ΅λ‹ˆλ‹€.
μ‹€μŠ΅μ—μ„œλŠ” 본격적으둜 효율적이고 μœ μ§€λ³΄μˆ˜ κ°€λŠ₯ν•œ νŒŒμ΄ν”„λΌμΈ ꡬ좕, Airflowλ₯Ό μ‹€μ œ μ„œλΉ„μŠ€μ— λ„μž…ν•  λ•Œ κ³ λ €ν•΄μ•Ό ν•  것 등을 μ„€λͺ…ν•©λ‹ˆλ‹€. λ„ˆλ¬΄ κ°œλ…λ§Œ μ„€λͺ…ν•˜λŠ” 것이 μ•„λ‹ˆκ³ , μžμ„Έν•˜κ²Œ μ„€λͺ…이 λ˜μ–΄ μžˆμ–΄μ„œ ν•„μš”ν•  λ•Œ λ‹€μ‹œ 보면 쒋은 λ‚΄μš©λ“€μ΄μ—ˆμŠ΅λ‹ˆλ‹€.
ν΄λΌμš°λ“œμ—μ„œ airflow μ‚¬μš©μ€ 말 κ·ΈλŒ€λ‘œ AWS, Azure, GCP ν™˜κ²½μ—μ„œ Airflow 배포에 λŒ€ν•œ μ•„ν‚€ν…μ²˜λ₯Ό μ„€κ³„ν•΄λ΄…λ‹ˆλ‹€. 이 뢀뢄도 λ‹¨μˆœνžˆ ν•˜λŠ” λ°©λ²•λ§Œ μ„€λͺ…ν•˜λŠ” 것이 μ•„λ‹ˆλΌ μ˜ˆμ œκ°€ μžˆμ–΄μ„œ λ„ˆλ¬΄ μ’‹μ•˜μŠ΅λ‹ˆλ‹€.

도컀 ν™˜κ²½β€‹

주어진 μ½”λ“œλ“€μ˜ 각 μž₯μ—λŠ” 거의 λͺ¨λ‘ docker-compose.yml 파일이 μžˆμŠ΅λ‹ˆλ‹€. 즉, μ½”λ“œλ₯Ό μ‰½κ²Œ μ‹€ν–‰ν•  수 μžˆλ„λ‘ 도컀λ₯Ό ν™˜κ²½μ΄ μ£Όμ–΄μ§„λ‹€λŠ” 것이죠. 이 뢀뢄이 이 μ±…μ˜ κ°€μž₯ 큰 μž₯점이라고 μƒκ°ν•©λ‹ˆλ‹€. μ „ κ·Έλž˜λ„ ν™˜κ²½ ꡬ성을 직접 해봐야 κ² λ‹€ μ‹Άμ–΄μ„œ 둜컬둜 λŒλ €λ³΄κΈ°λ„ ν–ˆκ³  κ°„λ‹¨ν•˜κ²Œ λ„μ»€λ‘œ λŒλ €λ³΄κΈ°λ„ ν–ˆμŠ΅λ‹ˆλ‹€. ν™•μ‹€νžˆ 도컀가 νŽΈν•©λ‹ˆλ‹€. 이 책을 μ½μœΌμ‹ λ‹€λ©΄ 이 λΆ€λΆ„ κΌ­ ν™œμš©ν•˜μ‹œκΈΈ λ°”λΌκ² μŠ΅λ‹ˆλ‹€.

뢀둝​

이 μ±…μ˜ λΆ€λ‘μ—μ„œλ„ 도움이 λ˜λŠ” λ‚΄μš©μ΄ λ§Žμ•˜μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ Appendix A μ‹€ν–‰ μ½”λ“œ μ˜ˆμ œμ—μ„œλŠ” μ½”λ“œκ°€ μ–΄λ–»κ²Œ κ΅¬μ„±λ˜μ–΄ μžˆλŠ”μ§€ κ°„λ‹¨ν•˜κ²Œ μ„€λͺ…ν•˜κ³ , 도컀 ν™˜κ²½μ„ μ‚¬μš©ν•˜μ—¬ 예제λ₯Ό μ‹€ν–‰μ‹œν‚€λŠ” λͺ…λ Ήμ–΄ λͺ‡κ°€μ§€λ₯Ό μ•Œλ €μ€λ‹ˆλ‹€. 도컀λ₯Ό ν•œ λ²ˆλ„ μ‚¬μš©ν•΄λ³΄μ§€ λͺ»ν•΄λ³΄μ…¨λ”라도 이 뢀둝 ν•˜λ‚˜λ§Œ 있으면 μ‰½κ²Œ ν™˜κ²½μ„ ꡬ성할 수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. λ˜ν•œ, Appendix B Airflow 2 νŒ¨ν‚€μ§€ κ΅¬μ„±μ—μ„œλŠ” Airflow 1κ³Ό 2의 νŒ¨ν‚€μ§€ 차이에 λŒ€ν•΄ κ°„λ‹¨ν•˜κ²Œ μ„€λͺ…ν•©λ‹ˆλ‹€. μ–΄λ–€ 차이가 μžˆμ—ˆλŠ”μ§€ μ„€λͺ…ν•΄μ£ΌλŠ” 이런 μ„Έμ‹¬ν•œ 뢀둝이 μ’‹μ•˜μŠ΅λ‹ˆλ‹€.

λŒ€μƒλ…μžβ€‹

이 책은 μ†Œκ°œμ—λ„ μ ν˜€ μžˆλ“―μ΄ 쀑급 μ΄μƒμ˜ 파이썬 μŠ€ν‚¬μ„ λ³΄μœ ν•œ DevOps μ—”μ§€λ‹ˆμ–΄, 데이터 μ—”μ§€λ‹ˆμ–΄, λ¨Έμ‹ λŸ¬λ‹ μ—”μ§€λ‹ˆμ–΄ 등을 μœ„ν•œ 책이라고 μƒκ°ν•©λ‹ˆλ‹€. 이제 막 데이터 μ—”μ§€λ‹ˆμ–΄λ§μ— μž…λ¬Έν•˜κ±°λ‚˜ 기초 CS 지식이 μ—†λ‹€λ©΄ 읽기 μ–΄λ €μšΈ μˆ˜λ„ μžˆμ„ 것 κ°™μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ κ΅­λ‚΄ IT λ„μ„œ 쀑 Airflowλ₯Ό μ£Όμš” 주제둜 μ§€μ •ν•˜μ—¬ 쓰여진 책은 아직 이 μ±… 밖에 μ—†λŠ” μ μ—μ„œ νŒŒμ΄ν”„λΌμΈ, Airflow에 관심이 μžˆλ‹€λ©΄ μΆ©λΆ„νžˆ μ½μ–΄λ³Όλ§Œν•œ 쒋은 μ±…μž…λ‹ˆλ‹€. μ‘°κΈˆμ€ μ–΄λ ΅μ§€λ§Œ 상황별 μ˜ˆμ œκ°€ λ§Žμ•„ Airflowλ₯Ό μ‚¬μš©ν•  μ˜ˆμ •μ΄λΌλ©΄ κΌ­ 읽어보길 μΆ”μ²œν•©λ‹ˆλ‹€.