hdfs写入本地文件的问题

程序:String inputPath = args[0];
String outputPath = args[1];
Path inFile = new Path("file://" + inputPath); 
Path outFile = new Path("hdfs://" + outputPath); 
 
问题1."file://"  和 "hdfs://" 有什么作用啊? 是用来区分local和hdfs上的文件路径吗?
 
问题2.在运行的时候args[0]用绝对路径或相对路径吗?
我运行的时候,本地文件用了相对或绝对路径,都出现如下的错误,
Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: file://README.txt, expected: hdfs://pc1:9000
 
如下是相对路径执行的情况下的命令行
bin/hadoop jar xukai_jar/CompressTest.jar com.xkhadoop.third.third.CompressTest README.txt /tmp/compress
 

fish - Hadooper

赞同来自: 数美招聘 编程小梦 奔跑的大象

1. "file://"或者"hdfs://"是path中的schema,从功能上看,确实用来区分其后边的路径指的是本地文件还是hdfs文件。 2. 出现异常时,完整的异常栈是什么?file://后面跟的是绝对路径,如果是根目录下的README.txt文件,路径为file:///README.txt。

奔跑的大象

赞同来自:

注意是否API调用有误!~

要回复问题请先登录注册