Procvičování logování 2
Při spuštění se provede následující kód:
import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
format='%(levelname)s - %(message)s')
V lekci jsme se naučili, že Spark operace, které spustí akci (action), je třeba logovat obezřetně, aby nedocházelo k nechtěné ztrátě výpočetních zdrojů. Teď si procvičíš rozpoznávání logovacích příkazů, které spouštějí akci na dataframu nebo tabulce.
K dispozici máš dataframe text_df. Tento dataframe je zaregistrovaný jako tabulka s názvem table1.
Toto cvičení je součástí kurzu
Úvod do Spark SQL v Pythonu
Pokyny k cvičení
- Níže je uvedeno několik logovacích příkazů – všechny jsou zpočátku zakomentované. Odkomentuj pět z nich, které na
text_dfnespouštějí akci.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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())