Günlük kaydı pratiği 2
Aşağıdaki kod başlangıçta çalıştırılır:
import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG,
format='%(levelname)s - %(message)s')
Derste, bir eylemi tetikleyen Spark işlemlerinin, hesaplama kaynaklarının gizlice boşa gitmesini önlemek için dikkatle günlüğe kaydedilmesi gerektiğini öğrendik. Şimdi bir dataframe veya tablo üzerinde bir eylemi tetikleyen günlükleme ifadelerini tespit etme alıştırması yapacaksın.
Bir dataframe olan text_df mevcut. Bu dataframe table1 adlı bir tablo olarak kaydedildi.
Bu egzersiz
Python ile Spark SQL'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
- Birkaç günlük (log) ifadesi verilmiştir. Hepsi başlangıçta yorum satırı olarak bırakılmıştır.
text_dfüzerinde bir eylemi tetiklemeyen beş ifadeyi yorumdan çıkar.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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())