You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Databricks无服务器集群记录模型时偶现Mlflow多云URL错误求助

问题原因

这个错误是非AWS环境(Azure/GCP)的Databricks无服务器集群特有的兼容性问题:当训练的scikit-learn模型文件大小超过MLFlow默认的分段上传阈值时,MLFlow会尝试用S3风格的分段上传API上传模型到DBFS,但Azure/GCP的DBFS不支持该API,因此触发报错。小文件会走普通上传流程,不会触发这个问题,所以才会出现“偶尔成功”的情况。

解决方案
  • 调整MLFlow上传阈值,避免分段上传
    在训练代码开头添加环境变量配置,把上传分块大小设为足够大的值(比如200MB),确保模型文件以单块方式上传:

    import os
    # 设置上传分块大小为200MB(单位:字节)
    os.environ["MLFLOW_ARTIFACT_UPLOAD_CHUNK_SIZE"] = "209715200"
    
  • 使用Databricks专属的模型日志API
    替换mlflow.sklearn.log_model为Databricks优化后的mlflow.databricks.log_model,该API更适配无服务器集群环境:

    mlflow.databricks.log_model(
        sk_model=model,
        artifact_path="model",
        registered_model_name=model_name,
        signature=infer_signature(X_train, y_train),
        input_example=X_train.head(),
    )
    
  • 显式指定实验的artifact存储路径
    在代码开头指定实验的artifact存储为DBFS路径,避免MLFlow自动生成多云URL:

    mlflow.set_experiment("/your-experiment-path")
    # 或直接设置artifact根路径
    mlflow.set_tracking_uri("databricks")
    os.environ["MLFLOW_ARTIFACT_ROOT"] = "dbfs:/databricks/mlflow-tracking/your-experiment-id/artifacts"
    

内容的提问来源于stack exchange,提问作者Jaroslav Bezděk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 03:43:24