Mikail.Net

Yazılımcı günlüğü

Airflow

Airflow Apache, açık kaynaklı bir iş akışı yönetim platformudur. Karmaşık ve döngüsel veri işleme süreçlerini otomatikleştirmek ve izlemek için kullanılır. Airflow, Python dilinde yazılmış olup, kullanıcıların iş akışlarını tanımlamaları için Python ile yazılmış yönergeler (DAG – Directed Acyclic Graph) sunar. Airflow, ölçeklenebilir ve dağıtık bir sistemdir.

Airflow kullanmaya başlamak için, öncelikle Python kurulu bir ortamda Apache Airflow’i yüklemelisiniz:

pip install apache-airflow

Daha sonra, Airflow yapılandırma dosyasını ve veritabanını başlatmalısınız:

airflow initdb

Bir kullanım senaryosu olarak, belirli bir süre aralığında (ör. her saat) çalışacak bir iş akışı (DAG) tanımlayalım:

  1. Öncelikle, dags klasöründe bir Python dosyası oluşturun (ör. my_dag.py).
  2. DAG tanımlayarak başlayın:
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.python_operator import PythonOperator

def my_task():
    print("Merhaba, Airflow!")

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

dag = DAG(
    'my_dag',
    default_args=default_args,
    description='Benim ilk Airflow DAG\'im',
    schedule_interval=timedelta(hours=1),
    start_date=datetime(2023, 3, 22),
    catchup=False
)

task1 = PythonOperator(
    task_id='my_task',
    python_callable=my_task,
    dag=dag,
)

Bu örnek, her saat başında my_task adlı Python fonksiyonunu çalıştıracaktır.

  1. Airflow web sunucusunu ve işlemcilerini başlatın:
airflow webserver -p 8080
airflow scheduler
  1. Bir tarayıcıda, Airflow web arayüzüne giderek (localhost:8080), DAG’ınızın durumunu ve çalışma sürecini izleyebilirsiniz.

Bu basit örnek, Airflow’un nasıl kullanılacağına dair bir başlangıçtır. Daha karmaşık iş akışlarını yönetmek ve başka işlemler eklemek için Airflow belgelerini inceleyebilirsiniz.