Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何在spark Dataframe中的列之间进行一些计算?_Apache Spark - Fatal编程技术网

Apache spark 如何在spark Dataframe中的列之间进行一些计算?

Apache spark 如何在spark Dataframe中的列之间进行一些计算?,apache-spark,Apache Spark,例如,我想加上la和lon列,并在另一列中输出结果 +------+------------------+------------------+ |userid| la | lon| +------+------------------+------------------+ | u3| 2.0| 2.0| | u4| 1.0|

例如,我想加上la和lon列,并在另一列中输出结果

+------+------------------+------------------+
|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|
+------+------------------+------------------+

如果您只需要将两列相加,这非常简单:

df.withColumn("x", $"la" + $"lon")
x是新列的名称

要将柱提升到2的幂次方:

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

你能给出一个具体的例子来说明你想要的计算方法和你到目前为止尝试过的方法吗?为什么我在使用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()^你是靠什么力量提升的?我只想输出($“la”+$“lon”)^2,怎么做?我已经更新了我的答案。如果还有其他问题,请尝试一次性写出整个问题,并添加您尝试过的内容!如何在Java中实现这一点?我想做
1+log()*log(/100)