温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

HDFS如何实现读写操作

发布时间:2021-12-13 10:53:18 来源:亿速云 阅读:84 作者:小新 栏目:大数据

这篇文章主要介绍了HDFS如何实现读写操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

  1. import java.io.OutputStream;

  2. import java.net.URI;

  3. import java.net.URL;


  4. import org.apache.commons.io.IOUtils;

  5. import org.apache.hadoop.conf.Configuration;

  6. import org.apache.hadoop.fs.FSDataInputStream;

  7. import org.apache.hadoop.fs.FileSystem;

  8. import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;

  9. import org.apache.hadoop.fs.Path;


  10. public class HdfsTest {


  11.     public static void main(String[] args) throws Exception {

  12.         write();

  13.     }


  14.     public static void read1(String url) throws Exception {

  15.         URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());

  16.         System.out.println(IOUtils.toString(new URL(url).openStream()));

  17.     }

  18.     

  19.     public static void read2(String url) throws Exception {

  20.         Configuration conf = new Configuration();

  21.         FileSystem fs = FileSystem.get(URI.create(url), conf);

  22.         FSDataInputStream is = fs.open(new Path(url));

  23.         System.out.println(IOUtils.toString(is));

  24.         is.close();

  25.         fs.close();

  26.     }


  27.     public static void write() throws Exception {

  28.         String hdfsFile = "hdfs://192.168.202.134:9000/test/text2.txt";

  29.         Configuration conf = new Configuration();

  30.         FileSystem fs = FileSystem.get(URI.create(hdfsFile), conf, "andy");

  31.         OutputStream out = fs.create(new Path(hdfsFile), true);

  32.         out.write("new file text2.txt".getBytes());

  33.         out.close();

  34.         fs.close();

  35.         read1(hdfsFile);

  36.         read2(hdfsFile);

  37.     }

  38. }

感谢你能够认真阅读完这篇文章,希望小编分享的“HDFS如何实现读写操作”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI