Je divise une demande HTTP à regarder les éléments et je me demandais s'il y avait un moyen de spécifier l'élément que j'aimerais examiner dans le même appel sans avoir à faire une autre opération.
Par exemple: p> me donne un nouveau dataframe code> avec des lignes de tableaux comme ceci: p>
Sélectionnez l'instruction code> pour spécifier
df.select (df.http [1]) code> ou autre. Est-ce possible? P> p>
3 Réponses :
Eh bien, vous pouvez définir un Vous pouvez également utiliser la méthode udf code>:
getItem code> recommandé par @max p>
L'utilisation d'un UDF Python entraînera une mauvaise performance. La solution avec GetItem serait préférée.
Utilisez GetItem . Je dirais que je n'utilise pas Python UDF Juste pour rendre le code plus jolie - il est beaucoup plus lent que les fonctions de Dataframe natif (en raison de la déplacement de données entre Python et JVM).
from pyspark.sql import functions as F df.select(F.split(df.http_request, '/').alias('http').getItem(1))
Une alternative utilisant SELECTEXPR: P>
df.selectexpr ("http [1] comme http_2nd_item") code> p>