MLFlow Pipeline读取CSV文件报错及多文件读取问题咨询
解决MLFlow Pipeline读取自定义CSV数据集的问题及相关疑问
一、修复CSV读取格式报错
报错提示期望parquet格式,核心原因是未在profile配置文件中显式指定数据格式,仅修改pipeline.yaml的默认值无法生效,需按以下步骤操作:
- 在
profiles/local.yaml中添加格式配置:
INGEST_DATA_LOCATION: "./data/precio_leche.csv" INGEST_DATA_FORMAT: "csv" # 新增该行,明确指定数据格式为CSV
- 确认
pipeline.yaml中的数据集配置保持变量引用:
dataset: training_data: path: {{INGEST_DATA_LOCATION}} format: {{INGEST_DATA_FORMAT|default('parquet')}}
完成后,Pipeline会以csv格式调用load_file_as_dataframe函数读取目标文件。
二、实现多CSV文件读取
MLFlow Pipelines支持自动遍历指定目录下的同格式文件并合并结果,只需:
- 将所有目标CSV文件放入
./data目录 - 修改
local.yaml中的路径为目录路径:
INGEST_DATA_LOCATION: "./data" INGEST_DATA_FORMAT: "csv"
此时load_file_as_dataframe会逐个处理目录下的每个CSV文件,Pipeline自动合并生成的DataFrame。
三、定位Pandas Profiling生成代码
默认模板的Pandas Profiling报告生成逻辑在**steps/ingest.py的ingest函数**中,可找到类似如下代码块:
from mlflow_pandas_profiling import log_pandas_profiling from pandas_profiling import ProfileReport # 读取数据后生成并记录报告 profile = ProfileReport(training_data_df, title="Training Data Profiling Report") log_pandas_profiling(profile)
若未直接找到,可检查utils目录下的辅助文件(如utils/profiling.py),部分模板会将profiling逻辑封装为工具函数。
内容的提问来源于stack exchange,提问作者Luis Ramon Ramirez Rodriguez
相关产品推荐
相关产品推荐

