Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- CDC
- docker
- proerty
- 쿠버네티스
- 도커
- numpartitions
- UI for kafka
- ksql
- spring boot
- spark
- dbt_project
- k9s
- DBT
- 파이썬
- Materializations
- mysql
- 카프카
- polars
- 동적 차트
- kafka
- 크롤링
- freshness
- bar cahrt
- 윈도우
- Java
- 모바일
- KubernetesPodOperator
- Python
- airflow
- query history
Archives
- Today
- Total
데이터 엔지니어 이것저것
KubernetesPodOperator 본문
728x90
airflow를 사용하면서, 이때까지 celery executor를 사용하였지만 이제는 kubernetesPodOperator를 사용해야할때가 왔다.
주요 원인
- 배치의 수가 늘어남
- 특정 배치의 경우 더 많은 병렬이 필요.
기존 10개의 Task로 처리했다면, 갑자기 20-30개 등으로 늘어나야함
이때까지는 airflow 성능을 업그레이드 하거나 하는 등의 비효율적인 방법으로 대응 - 특정 TASK마다 필요로 하는 lib 버전 또는 언어가 다름
특정 TASK를 위해 lib 업그레이드를 하면 다른 TASK에서 오류 발생
간단하게 이러한 문제로 인해 넘어가기 위한 공부 진행
airflow version은 2.5.0
from airflow.providers.cncf.kubernetes.operators.kubernetes_pod import KubernetesPodOperator
KubernetesPodOperator(
task_id='hello-task',
image='원하는 iamge',
arguments=["python", "run_code.py"],
dag=dag,
namespace='airflow',
is_delete_operator_pod=True, # 종료시 컨테이너 삭제
get_logs=True, # 로그 가져오기
)
원하는 이미지에서 실행할때 python run_code를 실행하도록 하였다.
로컬에서 테스트라 로그가 안찍힌다.
추후 로컬에서도 로그 찍히도록 하는 방법 추가
실제 동작하는지 확인하기 위해 컨테이너 접근하여 확인하나 로그
정상 동작하는걸 확인할수있다.
728x90
'오픈소스 > airflow' 카테고리의 다른 글
airflow with spark (1) | 2024.12.22 |
---|---|
airflow parallelism (0) | 2023.10.16 |
DockerOperator (0) | 2023.09.19 |
Airflow DAG간 종속성 (0) | 2022.05.15 |
Airflow DAG 분리하기 (0) | 2022.02.05 |