Uso de funciones definidas por el usuario en Spark
Ya has visto parte de la potencia de las funciones de cadena integradas en Spark cuando se trata de manipular DataFrames. Sin embargo, cuando llegas a cierto punto, resulta difícil procesar los datos sin crear un nido de ratas de llamadas a funciones. Aquí hay un lugar donde puedes utilizar Funciones Definidas por el Usuario para manipular nuestros Marcos de Datos.
Para este ejercicio, utilizaremos nuestro DataFrame voter_df
, pero vas a sustituir la columna first_name
por los nombres y apellidos.
La biblioteca pyspark.sql.functions
está disponible con el alias F
. Las clases de pyspark.sql.types
ya están importadas.
Este ejercicio forma parte del curso
Limpiar datos con PySpark
Instrucciones de ejercicio
- Edita la función
getFirstAndMiddle()
para que devuelva una cadena de nombres separados por espacios, excepto la última entrada de la lista de nombres. - Define la función como una función definida por el usuario. Debe devolver un tipo de cadena.
- Crea una nueva columna en
voter_df
llamadafirst_and_middle_name
utilizando tu UDF. - Mostrar el Marco de Datos.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
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
____