如何解决Statistics.corr 在 IntelliJ IDEA 中给出以下错误:无法解析重载的方法“corr”
我正在尝试关注这个项目 https://github.com/caroljmcdonald/spark-stock-sql/blob/master/src/main/scala/example/Stock.scala
在我的 IDE 中,它给了我错误:无法解析重载的方法 'corr' 在代码计算从 parquet 文件读取的 2 列之间的相关性的部分
val df = sqlContext.read.parquet("joinstock.parquet")
df.show
df.printSchema
df.explain()
// COMMAND ----------
//var agg_df = df.groupBy("location").agg(min("id"),count("id"),avg("date_diff"))
df.select(year($"dt").alias("yr"),month($"dt").alias("mo"),$"apcclose",$"xomclose",$"spyclose").groupBy("yr","mo").agg(avg("apcclose"),avg("xomclose"),avg("spyclose")).orderBy(desc("yr"),desc("mo")).show
// COMMAND ----------
df.select(year($"dt").alias("yr"),desc("mo")).explain
这些行给了我 IntelliJ IDE 中的错误无法解析重载的方法 'corr'
// COMMAND ----------
var seriesX = df.select($"xomclose").map { row: Row => row.getAs[Double]("xomclose") } //.rdd
var seriesY = df.select($"spyclose").map { row: Row => row.getAs[Double]("spyclose") } //.rdd
var correlation = Statistics.corr(seriesX,seriesY,"pearson")
// COMMAND ----------
seriesX = df.select($"apcclose").map { row: Row => row.getAs[Double]("apcclose") } //.rdd
seriesY = df.select($"xomclose").map { row: Row => row.getAs[Double]("xomclose") } //.rdd
correlation = Statistics.corr(seriesX,"pearson")
}
}
解决方法
你可以试试dataframe的关联方法:
var correlation = df.stat.corr("xomclose","spyclose","pearson")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。