Créer un UDF pour des données vectorielles
Un dataframe df est disponible, avec une colonne output de type vector. Ses cinq premières lignes sont affichées dans la console.
Cet exercice fait partie du cours
Introduction à Spark SQL en Python
Instructions
- Créez un UDF appelé
first_udf. Il sélectionne le premier élément d’une colonne de type vecteur. Définissez le résultat à 0.0 par défaut pour tout élément qui n’est pas un vecteur contenant au moins un élément et convertissez la sortie en float. - Utilisez l’opération
selectsurdfpour appliquerfirst_udfà la colonneoutput.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Selects the first element of a vector column
first_udf = ____(lambda x:
____(x.indices[0])
if (x and hasattr(x, "toArray") and x.____())
else 0.0,
FloatType())
# Apply first_udf to the output column
df.select(____("output").alias("result")).show(5)