Disons que j'ai un df créé comme suit quel est l'avantage de la convertir en une colonne à l'aide de post.s.select ("id") code > sur
post.s.Sélectionnez ($ "ID") code> p> p>
3 Réponses :
Il n'y a pas d'avantage particulier, c'est une conversion automatique de toute façon. Mais toutes les méthodes de SparkSQL n'effectuent pas cette conversion, donc parfois, vous devez parfois mettre l'objet de colonne avec le $. P>
Y a-t-il un avantage de les convertir en type de colonne? Ou dans quels scénarios devrions-nous convertir?
Comme je l'ai dit, lorsque l'API accepte à la fois l'objet de la colonne et le nom de la colonne, tel que SELECT (), il n'y a aucun avantage. Lorsque l'API n'accepte pas le nom de la colonne, vous devez utiliser l'objet de la colonne pour éviter une erreur de compilation.
Vous pouvez également trouver des exemples et des utilisations supplémentaires sur Scaladoc of Colonne. p>
ref - https://spark.apache.org/docs/2.2.0/api/scala/index.html#org.apache.spark.sql.column P> df.select code> fonctionne directement sur la colonne lorsque
$ "col" code> crée une instance de colonne. Vous pouvez également créer des instances de colonnes à l'aide de la fonction
col code>. Maintenant, les colonnes peuvent être composées pour former des expressions complexes qui peuvent ensuite être transmises à l'une des fonctions DF. p>
Il n'y a pas beaucoup de différence, mais certaines fonctionnalités peuvent être utilisées uniquement en utilisant Exemple: lorsque nous voulons trier la valeur dans cette colonne, sans utiliser Mais si vous utilisez $ code> avec le nom de la colonne. p>
$ code> avant le nom de la colonne, il ne fonctionnera pas. P>
window.orderby ("id" .desc) code> p>
$ code> avant le nom de la colonne, cela fonctionne. p>
fenêtre.orderby ($ "id" .desc) code> p>