S'entraîner au logging 2
Le code suivant est exécuté au démarrage :
import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
format='%(levelname)s - %(message)s')
Dans la leçon, nous avons vu que les opérations Spark qui déclenchent une action doivent être consignées (loguées) avec précaution pour éviter une perte furtive de ressources de calcul. Vous allez maintenant vous entraîner à repérer les instructions de logging qui déclenchent une action sur un dataframe ou une table.
Un dataframe text_df est disponible. Ce dataframe est enregistré comme table sous le nom table1.
Cet exercice fait partie du cours
Introduction à Spark SQL en Python
Instructions
- Plusieurs instructions de log sont fournies. Elles sont toutes commentées au départ. Décommentez les cinq instructions qui ne déclenchent pas d'action sur
text_df.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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())