将 SparkR DataFrame 转换为 H2O Frame

Convert SparkR DataFrame to H2O Frame

使用 SparkR,我想知道是否可以将 Spark DataFrame 转换为 H2O 帧?

我看过将 R data.frames 转换为 h2o 帧的示例,但遗憾的是,这不是一个可行的选项(数据大小)。

我知道可以使用 sparklyrrsparkling 创建一个 h2o 框架,但我没有使用 HIVE 或 Hadoop,sparklyrrsparkling .

相反,我的目标是将 sdf 转换为:

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

进入这个:

as.h2o(sdf, destination_frame = "hsdf") # fails, came from Spark (SparkR)
as.h2o(df, destination_frame = "hdf") # succeeds, but this is a regular R data.frame

希望有人已经找到一种使用 SparkR 可以提供的方法来做到这一点。我认为这对 R 用户来说是一个巨大的福音。

h2oSparkR 包中,本机不支持在 H2O 和 Spark 帧之间进行转换。您必须使用 rsparkling(取决于 sparklyr)或从 Spark DataFrame -> R data.frame -> H2O 进行转换框架.

您提到 Hadoop 和 HIVE...只是为了澄清,这些都不是使用 rsparkling::as_h2o_frame() 的要求。

由于上述 none 对我有用,解决方案是:

  1. 在 csv(文件夹 csv)上保存 spark 数据帧

  2. 使用应用函数打开每个使用包 Rio Import

    的 csv 文件

    tmp<- lapply(list.files("data/csvfolder.csv"), 函数(x){rio::import(paste0("data/csvfolder.csv/", x))}) df00<- do.call("rbind", tmp)

  3. 使用"df00"作为数据框随心所欲地使用,

希望对你们有用!收集和 as.data.frame 太弱,具体取决于所使用的数据类型。

雪儿