[Airflow] ์‰˜ ์Šคํฌ๋ฆฝํŠธ, ๋ช…๋ น์–ด ์‹คํ–‰ํ•˜๊ธฐ | BashOperator ์‚ฌ์šฉ

2023. 11. 19. 09:11ยท๐Ÿ’ป Programming/Apache Airflow
๋ฐ˜์‘ํ˜•

BashOperator๋Š” Apache Airflow์—์„œ ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋‚˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€ ํ”„๋กœ๊ทธ๋žจ, ์Šคํฌ๋ฆฝํŠธ ๋˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์Œ์€ BashOperator๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋กœ, ๊ฐ„๋‹จํ•œ Bash ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ถœ๋ ฅ์„ ๋กœ๊น…ํ•œ๋‹ค.

from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta

# DAG ์ •์˜
dag = DAG(
    'bash_operator_example',
    description='Example DAG with BashOperator',
    schedule_interval=timedelta(days=1),
    start_date=datetime(2023, 1, 1),
    catchup=False,
)

# Bash ์Šคํฌ๋ฆฝํŠธ ์ •์˜
bash_script = """
echo "Hello, Airflow!"
echo "Current date: $(date)"
"""

# BashOperator ์ •์˜
bash_task = BashOperator(
    task_id='bash_task',
    bash_command=bash_script,
    dag=dag,
)

# DAG ๊ฐ„์˜ ์˜์กด์„ฑ ์„ค์ •
# ๋‹ค๋ฅธ ์ž‘์—…๋“ค๊ณผ์˜ ์˜์กด์„ฑ์ด ์žˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์— ์ถ”๊ฐ€

# DAG ์‹คํ–‰
if __name__ == "__main__":
    dag.cli()
  • ์ด ์˜ˆ์ œ์—์„œ BashOperator๋ฅผ ์ƒ์„ฑํ•  ๋•Œ task_id๋กœ ์ž‘์—…์˜ ๊ณ ์œ ํ•œ ์‹๋ณ„์ž๋ฅผ ์„ค์ •ํ•˜๊ณ , bash_command ๋งค๊ฐœ๋ณ€์ˆ˜์—๋Š” ์‹คํ–‰ํ•  Bash ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ „๋‹ฌ.
  • ์Šคํฌ๋ฆฝํŠธ์˜ ์ถœ๋ ฅ์€ ์ž๋™์œผ๋กœ Airflow ๋กœ๊ทธ์— ๊ธฐ๋ก๋จ
  • DAG ๋‚ด์—์„œ ์ž‘์—… ๊ฐ„์˜ ์˜์กด์„ฑ์„ ์„ค์ •ํ•˜๋ ค๋ฉด ํ•„์š”ํ•œ ์ž‘์—…์˜ task_id๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜์กด์„ฑ ์—ฐ์‚ฐ์ž๋ฅผ ์ •์˜
  • ์ด๋Š” set_upstream, set_downstream, ๋˜๋Š” >>, << ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
# ๋‹ค๋ฅธ ์ž‘์—… ์ •์˜
other_task = ...

# BashOperator์™€ ๋‹ค๋ฅธ ์ž‘์—… ๊ฐ„์˜ ์˜์กด์„ฑ ์„ค์ •
other_task >> bash_task  # ๋‹ค๋ฅธ ์ž‘์—…์ด Bash ์ž‘์—…๋ณด๋‹ค ๋จผ์ € ์‹คํ–‰๋˜๋„๋ก ์„ค์ •
๋ฐ˜์‘ํ˜•

