zoukankan      html  css  js  c++  java
  • 第二种方式读取并显示HDFS中的内容

    1.讀取HDFS内容的java客戶端代碼:
     1 package Hdfs;
     2 
     3 import java.io.InputStream;
     4 import java.net.URI;
     5 
     6 import org.apache.hadoop.conf.Configuration;
     7 import org.apache.hadoop.fs.FileSystem;
     8 import org.apache.hadoop.fs.Path;
     9 import org.apache.hadoop.io.IOUtils;
    10 /**
    11  * FileSystem类的实例是通过工厂方法,其中Configuration对象封装了HDFS客户端或者HDFS集群的配置
    12  * 该方法通过给定的URI方案和权限确定使用的文件系统。得到FileSystem实例之后,调用open()函数
    13  * 获得文件的输入流,open方法返回FSDataInputStream对象
    14  * @param args
    15  * @throws Exception
    16  */
    17 public class FilesystemCat {
    18     public static void main(String[] args) throws Exception {
    19         String url = "hdfs://neusoft-master:9000/user/root/test/demo1";
    20         Configuration conf = new Configuration();
    21         FileSystem fs = FileSystem.get(URI.create(url), conf);
    22         InputStream in = null;
    23         try {
    24             in = fs.open(new Path(url));
    25             IOUtils.copyBytes(in, System.out, 4096, false);
    26         } catch (Exception e) {
    27             IOUtils.closeStream(in);
    28         }
    29     }
    30 }
    FileSystem方式讀取HDFS内容

    2.將上述代碼打成har包傳輸到linux中運行,結果如下。

    總結:

        访问hdfs的两种方式各有不同:首先利用Java.net.URL对象打开数据流。第二种方法是利用FileSystem方法的get方法完成配置,利用IOUtils的copyBytes方法读取数据。

    博客地址:http://www.cnblogs.com/jackchen-Net/
  • 相关阅读:
    网站推荐:11个相似图片搜索网站(以图找图)
    逻辑回归
    关于估计、偏差以及方差
    算法面试问题集锦
    sql语句执行顺序
    五大算法之动态规划
    五大算法之回溯算法
    操作系统问题总结之处理机调度
    操作系统问题总结之进程管理
    Element-UI 去掉表格边框(表格Hover事件移除)
  • 原文地址:https://www.cnblogs.com/jackchen-Net/p/6266546.html
Copyright © 2011-2022 走看看