Günlük işleri zamanlamak

Data Engineering'e Giriş

Vincent Vankrunkelsven

Data Engineer, DataCamp

Şimdiye kadar neler yaptın

 

  • extract_course_data() ve extract_rating_data() ile çıkar
  • transform_fill_programming_language() ile NA temizle
  • Ders başına ortalama puan: transform_avg_rating()
  • Uygun kullanıcı-ders id çiftlerini al: transform_courses_to_recommend()
  • Önerileri hesapla: transform_recommendations()
Data Engineering'e Giriş

Postgres'e yükleme

 

  • Hesaplamaları veri ürünlerinde kullan
  • Günlük güncelle
  • Örnek kullanım: önerilerle e-posta gönderme
Data Engineering'e Giriş

Yükleme aşaması

 

recommendations.to_sql(
    "recommendations",
    db_engine,
    if_exists="append",
)
Data Engineering'e Giriş
def etl(db_engines):
    # Veriyi çıkar
    courses = extract_course_data(db_engines)
    rating = extract_rating_data(db_engines)
    # Courses verisini temizle
    courses = transform_fill_programming_language(courses)

# Ortalama ders puanlarını al avg_course_rating = transform_avg_rating(rating)
# Uygun kullanıcı ve ders id çiftlerini al courses_to_recommend = transform_courses_to_recommend( rating, courses, )
# Önerileri hesapla recommendations = transform_recommendations( avg_course_rating, courses_to_recommend, )
# Önerileri veritabanına yükle load_to_dwh(recommendations, db_engines)
Data Engineering'e Giriş

DAG oluşturma

from airflow.sdk import dag, task

@dag(dag_id="recommendations",
     start_date=datetime(2024, 1, 1),
     schedule="0 0 * * *")
def recommendations():

@task(task_id="recommendations_task") def recommendations_task(): etl(db_engines) recommendations_task() recommendations()
Data Engineering'e Giriş

Hadi pratik yapalım!

Data Engineering'e Giriş

Preparing Video For Download...