Partitionera om data
En DataFrame text_df finns tillgänglig med kolumnerna id, word och chapter. De första 5 raderna i text_df skrivs ut i konsolen.
Du kan ta reda på att det finns 12 kapitel med hjälp av följande:
text_df.select('chapter')\
.distinct()\
.sort('chapter')\
.show(truncate=False)
Resultatet av det här kommandot skrivs ut i konsolen som Table 1.
DataFrame:en text_df befinner sig för närvarande i en enda partition. Antag att du vet att kommande bearbetningssteg kommer att gruppera data efter kapitel. Bearbetningen blir mest effektiv om varje kapitel stannar inom en och samma maskin. För att undvika onödig omflyttning av data mellan maskiner ska du partitionera om DataFrame:en till en partition per kapitel, med hjälp av kommandona repartition och getNumPartitions som introducerades i den första videolektionen i det här kapitlet.
Tveka inte att använda Slides till höger om konsolen om du behöver påminna dig om hur det gjordes i videon.
Den här övningen är en del av kursen
Introduktion till Spark SQL i Python
Övningsinstruktioner
- Partitionera om
text_dftill 12 partitioner, med ett kapitel i varje partition. - Visa antalet partitioner i den nya DataFrame:en.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Repartition text_df into 12 partitions on 'chapter' column
repart_df = text_df.____(____, ____)
# Prove that repart_df has 12 partitions
repart_df.____.____