Logging într-un pipeline de date
În acest exercițiu, revenim la funcția pe care ai scris-o într-un videoclip anterior și exersăm adăugarea de logging. Acest lucru te va ajuta atunci când depanezi erori sau modifici logica funcției!
pandas a fost importat ca pd. Pe lângă aceasta, modulul logging a fost importat, iar nivelul implicit de log a fost setat la "debug".
Acest exercițiu face parte din cursul
ETL și ELT în Python
Instrucțiuni pentru exercițiu
- Creează un log de nivel info după transformare, transmițând șirul:
"Transformed 'Order Date' column to type 'datetime'." - Înregistrează
.shape-ul DataFrame-ului la nivel debug înainte și după filtrare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
def transform(raw_data):
raw_data["Order Date"] = pd.to_datetime(raw_data["Order Date"], format="%m/%d/%y %H:%M")
clean_data = raw_data.loc[raw_data["Price Each"] < 10, :]
# Create an info log regarding transformation
logging.____("Transformed 'Order Date' column to type 'datetime'.")
# Create debug-level logs for the DataFrame before and after filtering
____(f"Shape of the DataFrame before filtering: {raw_data.shape}")
____(f"Shape of the DataFrame after filtering: {clean_data.shape}")
return clean_data
clean_sales_data = transform(raw_sales_data)