Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Er zijn verschillende logstatements voorzien. Ze zijn allemaal aanvankelijk uitcommentarieerd. Haal bij de vijf statements die géén action op text_df starten 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())
Code bewerken en uitvoeren