2017-07-16 591 views
-1

例如,我想加上la和lon列,並將結果輸出到另一列。如何在Spark Dataframe中的列之間進行一些計算?

+------+------------------+------------------+ 
|userid|    la |    lon| 
+------+------------------+------------------+ 
| u3|    2.0|    2.0| 
| u4|    1.0|    1.0| 
| u5|    2.0|    2.0| 
| u1|1.6666666666666667|2.6666666666666665| 
| u6|    1.0|    3.5| 
| u2|    3.0|    4.0| 
+------+------------------+------------------+ 
+0

你能給你想,你嘗試過什麼迄今爲止計算的一個具體的例子嗎? –

回答

1

如果你只是需要總結兩列在一起,這是非常簡單的:

df.withColumn("x", $"la" + $"lon") 

x是新列的名稱。

要提升到列2的冪:

df.withColumn("x", pow($"la" + $"lon", 2)) 
+0

當我做df.withColumn(「x」,pow($「la」+ $「lon」))時,爲什麼會出錯?錯誤:(407,30)無法找到參數impl的隱式值:breeze.numerics.pow.Impl [org.apache.spark.sql.Column,VR] result.withColumn(「x」,pow($「la1 「 - $」la2「))。show() ^ –

+0

你在靠什麼力量提升? – eliasah

+0

我只想輸出($「la」+ $「lon」)^ 2,怎麼做? –

相關問題