`h2o.parseRaw` 和 `h2o.import_sql_table` 之间的数据帧差异

Data frame difference between `h2o.parseRaw` and `h2o.import_sql_table`

我尝试将数据从数据库加载到 h2o 以进行 R 建模分析。

我可以使用 h2o 函数 h2o.import_sql_table() 成功获取数据帧,就像 here. But this data frame can't be applied with h2o functions like: h2o.hist(), as.data.frame() and many more others which are used in this 中的指令一样。这让我无法按照演示步骤分析从 h2o.import_sql_table() 生成的数据帧。

我想知道 h2o.import_sql_table()h2o.parseRaw() 创建的数据帧之间有什么区别。理想情况下,是否有任何方法可以将 h2o.import_sql_table() 创建的数据帧转换为更传统的 h2o 数据帧?任何代码示例将不胜感激。

当您使用 h2o.importFile 和 h2o.import_sql_table 摄取数据时,两个对象都是 H2OFrame,如下面的代码片段所示:

> payment = h2o.import_sql_table(connection_url = "jdbc:postgresql://localhost:5432/dvdrentaldb?&useSSL=false", table= "payment", username = "avkash", password = "avkash")

|====================================================| 100%

> class(payment)
  [1] "H2OFrame"

> a1 = h2o.importFile("/Users/avkashchauhan/src/github.com/h2oai/h2o-3/smalldata/junit/cars.csv")
  |=======================================| 100%
> class(a1)
  [1] "H2OFrame"

如果您想在 h2o.import_sql_table 的帧上显示直方图,您可以执行以下操作:

> h2o.hist(payment$staff_id)

所以它们都是H2OFrame,并且H2OFrame上的所有功能都像其他任何H2OFrame一样应用。

请使用 h2o.importFile 而不是 h2o.parseSetup/h2o.parseRaw,后者旨在对现有 H2OFrame 而不是数据源(即磁盘上的文件位置、HDFS 或 Web)执行两步解析位置。

如果您将使用 h2o.importFile 和 h2o.import_sql_table,您将获得 H2OFrame,这两者之间的所有功能都是相同的。