SparkR-avg(df $ column)不返回值,只返回文本"列avg"

时间:2016-01-22 06:31:10

标签: r apache-spark sparkr

这是我的代码

Sys.setenv('SPARKR_SUBMIT_ARGS' = 
    '"--packages" "com.databricks:spark-csv_2.10:1.3.0" "sparkr-shell"')

library(SparkR)

sc=sparkR.init(master="local",
    sparkHome = "/Users/devesh/Downloads/spark-1.4.1-bin-hadoop2.6",
    sparkPackages = c("com.databricks:spark-csv_2.10:1.3.0"))

sqlContext <- sparkRSQL.init(sc)

df <- createDataFrame(sqlContext, iris)
avg(df$Sepal_Length)

并给我输出:

Column avg(Sepal_Length)

但不是一个数字。我正在使用Mac OS

1 个答案:

答案 0 :(得分:3)

这是一种预期的行为。与Sparkr avg`中的其他运算符一样被延迟评估。要获得该值,您需要触发操作。此外,它只是在列表达式,没有适当的上下文,不会单独工作:

library(magrittr)

select(df, avg(df$Sepal_Length)) %>% collect()