로깅 연습 2
다음 코드는 시작 시점에 실행됩니다:
import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
format='%(levelname)s - %(message)s')
레슨에서 우리는 action을 유발하는 Spark 연산은 계산 자원이 은밀하게 소모되는 것을 피하기 위해 주의해서 로깅해야 한다고 배웠습니다. 이제 데이터프레임이나 테이블에서 action을 트리거하는 로깅 구문을 식별해 보겠습니다.
데이터프레임 text_df가 제공되며, 이 데이터프레임은 table1이라는 이름의 테이블로 등록되어 있습니다.
이 연습은 강의의 일부입니다
Python에서 Spark SQL 입문
연습 안내
- 여러 개의 로그 구문이 주어져 있으며, 모두 처음에는 주석 처리되어 있습니다.
text_df에서 action을 유발하지 않는 다섯 개의 구문만 주석을 해제하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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())