我对spark的世界还很陌生(在某种程度上甚至是Python,但更好)。我正在尝试计算标准偏差,并使用了以下代码。第一个使用SparkSQL的代码如下:
sqlsd=spark.sql("SELECT STDDEV(temperature) as stdtemp from
washing").first().stdtemp
print(sqlsd)
上面的方法很好(我认为),结果是6.070
现在,当我尝试使用RDD和下面的代码:-在
^{pr2}$当我运行上面的代码时,我得到了不同的结果。我得到的值是53.195
我做错了什么?。上面我要做的就是计算spark数据帧列温度的标准偏差,并使用lambda。在
提前感谢你的帮助。。在
感谢Zero323给了我线索。我跳过了空值。修改后的代码为以下内容:-在
有两种类型的标准偏差-请参考:https://math.stackexchange.com/questions/15098/sample-standard-deviation-vs-population-standard-deviation
类似的问题- Calculate the standard deviation of grouped data in a Spark DataFrame
配置单元中的
stddev()
是指向stddev_samp()
的指针。stddev_pop()
是您要查找的(从代码的第2部分推断)。所以您的sql查询应该是select stddev_pop(temperature) as stdtemp from washing
相关问题 更多 >
编程相关推荐