Thực hành logging 2
Đoạn mã sau được chạy khi khởi động:
import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
format='%(levelname)s - %(message)s')
Trong bài học, bạn đã biết rằng các thao tác Spark kích hoạt action phải được ghi log cẩn thận để tránh âm thầm làm thất thoát tài nguyên tính toán. Giờ bạn sẽ luyện tập nhận diện các câu lệnh log kích hoạt action trên một dataframe hoặc bảng.
Một dataframe text_df có sẵn. Dataframe này được đăng ký dưới dạng một bảng tên là table1.
Bài tập này là một phần của khóa học
Nhập môn Spark SQL bằng Python
Hướng dẫn bài tập
- Có một số câu lệnh log được cung cấp và tất cả đều đang được comment. Hãy bỏ comment năm câu lệnh KHÔNG kích hoạt action trên
text_df.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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())