CommencezCommencez gratuitement

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

Voir le cours

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())
Modifier et exécuter le code