如何在 R 中使用 H2o 从 SQL 服务器加载 table?

How to load table from SQL server using H2o in R?

我尝试使用 h2o 将 table 加载到 R 中,但出现以下错误

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

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

java.lang.RuntimeException[1]"java.lang.RuntimeException: SQLException: No suitable driver found for jdbc:mysql://10.140.20.29/MySQL?&useSSL=false\nFailed to connect and read from SQL database with connection_url: jdbc:mysql://10.140.20.29/MySQL?&useSSL=false"

有人可以帮我解决这个问题吗?非常感谢!

您需要支持的 JDBC(基于 JDBC 42 核心)驱动程序才能从 H2O 连接到 SQL 服务器。您可以先从下面的link下载Microsoft JDBC Driver 4.2 for 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 服务器一起使用。

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

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

water.H2OApph2o.jar中的主要class。

重要说明:SQL 目前不支持服务器(August/2017)。 您可以使用 MariaDB 加载数据集:

来自 Windows 控制台:

java -Xmx4G -cp mariadb-java-client-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 )