web-dev-qa-db-fra.com

Comment utiliser à la fois dataset.select et selectExpr dans Apache spark

Je veux les données mentionnées ci-dessous en utilisant Spark (2.2) ensemble de données

Name    Age Age+5

A       10  15

B       5   10

C       25  30

J'ai essayé d'utiliser les éléments suivants:

dataset.select( 
        dataset.col("Name"), 
        dataset.col("Age),
        dataset.col( dataset.selectExpr("Age"+5).toString() )
       );

Cela lève une exception car la colonne Age est introuvable.

6
Sarvesh Belose

selectExpr a la définition:

public Dataset<Row> selectExpr(String... exprs)

Il prend varargs String comme paramètre. Ainsi, vous pouvez simplement utiliser:

dataset.selectExpr( "Name", "Age", "Age+5" )
8
philantrovert