Логирование в конвейере данных
В этом упражнении мы вернёмся к функции, которую вы написали в одном из предыдущих видео, и потренируемся добавлять в неё логирование. Это очень пригодится при отладке ошибок и внесении изменений в логику!
pandas импортирован как pd. Помимо этого, импортирован модуль logging, а уровень логирования по умолчанию установлен в "debug".
Это упражнение является частью курса
ETL и ELT на Python
Инструкции к упражнению
- Создайте лог уровня info после выполнения преобразования, передав строку:
"Transformed 'Order Date' column to type 'datetime'." - Запишите в лог значение
.shapeDataFrame на уровне debug — до и после фильтрации.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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)