การบันทึกล็อกใน data pipeline
ในแบบฝึกหัดนี้ เราจะกลับมาดูฟังก์ชันที่เขียนไว้ในวิดีโอก่อนหน้า แล้วฝึกเพิ่มการบันทึกล็อกเข้าไปในฟังก์ชัน ซึ่งจะช่วยให้แก้ไขข้อผิดพลาดและปรับเปลี่ยนลอจิกได้ง่ายขึ้น
ได้ import pandas ไว้เป็น pd แล้ว นอกจากนี้ยังได้ import โมดูล logging และตั้งค่า log-level เริ่มต้นเป็น "debug" ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ETL และ ELT ด้วย Python
คำแนะนำการฝึกหัด
- สร้างล็อกระดับ info หลังจากการแปลงข้อมูล โดยส่งสตริง:
"Transformed 'Order Date' column to type 'datetime'." - บันทึก
.shapeของ DataFrame ในระดับ 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)