Hadoop之HDFS的API

来源:互联网 发布:淘宝猪哼少是正品吗 编辑:程序博客网 时间:2024/04/29 15:38

一、FileSystem类提供基本的文件处理功能 

   import org.apache.hadoop.fs.FileSystem   Configuration conf = new Configuration();   FileSystem fs = FileSystem.get(conf);

      core-site.xml:

   <!-- 制定HDFS的老大(NameNode)的地址 -->   <property>      <name>fs.defaultFS</name>      <value>hdfs://hadoop0:9000</value>   </property>

      – 适配器模式,根据配置文件中fs.default.name(hadoop2.x之后是
            fs.defaultFS)的值,实例化成不同的对象。
             • 本地文件系统:"file:///"
             • HDFS: "hdfs://xx.namenode.fqdn:8020/"
      – Hadoop中的资源描述方法符合URL规范(RFC1738),
      fs.defaut.name的值是默认的协议+server部分
二、文件操作

      2.1

      – 读文件 fs.open(Path);
      – 新建文件fs.create(Path);
      – 对文件追加fs.append(Path);
      – 关闭文件句柄fs.close(Path);
            • 对于hdfs文件,如果不close的话会导致短期内不能继续写入文件。
      – 建目录fs.mkdirs(Path);
      – 列目录 fs.listStatus(Path);
      – 通配符处理 fs.globStatus(Path)
            • 处理a/b*.lzo形式的输入路径
      – 删除文件或目录 fs.delete(Path,boolean)
      – 判断是否为文件fs.isFile(Path)
      – 设置文件属性fs.setPermission(..)

      2.2

     › 从本地上传文件fs. copyFromLocalFile(Path,Path)
     › 从hdfs下载文件fs.copyToLocalFile(Path,Path)
     › 获取文件块的位置fs. getFileBlockLocations()
     › 设定备份数fs.setReplication(Path, short)

三、其他HSFS API

       3.1 加载更多的配置文件    

    Configuration conf = new Configuration();    conf.addResource(new Path(".../core-site.xml"));    conf.addResource(new Path(".../hdfs-site.xml"));    FileSystem fs = FileSystem.get(new URI("hdfs://hadoop01:9000"), conf);

       3.2 重新设定连接的namenode

    Configuration conf = new Configuration();            conf.set("fs.defaultFS", "hdfs://NAMENODE_HOSTNAME:PORT");            FileSystem fs = FileSystem.get(new URI("hdfs://hadoop01:9000"), conf);


                                                                                                                                                                                        

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

0 0
原创粉丝点击