Oefenen met loggen 2
De volgende code wordt bij het opstarten uitgevoerd:
import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
format='%(levelname)s - %(message)s')
In de les leerden we dat Spark-bewerkingen die een action starten, met zorg gelogd moeten worden om stille verspilling van rekenbronnen te voorkomen. Je gaat nu oefenen met het herkennen van logregels die een action op een dataframe of tabel starten.
Er is een dataframe text_df beschikbaar. Dit dataframe is geregistreerd als een tabel met de naam table1.
Deze oefening maakt deel uit van de cursus
Introductie tot Spark SQL in Python
Oefeninstructies
- Er zijn verschillende logstatements voorzien. Ze zijn allemaal aanvankelijk uitcommentarieerd. Haal bij de vijf statements die géén action op
text_dfstarten het commentaar weg.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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())