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

how to load an RDBMS driver for h2o in a Jupyter notebook?

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

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() 调用时加载驱动程序?或者最佳实践?

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"])