2016-07-19 8 views
2

Dies ist eine totale Noob-Frage, sorry dafür. In Spark kann ich wählen wie:Spark SQL - Wählen Sie alle UND berechneten Spalten?

df.select("*"); //to select everything 
df.select(df.col("colname")[, df.col("colname")]); //to select one or more columns 
df.select(df.col("colname"), df.col("colname").plus(1)) //to select a column and a calculated column 

Aber. Wie kann ich alle Spalten PLUS eine berechnete auswählen? Offensichtlich funktioniert select("*", df.col("colname").plus(1)) nicht (Kompilierungsfehler). Wie kann dies unter JAVA gemacht werden? Vielen Dank!

Antwort

4

Just do:

df.select(df.col("*"), df.col("colName").plus(1)); 
+0

import co pyspark in Verwendung: 'von pyspark.sql.functions importieren col' – hamed

0

Sie withColumn() Methode verwenden können, wird dies eine neue Spalte in den Datenrahmen erstellen.

df.select("*") 
    .withColumn("ColName", col("colName").plus(1)) 
+0

Ich persönlich bevorzuge diese. Fügt alle meine berechneten Spalten zusammen. – absmiths