J'ai un dataframe Il est donc prudent d'aller avec une telle approche (en particulier, avec BigData) ou de répéter simplement les mêmes transformations de séquence deux fois pour les deux dataframes df1 code>. Je prévois de la diviser en deux dataframes -
df2 code> et
df3 code>. Le flux de code existant a presque la même séquence de transformations. Je tiens donc à définir tous ces groupes de transformations dans une fonction qui accepte un fichier de données et que ces transformations et renvoie le Dataframe transformé. P>
DF2 code> et
df3 code> ( Cela augmenterait le code)? P>
3 Réponses :
Si je comprends bien, cela convient à définir une méthode qui regrouper plusieurs méthodes, vous voudrez peut-être être intéressée par la méthode https://www.scala-lang.org/api /Current/scala/function1.html p> andthen code> pour effacer le code si vous devez appliquer beaucoup de méthodes < / p>
Vous pouvez utiliser la méthode Il existe dans API de Dataframe avec la signature suivante: P> .transform () code>.
val mytransformation:DataFrame => DataFrame = inputDF => {
// val ouputDF = inputDF.map(...).filter(...)
outputDF
}
Il n'y a pas de problème et cela n'affecterait pas votre performance de toute façon. Spark n'exécute pas votre code directement. Il génère un plan basé sur les transformations que vous définissez. Celles-ci seraient les mêmes si vous les faites dans une fonction ou dupliquer votre code p>
Postez le code que vous essayez de voir s'il y a quelque chose de weir ..
@ Émicareofcell44 non, rien de bizarre dans mon code, donc aucun code dans cette question. Je voulais juste demander un doute conceptuel que je n'étais pas au courant. C'est ça.