尝试从hdfs输出中读取hadoop

时间:2015-05-21 06:55:29

标签: hadoop mapreduce

这是我的程序,我想从我的hdfs中读取我使用map reduce程序创建,但它不显示任何输出。没有任何编译时间和运行时错误。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

    public class Cat{
        public static void main (String [] args) throws Exception{
            try{
                Path pt=new Path("hdfs:/path/to/file");
                FileSystem fs = FileSystem.get(new Configuration());
                BufferedReader br=new BufferedReader(new InputStreamReader(fs.open(pt)));
                String line;
                line=br.readLine();
                while (line != null){
                    System.out.println(line);
                    line=br.readLine();
                }
            }catch(Exception e){
            }
        }
    }

2 个答案:

答案 0 :(得分:1)

我无法评论,所以我会发一个答案。

处理该异常可能有所帮助。你准备好了什么?

答案 1 :(得分:0)

很少有事情需要注意:

1)您使用的是正确的hdfs路径吗?

如果您在本地计算机上使用cloudera,则应该像下面那样给出路径。

$ hadoop jar /home/cloudera/your/path/to/jar/myjar.jar  com.test.Myjar 

检查" fs.defaultFS" core-site.xml中的属性获取文件系统路径(即hdfs://something.something:port /)

2)你是如何执行代码的?  尝试创建一个jar并使用以下命令从CLI运行它

<article>

 <div class='container-fluid'>

  <div class="row">

    <div class="col-md-8 indx-img" style="background-image:url('...');">
    </div>

    <div class="col-md-4 col-md-pull-8">

      <div class="text-cell">
        <h1>ttitle</h1>
        <h3>text</h3>
      </div>

    </div>

    </div><!-- /#row -->

  </div><!-- /#post -->

</article>

尝试以上内容,如果有效,请告知我们。

HTH