首页 > 解决方案 > 在 sparklyr 中使用 compute() 有什么意义?

问题描述

sparklyr我遵循的教程中,它说我可以compute()用来将前面dplyr语句的结果存储到一个新的 spark 数据框中。

“代码 1”中的代码创建了一个名为“NewSparkDataframe”的新火花数据框,并spark_tbl创建了一个我分配给“NewTbl”的数据框。我可以使用 . 查看 spark 数据框src_tbls()。这一切都在预料之中。

如果我改为运行“代码 2”而不使用compute()它,仍然会创建一个spark_tbl我再次分配给“NewTbl”的。这次虽然我无法使用src_tbls().

我想知道spark_tbl如果 spark 中显然没有“NewSparkDataframe”,“NewTbl”如何能够运行代码 2?

compute()如果我仍然可以访问spark_tbl使用“NewTbl”新创建的相同内容,那么使用的意义何在?

代码1:

NewTbl <- mySparkTbl %>%
        some dplyr statements %>%
        compute("NewSparkDataframe")
src_tbls(spark_conn)
"NewSparkDataframe"

代码2:

NewTbl <- mySparkTbl %>%
        some dplyr statements
src_tbls(spark_conn)

标签: rsparklyr

解决方案


推荐阅读