2016-01-22 47 views
1

这是我的代码

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

回答

3

这是一种预期的行为。与Sparkr中的其他运营商相同,对平均值进行了懒惰评估。要获得您触发某个操作的值。此外,它只是在列表达式,并不会没有适当的背景下单独工作:

library(magrittr) 

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

我试着用你的suggestion-我得到以下输出错误:所有选择()输入必须解决整数列位置。 以下不要: * avg(df $ Sepal_Length) – Devesh

+0

您的工作区中显然有些混乱:)这是'dplyr'错误,而不是SparkR。 – zero323

+0

谢谢你现在的作品! – Devesh