Aantal per afbeelding
Je volgende taak bij het bouwen van een datapijplijn voor deze gegevensset is om een paar analysegerichte kolommen te maken. Je bent gevraagd het aantal honden in elke afbeelding te berekenen op basis van je eerder gemaakte kolom dog_list. Je hebt ook DogType gemaakt, wat het parsen van de gegevens in sommige kolommen zal verbeteren.
joined_df is beschikbaar zoals je het laatst hebt gedefinieerd, en de DogType StructType is gedefinieerd. pyspark.sql.functions is beschikbaar onder de alias F.
Deze oefening maakt deel uit van de cursus
Data opschonen met PySpark
Oefeninstructies
- Maak een Python-functie om elke invoer in
dog_listop te splitsen in de juiste onderdelen. Zorg dat je strings omzet naar de juiste types, anders wordtDogTypeniet correct geparsed. - Maak een UDF met de bovenstaande functie.
- Gebruik de UDF om een nieuwe kolom
dogste maken. - Toon het aantal honden in de nieuwe kolom voor de eerste 10 rijen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Create a function to return the number and type of dogs as a tuple
def dogParse(doglist):
dogs = []
for dog in doglist:
(breed, start_x, start_y, end_x, end_y) = dog.____('____')
dogs.append((____, int(____), ____, ____, ____))
return dogs
# Create a UDF
udfDogParse = ____(____, ArrayType(____))
# Use the UDF to list of dogs
joined_df = joined_df.____('____', ____('____'))
# Show the number of dogs in the first 10 rows
joined_df.____(____('____')).____(____)