НачатьНачать бесплатно

Практика логирования 2

При запуске выполняется следующий код:

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

В уроке мы узнали, что операции Spark, запускающие действие, требуют особого внимания при логировании — иначе можно незаметно потерять вычислительные ресурсы. Сейчас вы потренируетесь определять, какие операторы логирования запускают действие над датафреймом или таблицей.

Доступен датафрейм text_df. Этот датафрейм зарегистрирован как таблица table1.

Это упражнение является частью курса

Введение в Spark SQL на Python

Посмотреть курс

Инструкции к упражнению

  • Ниже приведены несколько операторов логирования. Все они изначально закомментированы. Раскомментируйте пять операторов, которые не запускают действие над text_df.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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())
Редактировать и запускать код