无法在 python 内的 mlflow 中使用指向 set_tracking_uri 的 HDFS 路径

Can't use HDFS path to set_tracking_uri in mlflow within python

我是 mlflow 的新手,所以我可能误解了事情在基本层面上应该如何运作。

然而,当我尝试执行以下操作时:

TRACKING_URI = os.path.join(
    "hdfs://namenode/user/userid/",
    "mlflow",
    "anomaly_detection",
)
        
mlflow.set_tracking_uri(TRACKING_URI)
client = mlflow.tracking.MlflowClient(TRACKING_URI)

我收到以下错误:

UnsupportedModelRegistryStoreURIException:  Model registry functionality is unavailable; got unsupported URI 'hdfs://nameservice1/user/rxb427/mlflow/anomaly_detection' for model registry data storage. Supported URI schemes are: ['', 'file', 'databricks', 'http', 'https', 'postgresql', 'mysql', 'sqlite', 'mssql']. See https://www.mlflow.org/docs/latest/tracking.html#storage for how to run an MLflow server against one of the supported backend storage locations.

在上面的 link 错误中,它指出支持 hdfs。错误还是我遗漏了什么?

好的。因此看起来虽然 ARTIFACTS STORE 确实支持 hdfs,但您必须使用文件或 sql 类似于 BACKEND STORE。

是的,我们支持两种存储方式 artifacts and MLflow entities

您可以选择将默认根工件存储用作 hdfs,将后端存储用作 SQLAlchemy 兼容数据库。将这些参数作为

的一部分提供

`mlflow 服务器 --default-root-artifact-store URI --backend-store URI --host 0.0.0.0

在您的 MLfow 客户端代码集中: mlflow.set_tracking_uri(host_uri)