本文介绍了使用Java以编程方式读取存储在HDFS中的文本文件的内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何运行这个简单的Java程序从HDFS目录/单词中存储的文本文件中读取字节?我是否需要为此创建一个jar文件?
How do I run this simple Java program to read bytes from a text file stored in directory/words in HDFS? Do I need to create a jar file for the purpose?
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.hadoop.*;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
public class filesystemhdfs
{
public static void main(String args[]) throws MalformedURLException, IOException
{
byte[] b=null;
InputStream in=null;
in=new URL("hdfs://localhost/words/file").openStream();
in.read(b);
System.out.println(""+b);
for(int i=0;i<b.length;i++)
{
System.out.println("b[i]=%d"+b[i]);
System.out.println(""+(char)b[i]);
}
}
}
推荐答案
您可以使用HDFS API,该API可以从本地运行.
You can use the HDFS API, this can be run from local.:
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://namenode:8020");
FileSystem fs = FileSystem.get(configuration);
Path filePath = new Path(
"hdfs://namenode:8020/PATH");
FSDataInputStream fsDataInputStream = fs.open(filePath);
这篇关于使用Java以编程方式读取存储在HDFS中的文本文件的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!