Ćwiczenie z logowania 2
Przy uruchamianiu wykonywany jest następujący kod:
import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
format='%(levelname)s - %(message)s')
W lekcji poznałeś zasadę, że operacje Spark wyzwalające akcję trzeba logować ostrożnie, aby uniknąć niezauważonej utraty zasobów obliczeniowych. Przećwiczysz teraz rozpoznawanie instrukcji logowania, które wyzwalają akcję na ramce danych lub tabeli.
Dostępna jest ramka danych text_df. Ta ramka danych jest zarejestrowana jako tabela o nazwie table1.
To ćwiczenie jest częścią kursu
Wprowadzenie do Spark SQL w Pythonie
Instrukcje do ćwiczenia
- Przygotowano kilka instrukcji logowania. Wszystkie są początkowo zakomentowane. Odkomentuj pięć instrukcji, które nie wyzwalają akcji na
text_df.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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())