Незмінність і «ледаче» виконання

Очищення даних у PySpark

Mike Metzger

Data Engineering Consultant

Огляд змінних

Змінні в Python:

  • Змінні
  • Гнучкість
  • Можливі проблеми з паралельністю
  • Часто ускладнюють код
Очищення даних у PySpark

Незмінність

Незмінні змінні:

  • Компонент функційного програмування
  • Визначаються один раз
  • Не можна змінити безпосередньо
  • Створюються наново під час перевизначення
  • Їх можна ефективно спільно використовувати
Очищення даних у PySpark

Приклад незмінності

Створіть новий датафрейм:

voter_df = spark.read.csv('voterdata.csv')

Внесення змін:

voter_df = voter_df.withColumn('fullyear', 
    voter_df.year + 2000)

voter_df = voter_df.drop(voter_df.year)
Очищення даних у PySpark

«Ледаче» виконання

  • Хіба це не повільно?
  • Перетворення
  • Дії
  • Дозволяє ефективне планування
voter_df = voter_df.withColumn('fullyear', 
    voter_df.year + 2000)
voter_df = voter_df.drop(voter_df.year)

voter_df.count()
Очищення даних у PySpark

Давайте потренуємось!

Очищення даних у PySpark

Preparing Video For Download...