Java操作HDFS

Java操作HDFS

  FileSystem:

FSDataIntputStream 

FSDataOutputStream

DtributedFileSystem

FileUtil  

FileStatus

1.  FileSystem

  Private FileSystemfs;

 Private String URL=“hdfs://192.168.170.128:8020”;

  *建立连接 用junit单元测试 setup 和teardowm

      1.setup()

          fs=FileSystem.get(new URL(),newConfigurtion(),”主机名”);

         *创建文件夹:fs.mkdir(new Path(“HDFS上面的路径”));

         *创建文件并写入数据

           FSDataOutputStream os=fs.create(new Path(“文件路径”));

           os.write(“数据”); //和文件流一样写入 记得os.close();

         *浏览文件内容

        FSDataIntputStream is=fs.open(new Path(“路径”));

        byte b=new byte[128];

        int len;

        while((len=is.read(b)!=-1))

            syso(new String(b,0,len));

     *修改名字 换目录

        fs.rename(new Path(“要改的”),new Path(“改后的“));

     *删除目录 是否级联删除

        fs.delete(new Path(“路径”),boolean)

     *上传文件到HDFS

        fs.copyFromLocalFile(new Path(“本地”),new Path”HDFS”))

         *从HDFS下载

           fs.copyToLocalFile(new Path(“本地”),new Path(“HDFS“))

         *查看HDFS内存信息

           FsStatus st=fs.getStatus(new Path(“路径”));

              St.getUsed()/get Capacity()/getRemain()

2.  FileStatus

   *查看文件信息

   FileStatus st=fs.getFileStatus(new Path(“路径”))

      st.getAccessTime/getReplication/getLen/getOwner/getGroup/

getBlocksize等等

      *输出hdfs中所有节点的IP和端口信息

      DistributedFileSystem ds= (DistributedFileSystem)fs;

      DataNodeInfo dis[]=ds.getDataNodeStat();

        for(DataNodeInfo df:dis)

          syso(df);

3.Fileutil     

*小文件的合并

FileUtil.copyMerge(fs,new Path(“要合并”),fs,new Path(“合并后”))

      

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值