Aan de slagGa gratis aan de slag

De data opnieuw partitioneren

Er is een dataframe text_df met de kolommen id, word en chapter. De eerste 5 rijen van text_df zijn in de console afgedrukt.

Je kunt vaststellen dat er 12 hoofdstukken zijn met het volgende:

text_df.select('chapter')\
       .distinct()\
       .sort('chapter')\
       .show(truncate=False)

Het resultaat van deze opdracht is als Table 1 in de console afgedrukt.

Het dataframe text_df staat nu in één enkele partitie. Stel dat je weet dat de komende verwerkingsstappen de data gaan groeperen op hoofdstuk. De verwerking is het efficiëntst als elk hoofdstuk op één machine blijft. Om onnodig schuiven van data tussen machines te voorkomen, gaan we het dataframe herpartitioneren naar één partitie per hoofdstuk, met behulp van de opdrachten repartition en getNumPartitions die in de eerste videoles van dit hoofdstuk zijn behandeld.

Aarzel niet om de dia's rechts van de console te raadplegen als je even niet meer weet hoe iets in de video werd gedaan.

Deze oefening maakt deel uit van de cursus

Introductie tot Spark SQL in Python

Cursus bekijken

Oefeninstructies

  • Herpartitioneer text_df naar 12 partities, waarbij elk hoofdstuk in zijn eigen partitie zit.
  • Toon het aantal partities in het nieuwe dataframe.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Repartition text_df into 12 partitions on 'chapter' column
repart_df = text_df.____(____, ____)

# Prove that repart_df has 12 partitions
repart_df.____.____
Code bewerken en uitvoeren