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

Code Workbooks使用hadoop_path访问文件报File not found问题咨询

问题根因

该报错和Repository、Code Workbooks的功能限制无关,是代码存在两处逻辑错误:

  • fs.ls()返回的文件对象的path属性本身就是可直接访问的完整合法路径,额外拼接fs.hadoop_path会生成错误的重复路径,直接导致路径不存在。
  • Python原生的open()方法仅支持读取本地磁盘文件,无法识别HDFS的分布式路径协议,哪怕路径拼接正确,用原生open()也读不到HDFS上存储的文件。
修正代码
import pandas as pd

def contents(dataset_with_files):
    fs = dataset_with_files.filesystem()
    filenames = [f.path for f in fs.ls()]
    # 直接用文件系统实例自带的open方法读取文件,不要手动拼接路径
    with fs.open(filenames[0], 'r') as f:
        t = f.read()
    return pd.DataFrame({"text": [t]})
注意事项
  • 不要手动拼接hadoop_path前缀,fs.ls()返回的路径已经是文件系统可识别的标准路径,手动拼接必然出错。
  • 所有托管文件系统(包括HDFS)的读写操作,必须使用文件系统实例提供的open()方法,不能直接调用Python内置的open()函数。
  • 调试阶段可以先打印filenames[0]确认目标文件路径符合预期,再执行读取操作。

内容的提问来源于stack exchange,提问作者aturc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 20:43:10