• Hadoop之HDFS(三)HDFS的JAVA API操作


    HDFS的JAVA API操作

      HDFS 在生产应用中主要是客户端的开发,其核心步骤是从 HDFS 提供的 api中构造一个 HDFS 的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS 上的文件。

    创建 Maven工程,引入 pom依赖:

        <dependencies>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
                <version>2.7.4</version>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-hdfs</artifactId>
                <version>2.7.4</version>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-client</artifactId>
                <version>2.7.4</version>
            </dependency>
        </dependencies>

    配置Windows平台的Hadoop环境

    在 windows 平台下编译 Hadoop 源码
    解压到 windows 的任意一个目录下(无中文无空格)
    在 windows 系统中配置 HADOOP_HOME 指向你解压的安装包目录
    在 windows 系统的 path 变量中加入 HADOOP_HOME 的 bin 目录(和配置java环境变量基本一致)

    使用java api操作HDFS

    public class HDFSClient {
        public static void main(String[] args) throws Exception {
            //指定相关参数的配置
            Configuration conf = new Configuration();
            //这里指定使用的是 hdfs 文件系统
            conf.set("fs.defaultFS", "hdfs://bigdata-01:9000");
    
            //通过如下的方式进行客户端身份的设置
            System.setProperty("HADOOP_USER_NAME", "root");
    
            //通过 FileSystem 的静态方法获取文件系统客户端对象
            FileSystem fs = FileSystem.get(conf);
            //也可以通过如下的方式去指定文件系统的类型 并且同时设置用户身份
            //FileSystem fs = FileSystem.get(new URI("hdfs://bigdata-01:9000"), conf, "root");
    
    
            //创建一个文件夹
            //fs.mkdirs(new Path("/hdfsbyjava"));
            //创建一个文件
            //fs.create(new Path("/hdfsbyjava/abc"), false);
    
            //上传一个文件
            //fs.copyFromLocalFile(new Path("d:/a.txt"), new Path("/hdfsbyjava-ha"));
    
    
            //下载一个文件
            fs.copyToLocalFile(new Path("/hdfsbyjava/abc"),new Path("D://bcd"));
    
            //删除一个文件
            //fs.delete(new Path("/hdfsbyjava/abc"));
    
            //关闭文件系统
            fs.close();
        }
    }
  • 相关阅读:
    mysql对表操作的各种语句
    Map遍历两种方式
    hibernate3
    Spring、mybaits整合
    mybaits注解
    mybaits 框架运用
    mybatis入门
    限制文本框字符数
    Unity3D Mathf函数
    Unity3d 粒子工具注释
  • 原文地址:https://www.cnblogs.com/blazeZzz/p/9671337.html
Copyright © 2020-2023  润新知