将 SparkR DataFrame 转换为 H2O Frame
Convert SparkR DataFrame to H2O Frame
使用 SparkR,我想知道是否可以将 Spark DataFrame 转换为 H2O 帧?
我看过将 R data.frames
转换为 h2o 帧的示例,但遗憾的是,这不是一个可行的选项(数据大小)。
我知道可以使用 sparklyr
和 rsparkling
创建一个 h2o 框架,但我没有使用 HIVE 或 Hadoop,sparklyr
或 rsparkling
.
相反,我的目标是将 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 用户来说是一个巨大的福音。
在 h2o 或 SparkR 包中,本机不支持在 H2O 和 Spark 帧之间进行转换。您必须使用 rsparkling(取决于 sparklyr)或从 Spark DataFrame -> R data.frame -> H2O 进行转换框架.
您提到 Hadoop 和 HIVE...只是为了澄清,这些都不是使用 rsparkling::as_h2o_frame()
的要求。
由于上述 none 对我有用,解决方案是:
在 csv(文件夹 csv)上保存 spark 数据帧
使用应用函数打开每个使用包 Rio Import
的 csv 文件
tmp<- lapply(list.files("data/csvfolder.csv"), 函数(x){rio::import(paste0("data/csvfolder.csv/", x))})
df00<- do.call("rbind", tmp)
使用"df00"作为数据框随心所欲地使用,
希望对你们有用!收集和 as.data.frame 太弱,具体取决于所使用的数据类型。
雪儿
使用 SparkR,我想知道是否可以将 Spark DataFrame 转换为 H2O 帧?
我看过将 R data.frames
转换为 h2o 帧的示例,但遗憾的是,这不是一个可行的选项(数据大小)。
我知道可以使用 sparklyr
和 rsparkling
创建一个 h2o 框架,但我没有使用 HIVE 或 Hadoop,sparklyr
或 rsparkling
.
相反,我的目标是将 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 用户来说是一个巨大的福音。
在 h2o 或 SparkR 包中,本机不支持在 H2O 和 Spark 帧之间进行转换。您必须使用 rsparkling(取决于 sparklyr)或从 Spark DataFrame -> R data.frame -> H2O 进行转换框架.
您提到 Hadoop 和 HIVE...只是为了澄清,这些都不是使用 rsparkling::as_h2o_frame()
的要求。
由于上述 none 对我有用,解决方案是:
在 csv(文件夹 csv)上保存 spark 数据帧
使用应用函数打开每个使用包 Rio Import
的 csv 文件tmp<- lapply(list.files("data/csvfolder.csv"), 函数(x){rio::import(paste0("data/csvfolder.csv/", x))}) df00<- do.call("rbind", tmp)
使用"df00"作为数据框随心所欲地使用,
希望对你们有用!收集和 as.data.frame 太弱,具体取决于所使用的数据类型。
雪儿