如何使用 sparklyr 在 Spark 集群中存储数据?

Ric*_*ton 5 r sparklyr

如果我连接到 Spark 集群,将一些数据复制到它,然后断开连接,...

library(dplyr)
library(sparklyr)
sc <- spark_connect("local")
copy_to(sc, iris)
src_tbls(sc)
## [1] "iris"
spark_disconnect(sc)
Run Code Online (Sandbox Code Playgroud)

那么下次我连接到 Spark 时,数据就不存在了。

sc <- spark_connect("local")
src_tbls(sc)
## character(0)
spark_disconnect(sc)
Run Code Online (Sandbox Code Playgroud)

这与使用数据库的情况不同,无论连接多少次,数据都在那里。

如何在连接之间保留 Spark 集群中的数据?

我想sdf_persist()可能是我想要的,但似乎不是。

And*_*ano 2

从技术上讲,Spark 是一个运行在计算机/集群上执行任务的引擎。它不是数据库或文件系统。完成后,您可以将数据保存到文件系统,并在下一个会话期间将其加载。

https://en.wikipedia.org/wiki/Apache_Spark

  • 是的,这似乎是正确的。但是是否有解决方法?是否有某种方法可以将 Spark 与数据库或文件系统更紧密地集成,以便每次启动 Spark 时,仅加载的数据始终可用?...,当然,您始终可以在下一个会话期间加载数据。但至少根据我的经验,将数据复制到 Spark 非常耗时。 (2认同)