我尝试将数据从数据库加载到h2o中,以便进行R建模分析。
我可以用h2o函数h2o.import_sql_table()成功地在这里上得到一个数据帧。但是,这种数据框架不能应用于h2o函数,如:h2o.hist()、as.data.frame()和其他更多用于这的函数。这使得我不可能按照演示步骤来分析从h2o.import_sql_table()生成的数据帧。
我想知道h2o.import_sql_table()和h2o.parseRaw()创建的数据帧之间有什么区别。理想情况下,是否有任何方法可以将h2o.import_sql_table()创建的数据帧转换为更传统的h2o数据帧?任何代码示例都将不胜感激。
发布于 2017-09-11 18:29:56
当您使用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步解析,而不是对数据源执行2步解析,即磁盘上的文件位置、HDFS或web位置。
如果您使用h2o.importFile和h2o.import_sql_table,您将得到H2OFrame --所有函数在这两者之间都是相同的。
https://stackoverflow.com/questions/46160751
复制相似问题