Usando funções definidas pelo usuário no Spark
Você já viu um pouco do poder por trás das funções de string incorporadas do Spark quando se trata de manipular DataFrames. Entretanto, quando você chega a um determinado ponto, torna-se difícil processar os dados sem criar um ninho de ratos de chamadas de função. Aqui está um lugar onde você pode usar Funções definidas pelo usuário para manipular nossos DataFrames.
Para este exercício, usaremos nosso DataFrame voter_df
, mas você substituirá a coluna first_name
pelos nomes do primeiro e do meio.
A biblioteca pyspark.sql.functions
está disponível sob o pseudônimo F
. As classes de pyspark.sql.types
já foram importadas.
Este exercício faz parte do curso
Limpeza de dados com o PySpark
Instruções do exercício
- Edite a função
getFirstAndMiddle()
para que ela retorne uma cadeia de nomes separada por espaço, exceto a última entrada na lista de nomes. - Defina a função como uma função definida pelo usuário. Ele deve retornar um tipo de string.
- Crie uma nova coluna em
voter_df
chamadafirst_and_middle_name
usando a coluna UDF. - Mostrar o quadro de dados.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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
____