如何在Jupyter笔记本中为H2o加载RDBMS驱动程序?

时间:2019-02-21 17:23:35

标签: jupyter-notebook rdbms h2o

我想创建一个独立的Jupyter笔记本,该笔记本使用h2o导入和建模关系数据库中的数据。 The docs显示了一个示例,其中使用JDBC驱动程序在类路径中启动h2o,例如

java -cp <path_to_h2o_jar>:<path_to_jdbc_driver_jar> water.H2OApp

我宁愿从笔记本电脑开始h2o,因为笔记本电脑是可复制的独立工件,而不是在运行笔记本电脑之前采取特殊步骤来准备环境。如果我运行以下代码段:

import h2o
h2o.init()

connection_url = "jdbc:mysql://mysql.woolford.io/mydb"
select_query = "SELECT description, price FROM mytable"
username = "myuser"
password = "b@dp@ss"
mytable_data = h2o.import_sql_select(connection_url, select_query, username, password)

... import_sql_select方法失败,因为未加载驱动程序:

Server error java.lang.RuntimeException:
  Error: SQLException: No suitable driver found for jdbc:mysql://mysql.woolford.io/mydb

在进行h2o.init()调用时是否可以加载驱动程序?或对此的最佳做法?

1 个答案:

答案 0 :(得分:2)

h2o.init()采用名为extra_classpath的参数。您可以使用此参数提供JDBC驱动程序的路径,H2O将随该驱动程序启动。

此选项的设计目的完全是为了不必在笔记本计算机界面之外启动H2O。

示例:

import h2o
h2o.init(extra_classpath=["/Users/michal/Downloads/apache-hive-2.2.0-bin/jdbc/hive-jdbc-2.2.0-standalone.jar"])