【问题标题】:How to call Spark Functions in Sparklyr with invoke如何在 Sparklyr 中使用 invoke 调用 Spark 函数
【发布时间】:2017-09-23 02:04:33
【问题描述】:

我正在尝试使用 RStudio 的 Sparklyr 中的调用来对 HDFS 中的文本文件进行简单的字数统计,但尚未弄清楚语法。我可以通过使用(类似于 SparklyR 扩展文档中的计数示例 - http://spark.rstudio.com/extensions.html)将整个文件作为列表返回:

getFileCollect <- function(sc, path) {
    spark_context(sc) %>% 
      invoke("textFile", path, 1L) %>%
        invoke("collect")
}

fc <- getFileCollect(sc, "hdfs:///tmp/largeTomes/bigEx.txt")

我想做的是在该文本文件上创建一个平面图来执行经典的 scala 代码:

.flatMap(line => line.split(" "))
            .map(word => (word, 1))
            .reduceByKey(_ + _)

但甚至还没有弄清楚调用的语法。 flatMap 是 textFile 的一个方法。肯定有人以前这样做过,我只是想不对。

谢谢!

【问题讨论】:

    标签: r scala apache-spark flatmap sparklyr


    【解决方案1】:

    也许你想通了(已经几个月了),但是对于将 collect 与 dplyr 一起使用,你只需要这样说:

    myFileCollected <- myFileDF %>% collect
    

    然后我会尝试使用 dplyr 函数,即 mutate(这是 sparklyr 的优势之一)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-14
      • 2019-11-15
      • 2023-03-23
      • 2017-02-17
      • 2021-01-08
      • 2020-12-22
      • 2019-01-22
      • 2023-02-09
      相关资源
      最近更新 更多