Niemutowalność i leniwe przetwarzanie

Czyszczenie danych w PySpark

Mike Metzger

Data Engineering Consultant

Przegląd zmiennych

Zmienne w Pythonie:

  • Mutowalne
  • Elastyczne
  • Mogą powodować problemy z współbieżnością
  • Zwiększają złożoność
Czyszczenie danych w PySpark

Niemutowalność

Zmienne niemutowalne:

  • Element programowania funkcyjnego
  • Definiowane raz
  • Nie mogą być bezpośrednio modyfikowane
  • Tworzone od nowa przy przypisaniu
  • Mogą być efektywnie współdzielone
Czyszczenie danych w PySpark

Przykład niemutowalności

Definiowanie nowej ramki danych:

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

Wprowadzanie zmian:

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

voter_df = voter_df.drop(voter_df.year)
Czyszczenie danych w PySpark

Leniwe przetwarzanie

  • Czy to nie jest wolne?
  • Transformacje
  • Akcje
  • Umożliwia efektywne planowanie
voter_df = voter_df.withColumn('fullyear', 
    voter_df.year + 2000)
voter_df = voter_df.drop(voter_df.year)

voter_df.count()
Czyszczenie danych w PySpark

Czas na ćwiczenia!

Czyszczenie danych w PySpark

Preparing Video For Download...