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

10-22 23:42