2017-05-08 98 views
1

我尝试使用H 2 O至表加载成R,但有以下错误如何使用R中的H2o从SQL Server中加载表?

my_data <- h2o.import_sql_table(my_sql_conn, table, username, password) 

ERROR:意外的HTTP状态代码:500服务器错误(URL = http://localhost:54321/99/ImportSQLTable

了java.lang.RuntimeException [1] “java.lang.RuntimeException:SQLException:找不到适用于jdbc的驱动程序:mysql://10.140.20.29/MySQL?& useSSL = false \ n使用connection_url:jdbc:mysql://10.140连接并从SQL数据库读取失败。 20.29/MySQL?& useSSL = false“

C有人帮助我呢?非常感谢!

+0

你能使用java命令您下载的JDBC驱动程序来启动在终端h2o.jar在类路径:水。 H2OApp? – Lauren

+0

什么是water.H2OApp?上面的命令只是抛出我这个错误'无法加载或找到water.h2o类' – derp92

回答

2

您需要受支持的JDBC(基于JDBC 42内核的构建)驱动程序才能从H2O连接到SQL Server。您可以从下面的链接首先下载微软的JDBC驱动程序4.2的SQL Server:

https://www.microsoft.com/en-us/download/details.aspx?id=54671

之后,请按照文章下面从R/Python的H2O客户端第一测试JDBC驱动程序,然后连接到数据库:

https://aichamp.wordpress.com/2017/03/20/building-h2o-glm-model-using-postgresql-database-and-jdbc-driver/

上面的文章是专门用于Postgres但是你可以使用SQL服务器中使用适当的驱动程序使用它。

1

对于Windows,请记住使用;而不是:作为-cp的参数。

java -Xmx4g -cp sqljdbc42.jar;h2o.jar water.H2OApp -port 3333 

water.H2OApph2o.jar主类。

重要说明:到目前为止(2012年8月)不支持SQL Server。 您可以使用MariaDB的加载数据集:

从Windows控制台:

的Java -Xmx4G -cp MariaDB的-Java的客户端2.1.0.jar; h2o.jar water.H2OApp -port 3333

注意。对于Linux,请替换“;”用 “:”

从R:

sqlConn <- "jdbc:mariadb://10.106.7.46:3306/DBName" 
userName <- "dbuser" 
userPass <- "dbpass." 
sql_Query <- "SELECT * FROM dbname.tablename;" 
mydata <- h2o.import_sql_select(sqlConn, sql_Query, userName, userPass)