广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现HDFS文件上传下载
  • 163
分享到

Java实现HDFS文件上传下载

2024-04-02 19:04:59 163人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了利用Java实现hdfs文件上传下载的具体代码,供大家参考,具体内容如下 1、pom.xml配置 <!--配置--> <properties&g

本文实例为大家分享了利用Java实现hdfs文件上传下载的具体代码,供大家参考,具体内容如下

1、pom.xml配置

<!--配置-->
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <Maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <hadoop.version>3.1.3</hadoop.version>
</properties>
<!--依赖库-->
<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common</artifactId>
          <version>${hadoop.version}</version>
    </dependency>
    <dependency>
         <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapReduce-client-core</artifactId>
          <version>${hadoop.version}</version>
    </dependency>
</dependencies>

2、创建与删除

//导包
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.IOException;
public static void main( String[] args ){
    //初始化hadoop文件系统的configration对象
    Configuration conf = new Configuration();
    //将hadoop的configration信息传入
    conf.set("fs.defaultFS","hdfs://192.168.50.102:9000");
    //初始化Hadoop文件系统的句柄
    FileSystem fs=null;
    try {
        //配置Hadoop的文件句柄信息
        fs=FileSystem.get(conf);
        //定义Hadoop的文件路径
        final String PATH="/test/kb16/hadoop/ratings.csv";
        //初始化Hadoop的路径信息
        Path path = new Path(PATH);
        //如果文件路径存在就删除
        if (fs.exists(path)) {
            System.out.println("DELETE "+fs.delete(path, true));
        }else{
            //如果文件路径不存在就创建
            System.out.println("CREATE "+fs.create(path));
        }
    } catch (IOException e) {
        e.printStackTrace();
    }finally {
        //结束的时候,句柄还没有释放就进行释放
        if (fs!=null) {
            try {
                fs.close() ;
            }catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

3、文件上传

//导包
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.File;
import java.io.IOException;
public static void main(String[] args) {
    //定义本地上传文件路径
    final String fORMPath="E:\\ratings.csv";
    //本地文件不存在就报错,并强制让程序终止
    if (!new File(formPath).exists()) {
        System.out.println(formPath +"doesn't exits");
        return;
    }
    //初始化hadoop文件系统的configration对象
    Configuration conf = new Configuration();
    //将hadoop的configration信息传入
    conf.set("fs.defaultFS","hdfs://192.168.50.102:9000");
    //初始化Hadoop文件系统的句柄
    FileSystem fs=null;
    try {
        //将config信息传入
        fs=FileSystem.get(conf);
        //定义上传到HDFS的路径
        final String toPath="/test/kb16/Hive";
        //初始化路径
        Path to =new Path(toPath);
        //如果文件路径存在不执行,如果文件路径不存在就尝试创建,如果创建失败就跳过
          if (!fs.exists(to)&& !fs.mkdirs(to)) {
            System.out.println(toPath +"doesn't exit and can't be created");
            return;
        }
        //初始化上传文件路径
        Path from=new Path(formPath);
        //利用方法将本地文件复制到HDFS中
        fs.copyFromLocalFile(from, to);
        System.out.println("succeed in copying from "+formPath+" to "+toPath);
    } catch (IOException e) {
        e.printStackTrace();
        System.out.println("FAILURE");
    }finally{
        //如果结束Hadoop文件系统句柄没有关闭,利用方法进行句柄释放
        if (null!=fs) {
            try {
                fs.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

4、文件下载

//导包
import com.Google.inject.internal.cglib.core.$LocalVariablesSorter;
import com.google.inject.internal.cglib.proxy.$Factory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.File;
import java.io.IOException;
public class Download {
    public static void main(String[] args) {
        //定义文件下载路径
        final String toPath = "C:\\Users\\Jialin\\Desktop";
        //获取路径
        File to = new File(toPath);
        //如果路存在或者文件路径不存在但是创建成功就不执行if方法
        if (!to.exists()&&!to.mkdirs()) {
            System.err.println(toPath + "doesn't exist and can't be created");
            return;
        }
        //初始化hadoop文件系统的configration对象
        Configuration config = new Configuration();
        //将hadoop的configration信息传入
        config.set("fs.defaultFS", "hdfs://192.168.50.102:9000");
        //初始化Hadoop文件系统的句柄
        FileSystem fs = null;
        try {
            //将config信息传入
            fs = FileSystem.get(config);
            //定义下载文件路径
            final String fromPath = "/test/kb16/hive/ratings.csv";
            //获取路径信息
            Path from = new Path(fromPath);
            //如果指定下载文件不存在就退出
            if (!fs.exists(from)) {
                System.err.println(toPath + "doesn't exist ");
                return;
            }
            //获取文件下载路径信息
            Path _to = new Path(toPath);
            //利用方法将Hadoop文件下载到本地
            fs.copyToLocalFile(from,_to);
            System.out.println("succeed in downloading from "+fromPath+" to"+toPath);
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("FAILURE");
        } finally {
            //如果结束Hadoop文件系统句柄没有关闭,利用方法进行句柄释放
            if (null != fs)
                try {
                    fs.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
        }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Java实现HDFS文件上传下载

本文链接: https://www.lsjlt.com/news/152343.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现HDFS文件上传下载
    本文实例为大家分享了利用Java实现HDFS文件上传下载的具体代码,供大家参考,具体内容如下 1、pom.xml配置 <!--配置--> <properties&g...
    99+
    2022-11-13
  • Java怎么实现HDFS文件上传下载
    今天小编给大家分享一下Java怎么实现HDFS文件上传下载的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。pom.xml配置&...
    99+
    2023-07-02
  • java实现文件上传和下载
    本文实例为大家分享了java实现文件上传和下载的具体代码,供大家参考,具体内容如下 文件的上传 upload:文件上传 客户端通过表单的文件域file  把客户端的文件 上...
    99+
    2022-11-12
  • java实现文件上传下载功能
    本文实例为大家分享了java实现文件上传下载的具体代码,供大家参考,具体内容如下 1.上传单个文件 Controller控制层 import java.io.File; imp...
    99+
    2022-11-12
  • java实现ftp文件上传下载功能
    本文实例为大家分享了ftp实现文件上传下载的具体代码,供大家参考,具体内容如下package getUrlPic;import java.io.ByteArrayInputStream;import java.io.IOException;...
    99+
    2023-05-31
    ftp 上传 下载
  • SpringMVC实现上传下载文件
    本文实例为大家分享了SpringMVC实现上传下载文件的具体代码,供大家参考,具体内容如下 一、SpringMVC专门提供了CommonsMultipartResolver组件用于文...
    99+
    2022-11-13
  • java- SFTP文件上传下载
    JSch - SFTP文件上传下载 文章目录 JSch - SFTP文件上传下载1. JSch简介2. ChannelSftp常用ApiJSch支持三种文件传输模式文件上传 put() 方法文...
    99+
    2023-09-30
    java 服务器
  • Java上传下载ftp文件
    在Java中连接FTP服务器可以使用Apache Commons Net库提供的FTPClient类。以下是一个简单的示例代码,演示如何连接到FTP服务器、进行文件上传和下载操作: import org.apache.commons.net...
    99+
    2023-09-03
    java apache 服务器
  • ASP.NETCore实现文件上传和下载
    本文实例为大家分享了ASP.NET Core实现文件上传和下载的具体代码,供大家参考,具体内容如下 一、文件上传 1.1 获取文件后缀 /// <summary> ///...
    99+
    2022-11-13
  • Go实现文件上传和下载
    本文实例为大家分享了Go实现文件上传和下载的具体代码,供大家参考,具体内容如下 一.文件上传 文件上传:客户端把上传文件转换为二进制流后发送给服务器,服务器对二进制流进行解析 HTM...
    99+
    2022-11-11
  • SpringMVC实现文件上传与下载
    本文实例为大家分享了SpringMVC实现文件上传与下载的具体代码,供大家参考,具体内容如下 0.环境准备 1.maven依赖 <dependencies> ...
    99+
    2022-11-12
  • vue实现文件上传和下载
    本文实例为大家分享了vue实现文件上传和下载的具体代码,供大家参考,具体内容如下 文件上传 vue中的文件上传主要分为两步:前台获取到文件和提交到后台 获取文件 前台获取文件,主要是...
    99+
    2022-11-12
  • springMVC实现文件上传和下载
    本文实例为大家分享了springMVC实现文件上传和下载的具体代码,供大家参考,具体内容如下 1准备工作 web.xml文件导入DispatcherServlet,Character...
    99+
    2022-11-12
  • java高并发文件上传下载怎么实现
    实现高并发的文件上传下载可以通过以下几个步骤: 使用多线程或线程池:可以使用多个线程或线程池来处理文件上传下载请求,每个线程负责...
    99+
    2023-10-27
    java
  • Java实现七牛云文件图片上传下载
    目录一、准备工作1.1.为什么选择七牛云?1.2.七牛云注册二、java操作七牛云对象存储下载2.1.pom.xml引入依赖2.2.上传下载具体代码三、具体业务例子(七牛云做...
    99+
    2022-11-12
  • Java+Selenium实现文件上传下载功能详解
    目录简介上传文件下载文件简介 本文主要讲解java代码如何利用selenium操作浏览器上传和下载文件代码教程。 上传文件 常见的 web 页面的上传,一般使用 input 标签或是...
    99+
    2023-01-09
    Java Selenium文件上传下载 Java Selenium文件上传 Java Selenium文件下载 Java Selenium 上传 下载
  • 【Java编程系列】Minio实现文件上传下载
    热门系列: 【Java编程系列】Amazon S3实现文件上传下载 目录 热门系列: 1、前言 2、Minio实战代码 2.1 Minio环境部署 2.2 Minio的Sdk对接实现 2.2.1 Minio Maven依赖 2.2.2 m...
    99+
    2023-09-02
    minio minio上传下载 minio存储 minio预览 minio永久访问
  • nodejs multer实现文件上传与下载
    本文实例为大家分享了nodejs实现文件上传下载的具体代码,供大家参考,具体内容如下 1.介绍 做了一个关于文件上传和下载的demo ,选择了Multer 作为中间件进行数据处理。 关于multer请参...
    99+
    2022-06-04
    文件上传 nodejs multer
  • HTML5如何实现文件上传下载
    这篇文章主要介绍了HTML5如何实现文件上传下载,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言HTML5 中提供的文件API在前端中有着...
    99+
    2022-10-19
  • Servlet实现文件的上传与下载
    前言: 文件的上传和下载在日常开发中很是常见,那么这一功能是如何实现的呢,下面我给大家介绍一下 实现条件: 1、需要一个form标签,method为post请求 2、form的enc...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作