Använda användardefinierade funktioner i Spark
Du har sett en del av kraften bakom Sparks inbyggda strängfunktioner när det gäller att manipulera DataFrames. Men vid en viss punkt blir det svårt att bearbeta data utan att skapa en röra av nästlade funktionsanrop. Det är här användardefinierade funktioner (UDF:er) kommer till nytta för att manipulera dina DataFrames.
I den här övningen använder du din voter_df DataFrame, men du ska ersätta kolumnen first_name med för- och mellannamn.
Biblioteket pyspark.sql.functions är tillgängligt under aliaset F. Klasserna från pyspark.sql.types är redan importerade.
Den här övningen är en del av kursen
Datarensning med PySpark
Övningsinstruktioner
- Redigera funktionen
getFirstAndMiddle()så att den returnerar en mellanslagsseparerad sträng med namn, förutom det sista elementet i namnlistan. - Definiera funktionen som en användardefinierad funktion. Den ska returnera en strängtyp.
- Skapa en ny kolumn på
voter_dfmed namnetfirst_and_middle_namemed hjälp av din UDF. - Visa DataFrame:n.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
def getFirstAndMiddle(names):
# Return a space separated string of names
return ' '.join(____)
# Define the method as a UDF
udfFirstAndMiddle = F.____(____, ____)
# Create a new column using your UDF
voter_df = voter_df.withColumn('first_and_middle_name', ____(____))
# Show the DataFrame
____