Loggning i en datapipeline
I den här övningen tittar vi tillbaka på funktionen du skrev i ett tidigare avsnitt och övar på att lägga till loggning. Det är ett bra verktyg när du behöver felsöka eller göra ändringar i logiken!
pandas har importerats som pd. Dessutom har modulen logging importerats och standardloggnivån har ställts in på "debug".
Den här övningen är en del av kursen
ETL och ELT i Python
Övningsinstruktioner
- Skapa en logg på info-nivå efter transformationen och skicka in strängen:
"Transformed 'Order Date' column to type 'datetime'." - Logga DataFramens
.shapepå debug-nivå både före och efter filtreringen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)