Spark dataframe: collect () vs select ()
Appel collect()
sur un EDR sera de retour l'ensemble du jeu de données pour le conducteur qui peut causer de la mémoire et nous devons éviter que des.
Sera collect()
se comportent de la même façon si elle est appelée sur un dataframe?
Quel est le select()
méthode?
Ne travaillent de la même manière que collect()
si elle est appelée sur un dataframe?
OriginalL'auteur Mrinal | 2017-05-25
Vous devez vous connecter pour publier un commentaire.
Actions vs Transformations
spark-sql doc
Exécution
select(column-name1,column-name2,etc)
méthode sur un dataframe, renvoie une nouvelle dataframe qui contient uniquement les colonnes qui ont été sélectionnés dans leselect()
fonction.par exemple, en supposant que
df
a plusieurs colonnes, y compris "nom" et "valeur" et quelques autres.df2
tiendra seulement deux colonnes ("nom" et "valeur") de l'ensemble des colonnes dedf
df2 comme le résultat de
select
sera dans les exécuteurs testamentaires et pas dans le pilote (comme dans le cas de l'utilisation decollect()
)sql-programmation-guide
Vous pouvez courir
collect()
sur un dataframe (spark docs)spark docs
OriginalL'auteur Yaron
appel
select
sera le résultat estlazy
d'évaluation: par exemple:les deux déclarations ci-dessus caisse paresseux chemin qui sera exécutée lorsque vous appelez action sur la
df
, commeshow
,collect
etc.utilisation
.explain
à la fin de votre transformation à suivre son planvoici plus d'informations détaillées Les Transformations et les Actions
OriginalL'auteur Karol Sudol
Select
est utilisé pour la projection de certains ou de tous les champs d'unedataframe
. Il ne vous donnera pas unvalue
de sortie, mais une nouvelledataframe
. Ses untransformation
.OriginalL'auteur Rajat Mishra
Select
est une transformation, pas une action, c'est donc paresseusement évalué (ne sera pas réellement faire les calculs associez les opérations).Collect
est une action.Essayer:
df.limit(20).collect()
OriginalL'auteur Jason