Apache sp中两个简单rdd的共面性

2024-06-08 05:22:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用ApacheSpark,创建了两个简单的rdd,计算它们的平均值,现在我想计算两个rdd值的协方差。但是当我输入如正文所示的指令时,它会产生一个语法错误。我试着调试,但没能成功。我将如何解决这个问题

rddX = sc.parallelize(range(100))
rddY = sc.parallelize(range(100))

meanX = rddX.sum()/rddX.count()
meanY = rddY.sum()/rddY.count()

rddXY = rddX.zip(rddY)

rddXY.take(10)

covXY = rddXY.map(lambda (x,y): (x-meanX)*(y-meanY)).sum()/rddXY.count()

Tags: count指令range平均值sumscrdd协方差
1条回答
网友
1楼 · 发布于 2024-06-08 05:22:40

您可以使用cov函数,如下所示

from pyspark.sql.functions import rand
df = sqlContext.range(0, 10).withColumn('rand1', rand(seed=10)).withColumn('rand2', rand(seed=27))

df.stat.cov('rand1', 'rand2')
0.009908130446217347

更多细节可以在这里找到-https://databricks.com/blog/2015/06/02/statistical-and-mathematical-functions-with-dataframes-in-spark.html

相关问题 更多 >

    热门问题