เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ฝึกการ logging 2

โค้ดต่อไปนี้ถูกรันตั้งแต่ตอนเริ่มต้น:

import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
                    format='%(levelname)s - %(message)s')

ในบทเรียนที่ผ่านมา เราได้เรียนรู้ว่า Spark operation ที่ trigger action นั้นต้องบันทึก log อย่างระมัดระวัง เพื่อไม่ให้สูญเสียทรัพยากรการคำนวณโดยไม่รู้ตัว แบบฝึกหัดนี้จะให้ระบุ log statement ที่ trigger action บน dataframe หรือตาราง

มี dataframe ชื่อ text_df พร้อมใช้งาน และ dataframe นี้ได้ถูกลงทะเบียนเป็นตารางชื่อ table1

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Introduction to Spark SQL in Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • มี log statement หลายรายการให้ไว้ โดยทั้งหมดถูก comment ออกไวก่อน ให้ uncomment เฉพาะ 5 statement ที่ไม่ trigger action บน text_df

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Uncomment the 5 statements that do NOT trigger text_df
# logging.debug("text_df columns: %s", text_df.columns)
# logging.info("table1 is cached: %s", spark.catalog.isCached(tableName="table1"))
# logging.warning("The first row of text_df: %s", text_df.first())
# logging.error("Selected columns: %s", text_df.select("id", "word"))
# logging.info("Tables: %s", spark.sql("show tables").collect())
# logging.debug("First row: %s", spark.sql("SELECT * FROM table1 limit 1"))
# logging.debug("Count: %s", spark.sql("SELECT COUNT(*) AS count FROM table1").collect())
แก้ไขและรันโค้ด