2016-01-22 50 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