这是我的程序,我想从我的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){
}
}
}
答案 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