LoslegenKostenlos loslegen

Logging üben 2

Der folgende Code wird beim Start ausgeführt:

import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
                    format='%(levelname)s - %(message)s')

In der Lektion haben wir gelernt, dass Spark-Operationen, die eine Action auslösen, mit Bedacht geloggt werden müssen, um einen schleichenden Verlust von Rechenressourcen zu vermeiden. Jetzt übst du, Log-Meldungen zu erkennen, die eine Action auf einem DataFrame oder einer Tabelle auslösen.

Ein DataFrame text_df ist verfügbar. Dieses DataFrame ist als Tabelle namens table1 registriert.

Diese Übung ist Teil des Kurses

Einführung in Spark SQL mit Python

Kurs anzeigen

Anleitung zur Übung

  • Es sind mehrere Log-Meldungen vorgegeben, alle sind zunächst auskommentiert. Entferne die Kommentare bei den fünf Zeilen, die keine Action auf text_df auslösen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen