Metti in pratica il logging 2
Il seguente codice viene eseguito all'avvio:
import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
format='%(levelname)s - %(message)s')
Nella lezione abbiamo visto che le operazioni Spark che attivano un'azione devono essere registrate con attenzione per evitare una perdita silenziosa di risorse di calcolo. Ora farai pratica nell'identificare le istruzioni di logging che attivano un'azione su un dataframe o su una tabella.
È disponibile un dataframe text_df. Questo dataframe è registrato come tabella chiamata table1.
Questo esercizio fa parte del corso
Introduzione a Spark SQL in Python
Istruzioni dell'esercizio
- Sono fornite diverse istruzioni di log, tutte inizialmente commentate. Decommenta le cinque istruzioni che non attivano un'azione su
text_df.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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())