์ค๋ฆฌ์ฝ๋ฐธ๋ฆฌ ์์ง๋์ด์ ํจ๊ปํ๋ Apache Airflow
์ํํธ์จ์ด ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๋ง๋ค ๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ Orchestrator(์ค์ผ์คํธ๋ ์ดํฐ)์ธ Apache Airflow(์ํ์น ์์ดํ๋ก์ฐ)๋ฅผ ๋ฐฐ์ฐ์ค ์ ์์ต๋๋ค.
์๊ฐ์ 653๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

- ๋ฏธํด๊ฒฐ
airflow 3๋ก ๋๋ฉด์ 2.x๋์ ์ง์ ์ค๋จ๋ ํจํค์ง๊ฐ ๋ง๋ค์..ใ
<img src="https://cdn.inflearn.com/public/files/posts/162e66c8-0355-4082-bbda-f81411d26604/22e156cf-f5f3-4e15-905d-5e99db2476f0.png" media-type="img"
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowํํ๊ฒฝ
ใป
5์ผ ์
0
28
1
- ๋ฏธํด๊ฒฐ
dags ๋๋ ํ ๋ฆฌ์์ sql๋๋ ํ ๋ฆฌ ๋ฃ๊ณ .sql ํ์ผ๋ก ๊ด๋ฆฌํด๋ ๋๋์?
์๋ ํ์ธ์ ๊ฐ์ฌ๋ํ์ฌ airflow 3.2 ๋ฒ์ ์ ํตํ๊ฒ ์ด์ฉํ ์ผ์ด ์๊ฒจ ์ด ๊ฐ์๋ฅผ ๋ณด๋ฉฐ ํฐ ๋์์ ๋ฐ๊ณ ์์ต๋๋ค ๊ฐ์ฌํฉ๋๋ค<p style="text-a
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowํํ๊ฒฝ
ใป
5์ผ ์
0
27
2
- ํด๊ฒฐ
apache airflow ์ค์นํ๊ธฐ ์ง๋ฌธ
์๋ ํ์ธ์mac์์ apache ์ค์นํ๋ ค๊ณ ํ๋๋ฐ, Apache Airflow ์ค์นํ๊ธฐ ๊ฐ์๊ฐ<a tar
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflow์์์ฉ์ฉ
ใป
6๋ฌ ์
0
95
2
- ํด๊ฒฐ
postgres_loader DAG ์๋ฌ
ํด๋น ๊ฐ์์์ ์งํํ postgres_loader DAG๋ฅผ ๋๋ฆฌ๋ฉด ์๊พธ sample_table์ด ์กด์ฌํ์ง ์๋๋ค๋ ์๋ฌ๊ฐ ๋ฐ์ํด์ ์ง๋ฌธ ๋จ๊น๋๋ค.๋์ปค์์ ์ค์นํด์
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflow์์ฑ์ ์์
ใป
6๋ฌ ์
1
61
3
- ํด๊ฒฐ
Queue ๊ฐ์๋ฅผ ๋ฃ๊ณ ๋ ํ์ ๋ํ ์ง์
Queue์ ๋ํ ์ง๋ฌธ์ด ๋ช๊ฐ์ง๊ฐ ์์ต๋๋ค. ํ๋ฅผ ์ง์ ํ ๋๋ ๋ฌด์กฐ๊ฑด ํ์ ์ด๋ฆ์
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflow๊น์ ์
ใป
7๋ฌ ์
0
60
1
- ํด๊ฒฐ
๊ณต์ compose ๋ด postgres db ์ค์น์
์ ๋ postgres๋ฅผ airflow ๊ณต์ compose์์ ํจ๊ป ๋์์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ connection์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์์ต๋๋ค. <
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflow์ํด๋น
ใป
9๋ฌ ์
0
82
2
- ํด๊ฒฐ
postgres_loader์ apache-airflow-providers-postgres ๋ฒ์ ํธํ์ฑ
postgres_loader ํ ์คํธ์,from airflow.providers.postgres.operators.postgres import Post
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowjhlee
ใป
1
194
2
- ํด๊ฒฐ
Airflow Limitation ๊ฐ์์ ๋ํ ์ง๋ฌธ
๋จผ์ ์ข์ ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค.Airflow Limitation ๋ด์ฉ ์ค Inefficient for S
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowkmkang
ใป
1
96
1
- ๋ฏธํด๊ฒฐ
airflow์ postgres๊ฐ์ connection ์ค๋ฅ
airflow์ postgres ๊ฐ์ connection ์ค๋ฅ ๋ฌธ์ ์ ๋๋ค.airflow UI -> admin-> connections์์ postgres ์ฐ๊ฒฐ์ค์ <img src="https://cdn.inflear
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowstyle12385
ใป
1
1,155
4
- ๋ฏธํด๊ฒฐ
from airflow.sensors.sql import SqlSensor์ ๋ํด ์ง๋ฌธ ์์ต๋๋ค.
์ ์๋์ด 4:21์ด์ from airflow.sensors.sql import SqlSensor๋ provider์ ์๋๊ฒ ์๋๋ผ core์ ์๋ sensor๋ผ๊ณ ์๋ ค์ฃผ์ จ๋๋ฐ airflow ๋ฒ์ 2.9.1์์๋ Sql
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflow์ฝ๋ฉ๋ฉ
ใป
1
258
1
- ๋ฏธํด๊ฒฐ
๋ฉํ๋ฐ์ดํฐ ์๋ฏธ
๊ฐ์ฌ๋ ์๋ ํ์ธ์๋ฉํ๋ฐ์ดํฐ๋ ํ ์ดํฐ์ ์ค๋ช ์ฆ, ํ ์ด๋ธ์ ๋ํ ๋ช ์ธ์ ๋ผ๊ณ ์ ์ ํ๋๊ฒ์ ๋ดค์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ ๋ค๋ฅธ ์๋ฏธ๋ก ์์ฒ ๋ฐ์ดํฐ ๋ผ๋ ์๋ฏธ๋ก๋ ์ฌ์ฉ๋ ์ ์์๊น์? ์๋ฅผ๋ค์ด overview๊ฐ์์์ 6:24์ด์ "๋ค๋ฅธ ๋ฉํ ๋ฐ์ดํฐ์ ํฉ์ฑํด์"๋ผ
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflow์๋ฆฌ
ใป
1
373
2
- ํด๊ฒฐ
๋ณ๋ ฌ์ฒ๋ฆฌ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์ ์ ์๋ ๐ airflow ์ค์ต์ค์ airflow์ ๋ณ๋ ฌ์ฒ๋ฆฌ์์ ๋ฉ์์ง ํ๊ฐ ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋๋์ง ๊ถ๊ธํ์ฌ ์ง๋ฌธ๋๋ฆฝ๋๋ค!</p
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowJP
ใป
1
512
2
- ํด๊ฒฐ
connection ์ ๋ณด ์ด์ ๋ฐฉ๋ฒ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์ ์ ์๋ ๐ connection ์ ๋ณด๋ฅผ ์๋ก์ด ํ๊ฒฝ์ ์ด์ ๋ฐฉ๋ฒ ์ง๋ฌธ๋๋ฆฝ๋๋ค.stackoverflow
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowJP
ใป
1
279
1
- ํด๊ฒฐ
PostgresOperator๋ก ๋๋์ ๋ฐ์ดํฐ ์ ๋ก๋ ๋ฐฉ๋ฒ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์ ์ ์๋ ๐ PostgresOperator ์ง๋ฌธ ๋๋ฆฝ๋๋ค. DB table์ ๋ฐ์ดํฐ๋ฅผ ๊ฐฑ์ ํ๋ task๋ฅผ ํผ์
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowJP
ใป
1
406
1
- ํด๊ฒฐ
๊ฐ์ ํ ์ธ ํ๋ก๋ชจ์ ์ง๋ฌธ์ ๋๋ค..
์ ์๋ ์๊ฐ ์ดํ ์ปค๋ฎค๋ํฐ ์ด๋ฒคํธ ์ฐธ์ฌ ์ ์ฒญํ๋๋ฐ์์ด๋ฒคํธ ๋๋๊ฑด๊ฐ์? ใ <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.inflearn.com/course/
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowJP
ใป
1
287
1
- ํด๊ฒฐ
hook ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์ ์ ์๋ hook ์ฌ์ฉ์ ๋ํ ์ง๋ฌธ๋๋ฆฝ๋๋ค! [์ง๋ฌธ] connection ๊ธฐ๋ฅ์ ์ฌ์ฉํด์ DB์ ์ฐ๊ฒฐํ์ฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ๋ณด์ด๋๋ฐ์. hook์ ์ฌ์ฉํ๋ ์ด์ ๊ฐ ๊ถ๊ธ ํฉ๋๋ค. <p
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowJP
ใป
1
352
1
- ๋ฏธํด๊ฒฐ
section 2-hook ๊ฐ์ ์ง๋ฌธ
docker on window๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.docker ์ airflow๋ฅผ ์ฌ๋ฆฌ๋ฉด, ์์ฒด์ ์ผ๋ก postgres db ๊ฐ ์ฌ๋ผ๊ฐ๋๋ฐ์. ๊ฐ์ 8:05 ์์ ๋ง์ํ์๋๊ฒ ์ด๊ฒ์ธ๋ฏ ํ๋ฐ์. <img src="htt
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflownathan
ใป
1
297
1
- ๋ฏธํด๊ฒฐ
airflow tasks test ์ง๋ฌธ๋๋ฆฝ๋๋ค!
์๋ ํ์ธ์ ์ ์๋! ๐provider ๊ฐ์์์ airflow tasks test ์ง๋ฌธ๋๋ฆฝ๋๋ค.airflow docker-
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflow์์ฑ์ ์์
ใป
1
513
3
- ํด๊ฒฐ
airflow docker compose ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์ ์ ์๋ airflow docker compose ์ง๋ฌธ๋๋ฆฝ๋๋ค. airflow docker compose๋ก ์ต์ด ์คํํ yml ํ์ผ์ ์์ ํ๋ฉด ์์ ๋ด์ฉ๋ง์ ๋ฐ์ํ๊ฒ๋๋๊ฑด๊ฐ์? ์๋๋ฉด ์๋ก์ด docker compose๋ฅผ ๋น๋ํ๋
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflowJP
ใป
1
421
1
- ํด๊ฒฐ
์น์ 1 apache airflow ์ค์นํ๊ธฐ ์ง๋ฌธ
๊ฐ์ 3:17 ์์"๊ทธ๋๋ก ์นดํผํ์ ์ ์ค์นํ๋ฉด" ์ด๋ผ๊ณ ํ์ จ๋๋ฐ ์ด๊ฒ ๋ฌด์จ๋ป์ด์ฃ ? ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.์นดํผํด์ ํฐ๋ฏธ๋์ ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ ์์ <img
python๋น ๋ฐ์ดํฐ๋ฐ์ดํฐ-์์ง๋์ด๋งairflownathan
ใป
1
468
1






