【问题标题】:Convert SparkR DataFrame to H2O Frame将 SparkR DataFrame 转换为 H2O 帧
【发布时间】:2017-10-18 16:56:09
【问题描述】:

使用 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 用户来说是一个巨大的福音。

【问题讨论】:

    标签: r h2o sparkr


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      由于上述方法都不适合我,因此解决方案是:

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

      2. 使用apply函数通过Rio Import包打开每个csv文件

        tmp

      3. 使用“df00”作为数据框,随意使用,

      希望对你们有用!根据所使用的数据类型,Collect 和 as.data.frame 太弱了。

      雪儿

      【讨论】:

      • 唯一的问题是,除非您在大型实例类型上运行,否则这不适用于非常大的数据集......这似乎与我最初进行分布式计算的原因相反地方。如果我只是在一个庞大的单个实例上运行所有东西,我可能会只使用 R 中的 doSNOWparallel 库并完全放弃 Spark。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-29
      • 2017-06-07
      • 2019-01-01
      相关资源
      最近更新 更多