Hadoop 系列HDFS的Java API( Java API介绍)

HDFS的Java API

 Java API介绍

将详细介绍HDFS Java API,一下节再演示更多应用。

Java API 官网

Hadoop 2.7.3 Java API官方地址
http://hadoop.apache.org/docs/r2.7.3/api/index.html

如上图所示,Java API页面分为了三部分,左上角是包(Packages)窗口,左下角是所有类(All Classes是)窗口,右侧是详情窗口。

这里推荐使用“先左下角索引,然后查看右侧详情”的方法,好似查英文词典一样。而左上角的包窗口,使用较少。

左下角窗口列出了所有的Java接口和类,可以直接拖动滑动条查找需要的接口或类。如图所示,比如查找到FileSystem,单击该类,右侧窗口将显示该类的详细信息,包括属性方法等。

                       Configuration类方法                                                          
 
     
                          说明
void set(String name, String value)    设置属性,name是属性名,value是属性值
void addResource(String name)      

  添加一个配置资源

 

// 1.创建配置器 
Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs://192.168.55.128:9000");
conf.set("mapred.jop.tracker", "192.168.55.128:9001");



Configuration conf = new Configuration();  
conf.addResource("core-default.xml");  
conf.addResource("core-site.xml"); 

 URL与Path

URI:统一资源标志符(Uniform Resource Identifier)
URL:统一资源定位符(uniform resource location)
URI与URL都是定位资源位置的,就是表示这个资源的位置信息,就像经纬度一样可以表示你在世界的哪个角落。URI是一种宽泛的含义更广的定义,而URL则是URI的一个子集,就是说URL是URI的一部分。

URL位于java.net包中
Path类往往与URL类结合使用,Path类位于org.apache.hadoop.fs包下,命名文件系统中的文件或目录。 路径字符串使用斜杠作为目录分隔符。 如果以斜线开始,路径字符串是绝对的。

方法说明
Path(String pathString) 通过构造器可以把一个字符串构造成一个路径

FileSystem类

Hadoop是由Java语言编写的,其中Hadoop 2.7系列是JDK1.7编写,我们可以通过Java API调用HDFS的所有交互操作接口。其中最常用的类是FileSystem类,包含了hdfs dfs相关操作的实现。

如上图可以看到FileSystem类的声明,

public abstract class FileSystem
extends Configured
implements Closeable

 了解到:

    FileSystem类位于org.apache.hadoop.fs包中,是一个抽象类,其次父类是Configured,实现了 Closeable接口。
    Closeable接口是可以关闭的数据源或目标。需要实现close 方法,可释放对象保存的资源(如打开文件)。
    父类Configured有两个方法:
        void setConf(Configuration conf):设置Configuration
        Configuration getConf():获取Configuration

除了上面三个方法,FileSystem类常用方法如下表(省略了public)

其中,create()方法有多个重载版本,允许我们指定是否强制覆盖已有的文件、文件备份数量、写入文件缓冲区大小、文件块大小以及文件权限。

posted @ 2018-11-15 20:00  palyer  阅读(1976)  评论(0编辑  收藏  举报