始める無料で始める

ロギングの練習 2

起動時に次のコードが実行されます。

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

レッスンでは、アクションをトリガーするSparkの操作は、計算資源がひそかに消費されるのを防ぐために注意してロギングする必要があると学びました。ここでは、データフレームやテーブルに対してアクションをトリガーするロギング文を見分ける練習をします。

データフレーム text_df が用意されています。このデータフレームは table1 という名前でテーブル登録されています。

この演習はコースの一部です

Pythonで学ぶ Spark SQL 入門

コースを見る

演習の手順

  • いくつかのログ文が用意されています。すべて最初はコメントアウトされています。text_df に対してアクションをトリガーしない5つの文だけ、コメントを外してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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())
コードを編集して実行