我尝试将数据库中的数据加载到h2o中进行R建模分析。
我可以使用h2o函数h2o.import_sql_table()
成功获取数据框,就像here处的指令一样。但是,此数据框不能应用h2o函数,例如:h2o.hist()
,as.data.frame()
以及this中使用的更多其他函数。这使我无法按照演示步骤分析从h2o.import_sql_table()
生成的数据帧。
我想知道h2o.import_sql_table()
和h2o.parseRaw()
创建的数据框之间存在哪些差异。理想情况下,是否有任何方法可以将h2o.import_sql_table()
创建的数据帧转换为更传统的h2o数据帧?任何代码示例都将非常感谢。
答案 0 :(得分:0)
使用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而不是数据源执行2步解析,即磁盘上的文件位置,或HDFS或Web位置。
如果您将使用h2o.importFile和h2o.import_sql_table,您将获得H2OFrame,这两个函数之间的所有函数都是相同的。