Hadoop环境读取HDFS上CSV文件报No such file or directory错误
Hadoop读取tmp目录CSV报No such file or directory解决方案
触发报错信息:
No such file or directory.
核心报错原因
Hadoop文件操作命令默认访问HDFS分布式文件系统路径,而你存放CSV的/tmp是本地操作系统目录,路径指向不匹配导致找不到文件,部分Hadoop版本在权限不足时也会抛出同类误导性报错。
对应解决方法
- 方案1:将本地文件上传至HDFS后读取
执行上传命令把本地/tmp下的CSV同步到HDFS对应路径,再执行原读取命令即可:# 替换为实际的CSV文件名 hdfs dfs -put /tmp/[你的CSV文件名].csv /tmp/ - 方案2:直接读取本地文件时显式指定本地协议
读取命令前加file://前缀,明确告知Hadoop读取本地磁盘文件,示例:hdfs dfs -cat file:///tmp/[你的CSV文件名].csv - 前置校验项
- 执行ls命令确认文件名、路径大小写完全匹配(Linux环境路径大小写敏感):
- 查本地/tmp下CSV列表:
ls /tmp/ | grep csv - 查HDFS /tmp下CSV列表:
hdfs dfs -ls /tmp/ | grep csv
- 查本地/tmp下CSV列表:
- 确认当前执行命令的账号持有目标文件的读权限,无权限时先执行
chmod加读权限再重试。
- 执行ls命令确认文件名、路径大小写完全匹配(Linux环境路径大小写敏感):
本次操作执行的相关命令截图:
内容的提问来源于stack exchange,提问作者Monica
相关产品推荐
相关产品推荐

