在特定架构中指定数据库后端存储创建

时间:2019-08-28 13:06:36

标签: python sqlalchemy mlflow

在创建mlflow跟踪服务器并指定将SQL Server数据库用作后端存储时,mlflow会在dbo模式中创建一堆表。有人知道是否可以指定用于创建这些表的其他模式吗?

3 个答案:

答案 0 :(得分:1)

您可以使用 postgres uri 选项:

Postgres URI 选项示例:

"postgresql://postgres:postgres@localhost:5432/postgres?options=-csearch_path%3Ddbo,mlflow_schema"

在您的 Mlflow 代码中:

mlflow.set_tracking_uri("postgresql://postgres:postgres@localhost:5432/postgres?options=-csearch_path%3Ddbo,mlflow_schema")

!不要忘记创建“mlflow_schema”模式。

how-to-specify-schema-in-psycopg2-connection-method

答案 1 :(得分:0)

可以更改mlflow/mlflow/store/sqlalchemy_store.py来更改所存储表的模式。

这很可能对您来说是错误的解决方案,因为除非您自己维护分叉,否则您将与开源软件失去同步并失去改变它的新功能。您可以用用例回答吗?

答案 2 :(得分:0)

我正在使用MSSQLServer作为后端存储。通过为MLFlow使用的SQLServer用户指定默认架构,我可以使用与dbo不同的架构。

在我的情况下,如果dbo中存在MLFlow表(例如,经验),则将使用这些表。如果没有,则MLFlow将在默认架构中创建这些表。