`
weir2009
  • 浏览: 263783 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

hadoop2.x HDFS javaAPI

 
阅读更多

HDFS javaAPI

 

Configuration conf = new Configuration();

conf.set("fs.defaultFS", "hdfs://h6:9000");

FileSystem fileSystem = FileSystem.get(conf);

 

 

 

 

 

1.创建文件夹:

判断是否存在

不存在再创建

if (!fileSystem.exists(new Path("/weir01"))) {

        fileSystem.mkdirs(new Path("/weir01"));

      }

 

2.创建文件:

in - InputStream to read from 原文件路径

out - OutputStream to write to  hdfs 目录

the size of the buffer  缓冲大小

close - whether or not close the InputStream and OutputStream at the end. The streams are closed in the finally clause. 是否关闭流

 

 

 

FSDataOutputStream out =fileSystem.create(new Path("/d1"));

      FileInputStream in = new FileInputStream("f:/hadoop.zip");

      IOUtils.copyBytes(in, out, 1024, true);

 

 

3上传本地文件

 

delSrc - whether to delete the src是否删除源文件

overwrite - whether to overwrite an existing file是否覆盖已存在的文件

srcs - array of paths which are source 可以上传多个文件数组方式

dst – path 目标路径

 

fileSystem.copyFromLocalFile(src, dst);

      fileSystem.copyFromLocalFile(delSrc, src, dst);

      fileSystem.copyFromLocalFile(delSrc, overwrite, src, dst);

   fileSystem.copyFromLocalFile(delSrc, overwrite, srcs, dst);

 

 

4 重命名HDFS文件

 

fileSystem.rename(src, dst);

 

5.删除文件

 

True 表示递归删除

fileSystem.delete(new Path("/d1"), true);

 

6.查看目录及文件信息

 

FileStatus[] fs = fileSystem.listStatus(new Path("/"));

      for (FileStatus f : fs) {

        String dir = f.isDirectory() ? "目录":"文件";

        String name = f.getPath().getName();

        String path = f.getPath().toString();

        System.out.println(dir+"----"+name+"  path:"+path);

        System.out.println(f.getAccessTime());

        System.out.println(f.getBlockSize());

        System.out.println(f.getGroup());

        System.out.println(f.getLen());

        System.out.println(f.getModificationTime());

        System.out.println(f.getOwner());

        System.out.println(f.getPermission());

        System.out.println(f.getReplication());

        System.out.println(f.getSymlink());

      }

 

 

7.查找某个文件在HDFS集群的位置

 

FileStatus fs = fileSystem.getFileStatus(new Path("/data"));

      BlockLocation[] bls=fileSystem.getFileBlockLocations(fs, 0, fs.getLen());

      for (int i = 0,h=bls.length; i < h; i++) {

        String[] hosts= bls[i].getHosts();

        System.out.println("block_"+i+"_location:  "+hosts[0]);

      }

 

 

8.获取HDFS集群上所有节点名称信息

 

 

DistributedFileSystem hdfs = (DistributedFileSystem) fileSystem;

      DatanodeInfo[] dns=hdfs.getDataNodeStats();

      for (int i = 0,h=dns.length; i < h; i++) {

        System.out.println("datanode_"+i+"_name:  "+dns[i].getHostName());

      }

 

2
0
分享到:
评论

相关推荐

    java操作Hadoop源码之HDFS Java API操作-上传文件

    java操作Hadoop源码之HDFS Java API操作-上传文件,附带所需全部jar包,欢迎下载学习。

    java操作Hadoop源码之HDFS Java API操作-创建目录

    java操作Hadoop源码之HDFS Java API操作-创建目录,附带所需全部jar包,欢迎下载学习。

    ecplise远程连接hadoop--hdfs java api操作文件.pdf

    ecplise远程连接hadoop--hdfs java api操作文件.pdf

    hadoop-hdfs-2.7.3-API文档-中英对照版.zip

    标签:apache、hdfs、hadoop、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    实验项目 实战 HDFS 实验报告

    一、实验目的 1. 理解 HDFS 体系架构。 2. 理解 HDFS 文件存储原理和数据读写过程。 3. 熟练掌握 HDFS Web UI 界面的使用...5. 使用 HDFS Java API 编写 HDFS 文件操作程序,实现上传本地文件到 HDFS 的功能。。。。。

    hadoop-hdfs-2.6.5-API文档-中文版.zip

    标签:apache、hdfs、hadoop、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    hadoop-hdfs-2.7.3-API文档-中文版.zip

    标签:apache、hdfs、hadoop、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    hadoop-hdfs-2.6.5-API文档-中英对照版.zip

    标签:apache、hdfs、hadoop、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    实验二、HDFS shell操作及HDFS Java API编程

    适合刚接触hadoop的学生或小白,内容包括HDFS shell操作及HDFS Java API编程 有图片有代码

    java通过api方式操作Hadoop

    该资源是java通过api的方式来操作hadoop,主要有以下操作: 一.文件操作 1.上传本地文件到hadood 2.在hadoop中新建文件,并写入 3.删除hadoop上的文件 4.读取文件 5.文件修改时间 二.目录操作 1.在hadoop上创建目录 ...

    hadoop2.6.0.chm

    hadoop2.6.0.chm由hadoop的doc制成,包含User Guide、Javadocs等

    hadoop-hdfs-client-2.9.1-API文档-中英对照版.zip

    标签:apache、hadoop、hdfs、client、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    hadoop-hdfs-2.5.1-API文档-中英对照版.zip

    标签:apache、hadoop、hdfs、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    hadoop-hdfs-2.5.1-API文档-中文版.zip

    标签:apache、hadoop、hdfs、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    elcipse java hadoop操作hdfs的api

    自己整理的hadoop的java-api。各个API写得比较简单,比较细,适合初学者参考。PS:集群请自行搭建

    hadoop-hdfs-2.9.1-API文档-中英对照版.zip

    标签:apache、hadoop、hdfs、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    HDFS在JAVA API的操作

    HDFS在JAVA API中的操作,以及在ecplise中的配置详情。

    实验二:熟悉常用的HDFS操作

    A.2实验二:熟悉常用的HDFS操作 本实验对应第4章的内容。 A.2.1 实验目的 (1)理解 HDFS在Hadoop体系结构中的角色。(2)熟练使用HDFS操作常用的 Shell命令。(3)熟悉HDFS操作常用的Java API。 A.2.2 实验平台 (1)操作...

    hdfs-java-api

    hdfs api,研究hadoop的可以下来参考

    HDFS判断文件或目录是否存在——Shell命令实现 + Java代码实现

    hdfs dfs -test -e 文件或目录名 第三步,查看检测结果: echo $? 若输出结果为0,则说明文件或目录存在,若为1,则说明文件或目录不存在。 二、Java代码实现 import org.apache.hadoop.conf.Configuration; ...

Global site tag (gtag.js) - Google Analytics