malformedURLException:没有协议

时间:2016-09-27 14:45:11

标签: hadoop mapreduce hadoop2 hadoop-streaming

我正在尝试执行一个简单的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);
    }
  }
}

0 个答案:

没有答案