2
我目前挣扎以下:如何计算ApacheSpark中的数据帧API中的z分数?
z得分被定义为:
Z =(许)/ SD
(其中x是单个值,的U的平均窗口和SD窗口的标准偏差)
我可以在窗口上计算出u和sd,但不知道如何将每个单独的x值“结转”到结果数据帧中以计算z得分对于每一个价值,这是我到目前为止有多远:
val df = spark.readStream
.format("org.apache.bahir.sql.streaming.mqtt.MQTTStreamSourceProvider")
.option("topic", "topic/path")
.load("tcp://localhost:1883")
val counter = df.groupBy(
window($"timestamp", "2 seconds"),
$"value")
.agg($"value",avg($"value")+stddev($"value"))
val query = counter.writeStream
.outputMode("complete")
.format("console")
.start()
我的希望是.agg($“value”,avg($“value”)+ stddev($“value”))中的$“value”会将每个值从源数据帧传递到结果,但情况并非如此
任何想法?
任何想法为什么这个问题得到了投票?我仍然陷在同样的问题中...... –