'๐Ÿ’ป Programming > Apache Airflow' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Airflow] DB ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์‹œํ•˜๊ณ , ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ๊นŒ์ง€ ์ž‘์—…์„ ์ผ์‹œ ์ค‘์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ | SqlSensor  (1) 2023.11.20
[Airflow] ์—์–ดํ”Œ๋กœ์šฐ ์„ค์น˜ ๋ฐ ์›น ์ธํ„ฐํŽ˜์ด์Šค ์‹คํ–‰ํ•˜๊ธฐ  (1) 2023.11.20
[Airflow] Python ํ•จ์ˆ˜ ์‹คํ–‰ํ•˜๊ธฐ | PythonOperator ์‚ฌ์šฉ  (0) 2023.11.19
[Airflow] ์ผ์ •ํ•œ ๊ฐ„๊ฒฉ์œผ๋กœ DAG ์‹คํ–‰ํ•˜๊ธฐ (์Šค์ผ€์ค„๋ง) | schedule_interval | cron ๊ธฐ๋ฐ˜ ์Šค์ผ€์ค„  (0) 2023.11.19
[Airflow] Airflow & DAG ์„ค๋ช…  (0) 2023.11.19
'๐Ÿ’ป Programming/Apache Airflow' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Airflow] ์—์–ดํ”Œ๋กœ์šฐ ์„ค์น˜ ๋ฐ ์›น ์ธํ„ฐํŽ˜์ด์Šค ์‹คํ–‰ํ•˜๊ธฐ
  • [Airflow] Python ํ•จ์ˆ˜ ์‹คํ–‰ํ•˜๊ธฐ | PythonOperator ์‚ฌ์šฉ
  • [Airflow] ์ผ์ •ํ•œ ๊ฐ„๊ฒฉ์œผ๋กœ DAG ์‹คํ–‰ํ•˜๊ธฐ (์Šค์ผ€์ค„๋ง) | schedule_interval | cron ๊ธฐ๋ฐ˜ ์Šค์ผ€์ค„
  • [Airflow] Airflow & DAG ์„ค๋ช…
๋ญ…์ฆค
๋ญ…์ฆค
AI ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ
    ๋ฐ˜์‘ํ˜•
  • ๋ญ…์ฆค
    CV DOODLE
    ๋ญ…์ฆค
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • ๊ณต์ง€์‚ฌํ•ญ

    • โœจ About Me
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (199)
      • ๐Ÿ“– Fundamentals (33)
        • Computer Vision (9)
        • 3D vision & Graphics (6)
        • AI & ML (15)
        • NLP (2)
        • etc. (1)
      • ๐Ÿ› Research (64)
        • Deep Learning (7)
        • Image Classification (2)
        • Detection & Segmentation (17)
        • OCR (7)
        • Multi-modal (4)
        • Generative AI (6)
        • 3D Vision (2)
        • Material & Texture Recognit.. (8)
        • NLP & LLM (11)
        • etc. (0)
      • ๐ŸŒŸ AI & ML Tech (7)
        • AI & ML ์ธ์‚ฌ์ดํŠธ (7)
      • ๐Ÿ’ป Programming (86)
        • Python (18)
        • Computer Vision (12)
        • LLM (4)
        • AI & ML (18)
        • Database (3)
        • Apache Airflow (6)
        • Docker & Kubernetes (14)
        • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ (4)
        • C++ (1)
        • etc. (6)
      • ๐Ÿ’ฌ ETC (3)
        • ์ฑ… ๋ฆฌ๋ทฐ (3)
  • ๋งํฌ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    deep learning
    pytorch
    object detection
    VLP
    ๊ฐ์ฒด ๊ฒ€์ถœ
    CNN
    ํŒŒ์ด์ฌ
    ๊ฐ์ฒด๊ฒ€์ถœ
    airflow
    Text recognition
    OpenCV
    ํ”„๋กฌํ”„ํŠธ์—”์ง€๋‹ˆ์–ด๋ง
    GPT
    multi-modal
    material recognition
    pandas
    Python
    Computer Vision
    OCR
    ๋„์ปค
    AI
    nlp
    ChatGPT
    3D Vision
    LLM
    segmentation
    ๋”ฅ๋Ÿฌ๋‹
    ์ปดํ“จํ„ฐ๋น„์ „
    Image Classification
    OpenAI
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
๋ญ…์ฆค
[Airflow] ์‰˜ ์Šคํฌ๋ฆฝํŠธ, ๋ช…๋ น์–ด ์‹คํ–‰ํ•˜๊ธฐ | BashOperator ์‚ฌ์šฉ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”