Mettre en pratique la journalisation 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 journalisées avec soin pour éviter une perte discrète de ressources de calcul. Vous allez maintenant vous exercer à repérer les instructions de journalisation qui déclenchent une action sur une dataframe ou une table.
Une dataframe text_df est disponible. Cette dataframe est enregistrée comme une table appelée table1.
Cette activité fait partie du cours
Introduction à Spark SQL en Python
Instructions de l’exercice
- Plusieurs instructions de journalisation 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 ce code d’exemple.
# 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())