2017-08-03 77 views
0

我正在嘗試使用兩個操作數進行算術運算:constant literalColumn。除withColumn之外是否有其他方法?引發SQL執行簡單的算術運算

+0

什麼是與withColumn問題?你也可以在select語句中做到這一點 –

+0

如何用select語句做到這一點。 – sandeep

回答

1

df是一個數據幀:

+---+ 
| i| 
+---+ 
| 1| 
| 2| 
| 3| 
+---+ 

那麼你可以使用選擇添加的結果:

import org.apache spark.sql.functions.lit 

df 
.select($"i",($"i" + lit(1)).as("j")) 
.show 

+---+---+ 
| i| j| 
+---+---+ 
| 1| 2| 
| 2| 3| 
| 3| 4| 
+---+---+ 
+0

謝謝拉斐爾。作爲一個後續問題,我能夠做到這一點:'TABLE_2_0.select(($「exchr」/ 1).as(「j」))。show'。 但是當我做'TABLE_2_0.select((1/$「exchr」)。as(「j」))。show', 我得到:':51:錯誤:重載的方法值/ (X:雙人間) (X:浮動)浮法 (X:龍)龍 (X:智力)詮釋 (X:夏亞)詮釋 (X:短)詮釋 ( x:Byte)Int不能應用於(org.apache.spark.sql.ColumnName)' – sandeep

+1

@sandeep你需要做'TABLE_2_0.select((lit(1)/ $「exchr」)。as(「j 「))'在這種情況下('org.apache.spark.sql.functions.lit') –

+0

哦!感謝您的快速幫助。 – sandeep