我正在尝试执行一个简单的hadoop程序来读取文件的内容并将其打印到控制台上。我遵循hadoop的权威指南:urlcat示例
我得到错误的网址例外:没有协议
当我使用-cat时hdfs://localhost/user/training/test.txt 我得到的内容打印出来,但当我使用相同的路径,而执行jar我得到提到的异常。
我已经添加了静态块,其中设置了urlstreamhandlerfactory
编辑时间:
我的程序:
import java.io.InputStream;
import java.net.URL;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
// vv URLCat
public class URLCat {
static {
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
}
public static void main(String[] args) throws Exception {
InputStream in = null;
try {
in = new URL(args[0]).openStream();
IOUtils.copyBytes(in, System.out, 4096, false);
} finally {
IOUtils.closeStream(in);
}
}
}
暂无答案!
目前还没有任何答案,快来回答吧!