微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

hdfs连接、上传文件、下载文件的操作

package com.sxuek;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.IOException;
import java.net.URI; // 是net包下的URI
import java.net.URISyntaxException;

/*
操作HDFS
 */
public class Demo {
    public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
        // 1.创建一个HDFS的连接配置对象 -- 指定本地里连接的参数
        // 参数是hdfs-site.xml中配置的参数
        Configuration conf = new Configuration();
        // 设置配置项 -- hdfs的地址
        // conf.set("fs.defaultFS", "hdfs://192.168.200.225:9000");
        // 在该目录下C:\Windows\System32\drivers\etc,添加ip--名 即可写下面的了
//        conf.set("fs.defaultFS", "hdfs://node1:9000");

        // 设置块的大小
        // 在代码中的配置的参数优先级高于我们Hadoop软件安装的时候配置的参数
        // conf.set("dfs.blocksize", "104857600");
        
        // 连接文件系统
        // uri:hdfs地址  conf:配置
        FileSystem fileSystem = FileSystem.get(new URI("hdfs://node1:9000"), conf, "root");

        // 上传文件 并且不能删除本地文件
//        fileSystem.copyFromLocalFile(false, new Path("G:\\shixun\\hadoop-2.8.5.tar.gz"), new Path("/"));
//        System.out.println("上传完成!");

        // 下载文件 从hdfs上下载文件
        fileSystem.copyToLocalFile(false, new Path("/hadoop-2.8.5.tar.gz"), new Path("G://"));
        System.out.println("下载完成!");

        System.out.println(fileSystem);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