最小udf与sparklyr

时间:2019-08-07 14:22:57

标签: r apache-spark apache-spark-sql sparkr sparklyr

我正在尝试使用sparklyr获得分布式数据帧的最小值(更大的零值)。

在“常规” R代码中,这类似于:

min(df[df>0])

使用SparkR,我可以通过以下方式创建udf:

df <- as.DataFrame(faithful)
schema <- structType(
          structField("eruptions", "double"), 
          structField("waiting", "double"),
          structField("waiting_secs", "double"))

df1 <- dapply(df, function(x) {x <- cbind(x, min(x[x>0]) )}, schema)

但是我一直坚持在sparklyr中实现类似的东西。对于单列,我可以做:

df %>% filter('eruptions' > 0) %>% summarise(min = min('eruptions', na.rm = TRUE))

但是如何将其应用于具有大量列的tbl_spark?

任何帮助表示赞赏!

0 个答案:

没有答案