本文介绍了以编程方式读取使用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 ? Please suggest.
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,这可以从本地运行。:
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中的文本文件的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!