2017-09-22 106 views
0

我想知道是否有方法來計算火花數據框每列中不同項目的數量?也就是說,給定數據集:SparkR。如何計算Spark DataFrame中所有列的不同值?

set.seed(123) 
df<- data.frame(ColA=rep(c("dog", "cat", "fish", "shark"), 4), ColB=rnorm(16), ColC=rep(seq(1:8),2)) 
df 

我這樣做R中獲得的計數:

sapply(df, function(x){length(unique(x))}) 

> ColA ColB ColC 
    4 16 8 

我怎麼會去這樣做同樣的事情。這一點數據幀?

sdf<- SparkR::createDataFrame(df) 

任何幫助,非常感謝。先謝謝你。 -nate

回答

1

這個工作對我來說在SparkR

exprs = lapply(names(sdf), function(x) alias(countDistinct(sdf[[x]]), x)) 
# here use do.call to splice the aggregation expressions to agg function 
head(do.call(agg, c(x = sdf, exprs))) 

# ColA ColB ColC 
#1 4 16 8 
+1

謝謝。我會在2分鐘內接受。 – nate

相關問題