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

将TFX-TFRS教程转为Airflow管道时遇文件匹配错误求助

问题:TFX-TFRS转Airflow管道时路径匹配错误

我正在将TFX-TFRS的推荐排序教程转换为Airflow管道。使用LocalDagRunner()运行管道时无任何错误,但通过Airflow Web-UI触发AirflowDagRunner()运行时,抛出如下错误:

RuntimeError: Split pattern data/* does not match any files.

数据文件夹内确实存在CSV数据集,两种运行方式均使用标准CsvExampleGen组件。读取数据集的路径代码如下:

PIPELINE_NAME = 'TFRS-ranking'

# Directory where MovieLens 100K rating data lives
DATA_ROOT = os.path.join('data', PIPELINE_NAME)

解决方案
  • 改用绝对路径:Airflow Worker的运行工作目录和本地调试时不同,相对路径会导致文件找不到。修改路径代码为绝对路径:
    import os
    # 获取当前脚本所在目录的绝对路径
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))
    DATA_ROOT = os.path.join(BASE_DIR, 'data', PIPELINE_NAME)
    
  • 检查文件权限:确保Airflow运行用户对data/TFRS-ranking文件夹及内部CSV文件拥有读取权限,避免因权限问题导致文件无法被识别。
  • 确认Worker工作目录:查看Airflow任务日志,定位Worker实际运行的工作目录,确保data/TFRS-ranking文件夹存在于该目录下,或调整路径指向正确位置。
  • 用Airflow变量管理路径:将数据路径配置为Airflow变量,在代码中读取该变量,适配不同环境的路径设置,避免硬编码路径的局限性。

内容的提问来源于stack exchange,提问作者Sebastian Sätzler

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:46:04