๐โ๏ธ๋ด์ฉ ์ ๋ฆฌ์ ์์, ์ฑ ์ฝ๊ฒ ๋ ์ด์
๋ฐ๋ธ์ฝ์ค ํ๋ฉฐ Airflow ํ์ตํ๊ณ ์ค์ ํ๋ก์ ํธ์ ์ ์ฉํด๋ณด๋ ๊ฒฝํ์ ํ๋ค.
ํ์ง๋ง ์ต์ข ํ๋ก์ ํธ๋ฅผ ํ๋ฉฐ Airflow๋ฅผ ์กฐ๊ธ ๋ ๊น๊ฒ ํ์ตํ๊ณ ์ ๋๋ก ๊ณต๋ถํ๊ณ ์ถ๋ค๋ ์๊ฐ์ ์ฑ ์ ๊ตฌ์ ํ๊ฒ ๋์๋ค.
๋ํ, 9์์ ํ๋ก์ ํธ๋ฅผ ์ข ๋ฃํ๊ณ ๋ ๋ฌ ์ ๋ ์ง๋๋ ๋จธ๋ฆฌ์์์ ๊ฐ๋ฌผ๊ฐ๋ฌผํด์ ธ ๋ณต์ตํ ๊ฒธ ์ฑ ์ ์ฝ์ด๋ณธ๋ค.
ํ ์ฑํฐ์ฉ ์ฝ๊ณ ๊ธ๋ก ์ ๋ฆฌํ๋ ๋ชฉํ๋ก ์ฝ์ด๋ณด์
Ch1. Airflow ์ดํด๋ณด๊ธฐ
Airflow ์ฃผ์ ๊ธฐ๋ฅ
์ ์ฐํ ํ์ด์ฌ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํด ์ฝ๊ฒ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ ๊ฐ๋ฅํ๋ฉฐ, ์๋ก ๋ค๋ฅธ ๊ธฐ์ ๋ค์ ์ฐ๊ฒฐํ ์ ์๋ ๋ค์ํ ๋น๋ฉ ๋ธ๋ก ์ ๊ณต
- Airflow ๋ ์ง์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ X → ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ค์ํ ๊ตฌ์ฑ ์์๋ค์ ์กฐ์
๋ฐฉํฅ์ฑ ๋น์ํ ๊ทธ๋ํ (Directed Acyclic Graph, DAG)
ํ์คํฌ ๊ฐ ์์กด์ฑ์ ๋ช ํํ ํํํ๋ ๊ฒ์ ๋ฐฉํฅ์ฑ ๊ทธ๋ํ
์ด๋ ๊ทธ๋ํ๋ ๋น์ํ (๋ฐ๋ณต X, ์ํ X)
- ๋ฐฉํฅ์ฑ ๊ทธ๋ํ : ํ์คํฌ๋ ๋ ธ๋, ํ์คํฌ ๊ฐ์ ์์กด์ฑ์ ๋ ธ๋๊ฐ์ ๋ฐฉํฅ
- ๋น์ํ : ๋์ ์ ํฌํจํ๋, ๋ฐ๋ณต X,์ํ X
์ฐธ๊ณ : “์ ์คํธ๋ฆผ ์์กด์ฑ” ์์ ์ ์คํธ๋ฆผ์ด๋ ์ด์ ํ์คํฌ๋ฅผ ๋ปํจ
์ํฌํ๋ก ๋งค๋์ง๋จผํธ ํด ๋น๊ต
์ด๋ฆ | ์์ํ์ฌ | ์ํฌํ๋ก ์ ์ | ๊ฐ๋ฐ์ธ์ด | ์ค์ผ์ค ๊ด๋ฆฌ | ๋ฐฑํ | ์ฌ์ฉ์ ์ธํฐํ์ด์ค | ํ๋ซํผ ์ค์น | ์ํ ํ์ฅ |
Airflow | Airbnb | ํ์ด์ฌ | ํ์ด์ฌ | O | O | O | Anywhere | O |
Luigi | Spotify | ํ์ด์ฌ | ํ์ด์ฌ | X | O | O | Anywhere | O |
Oozie | XML | JAVA | O | O | O | Hadoop | O |
- Airflow๋ DAG ์์ฝ, ์คํ, ๊ทธ๋ฆฌ๊ณ ์คํ ๊ฒฐ๊ณผ์ ๋ํ ๋ชจ๋ํฐ๋ง ๊ฐ๋ฅํ ์น ์ธํฐํ์ด์ค ์ ๊ณตํจ.
- ๋ํ ํ์คํฌ ์คํจ ์์ ์ฌ์๋ ๋ฐ ์ค๋ฅ ๋ฐ์ ์ ํ์คํฌ ์คํจ ํต๋ณด ๋ฐ ๋ณต๊ตฌ ๊ฐ๋ฅ
- Airflow ์ค์ผ์ค ๊ธฐ๋ฅ์ผ๋ก DAG์ ์ ์๋ ํน์ ์์ ์ ํธ๋ฆฌ๊ฑฐ ํ ์ ์๊ณ , ์ต์ข ์์ ๋ฐ ์์ฝ๋๋ ๋ค์ ์ค์ผ์ค ์ฃผ๊ธฐ ์์ธํ ์๋ ค์ค.
- ๋ฐฑํ๋ก ๊ณผ๊ฑฐ ์์ ๋ฐ ๊ธฐ๊ฐ์ ๋ํด ์คํ ๊ฐ๋ฅํจ
Airflow ๊ตฌ์ฑ ์์
- Airflow ์ค์ผ์ค๋ฌ: DAG ๋ถ์ ํ ์กฐ๊ฑด์ ๋ง์ผ๋ฉด Airflow ์์ปค์ DAG์ ํ์คํฌ๋ฅผ ์์ฝ
- Airflow ์์ปค: ์์ฝ๋ ํ์คํฌ๋ฅผ ์ ํ ๋ฐ ์คํ
- Airflow ์น์๋ฒ : ์ค์ผ์ค๋ฌ์์ ๋ถ์ํ DAG ์๊ฐํ & DAG ์คํ &๊ฒฐ๊ณผ ํ์ธ ํ ์ ์๋ ์ฃผ์ ์ธํฐํ์ค ์ ๊ณต
Airflow ์คํ ์์
- ๊ฐ๋ฐ์๋ DAG๋ก ์ํฌํ๋ก ์์ฑ
- Airflow ์ค์ผ์ค๋ฌ๊ฐ (1) DAG ๋ด์ฉ ํ์ฑ, (2) DAG์ ์์ฝ๋ ํ์คํฌ๋ฅผ ์์ฝ, (3) ํ์คํฌ ๊ฐ ์์กด์ฑ ํ์ธ
- DAG ํ์ธ (ํ์คํฌ, ์์กด์ฑ, ์ค์ผ์ค ์ฃผ๊ธฐ)
- DAG ์์ฝ ์๊ฐ ์ง๋๋ฉด ํ์คํฌ ์์ฝ
- ์์ฝ๋ ํ์คํฌ ์กด์ฌํ๋ ๋์ ํ์คํฌ ์์กด์ฑ ํ์ธ
- ์์กด์ฑ ๋ชจ๋ ํด๊ฒฐ๋๋ฉด ์คํํ ํ์คํฌ๋ฅผ ๋๊ธฐ์ด์ ์ถ๊ฐ
- x์ด ๋งํผ ๋๊ธฐ
- (๊ณผ์ 1) ๋ฐ๋ณต
- Airflow ์์ปค๋ ์์ฝ๋ ํ์คํฌ๋ฅผ ์คํ (๋ณ๋ ฌ ์ฒ๋ฆฌ)
- ํ์คํฌ๊ฐ ์คํ๋๊ธฐ์ด์ ์ถ๊ฐ๋๋ฉด Airflow ์ํฌ์ ํ์ ์์ปค๊ฐ ํ์คํฌ๋ฅผ ์ ํ ๋ฐ ์คํ
- ์คํ ๊ฒฐ๊ณผ๋ Airflow ๋ฉํ์คํ ์ด์ ์ ์ฅ
- Airflow ์น์๋ฒ๋ Airflow ๋ฉํ์คํ ์ด์ ์ ์ฅ๋ DAG ๋ชฉ๋ก๊ณผ ํ์คํฌ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์น ์ธํฐํ์ด์ค ์ ๊ณตํจ
์ฑ [Apache Airflow๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ] ์ ์ฝ์ผ๋ฉฐ ์ ๋ฆฌํ ๋ด์ฉ์ ๊ธฐ๋กํ์ต๋๋ค.
'#๏ธโฃ Data Engineering > Airflow' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Ch4. Airflow ํ์คํฌ ํ ํ๋ฆฟ ๋ฐ XCom (0) | 2023.11.16 |
---|---|
Ch2,3. Airflow DAG ๊ตฌ์กฐ ๋ฐ ์ค์ผ์ค๋ง (0) | 2023.11.15 |
Airflow ์ด์๊ณผ ๋์ (0) | 2023.06.22 |
Airflow ์ค์ต_OLTP์์ OLAP์ผ๋ก ๋ฐ์ดํฐ ์ ์ฌํ๊ธฐ (0) | 2023.06.09 |
Airflow Backfill_Execution Date๊ณผ StartDate (0) | 2023.06.08 |