使用SparkR,我想知道是否可以将Spark DataFrame转换为H2O帧?
我已经看到了将R sparklyr
转换为h2o帧的示例,但遗憾的是,这不是一个可行的选项(数据大小)。
我知道可以使用rsparkling
和sparklyr
来创建h2o框架,但我没有使用HIVE或Hadoop,rsparkling
或sdf
。< / p>
相反,我的目标是转换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
进入这个:
firebase_screen_class
希望有人找到了一种方法,可以使用SparkR提供的方法。我认为这对R用户来说是一个巨大的好处。
答案 0 :(得分:1)
不支持在 h2o 或 SparkR 包中本地转换H2O和Spark框架。您必须使用 rsparkling (取决于 sparklyr )或从Spark DataFrame进行转换 - &gt; R data.frame - &gt; H2O框架。
您提到Hadoop和HIVE ......只是为了澄清,这些都不是使用rsparkling::as_h2o_frame()
的要求。
答案 1 :(得分:0)
由于上述方法都不适合我,因此解决方案是:
将spark数据帧保存在csv(csv文件夹)上
使用Apply函数使用软件包Rio Import打开每个csv文件
tmp <-lapply(list.files(“ data / csvfolder.csv”),function(x){rio :: import(paste0(“ data / csvfolder.csv /”,x))}) df00 <-do.call(“ rbind”,tmp)
使用“ df00”作为数据框以按需使用,
希望对你们有用!收集和as.data.frame太弱,取决于所使用的数据类型。
欢呼声