Java: Hadoop文件系统的读写操作

简介: Java: Hadoop文件系统的读写操作

所需jar包路径:


hadoop-2.8.5/share/hadoop/common
hadoop-2.8.5/share/hadoop/common/bin
hadoop-2.8.5/share/hadoop/hdfs
hadoop-2.8.5/share/hadoop/hdfs/bin

java代码实例


import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import java.io.*;
import java.net.URI;
import java.net.URISyntaxException;
/**
 * HDFS操作,需要导入common和hdsf文件夹下的jar
 */
public class HDSFDemo {
    private FileSystem fs = null;
    HDSFDemo() throws IOException, URISyntaxException, InterruptedException {
        Configuration conf = new Configuration();
        fs = FileSystem.get(new URI("hdfs://master:9000"), conf, "root");
    }
    /**
     * 下载文件
     *
     * @throws IOException
     */
    public void download() throws IOException {
        InputStream in = fs.open(new Path("/java"));
        OutputStream out = new FileOutputStream("/Users/Desktop");
        IOUtils.copyBytes(in, out, 4096, true);
    }
    /**
     * 上传文件
     *
     * @throws IOException
     */
    public void upload() throws IOException {
        System.out.println("开始上传...");
        InputStream in = new FileInputStream("/Users/Desktop/compare.py");
        OutputStream out = this.fs.create(new Path("/compare.py"));
        IOUtils.copyBytes(in, out, 4096, true);
    }
    /**
     * 删除文件
     *
     * @throws IOException
     */
    public void delete() throws IOException {
        boolean ret = this.fs.delete(new Path("/java"), true);
        System.out.println("文件删除结果:" + ret);
    }
    /**
     * 创建文件夹
     *
     * @throws IOException
     */
    public void mkdir() throws IOException {
        boolean ret = this.fs.mkdirs(new Path("/temp"));
        System.out.println("文件创建成功:" + ret);
    }
    public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
        HDSFDemo hdfs = new HDSFDemo();
        hdfs.upload();
    }
}

备注:

URI的端口号一定要和配置文件中的端口号一致


问题:

log4j:WARN Please initialize the log4j system properly


可参考:log4j:WARN Please initialize the log4j system properly 问题解决

相关文章
|
3月前
|
分布式计算 Java Hadoop
java使用hbase、hadoop报错举例
java使用hbase、hadoop报错举例
120 4
|
29天前
|
分布式计算 Java Hadoop
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
通过以上步骤,可以有效地解决 `HADOOP_HOME`和 `JAVA_HOME`删除后依然指向旧目录的问题。确保在所有相关的配置文件中正确设置和删除环境变量,并刷新当前会话,使更改生效。通过这些措施,能够确保系统环境变量的正确性和一致性。
26 1
|
2月前
|
SQL 分布式计算 Java
Hadoop-11-MapReduce JOIN 操作的Java实现 Driver Mapper Reducer具体实现逻辑 模拟SQL进行联表操作
Hadoop-11-MapReduce JOIN 操作的Java实现 Driver Mapper Reducer具体实现逻辑 模拟SQL进行联表操作
42 3
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
109 3
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
88 4
|
2月前
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
52 2
|
2月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
70 1
|
2月前
|
分布式计算 Hadoop 网络安全
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
41 1
|
2月前
|
存储 机器学习/深度学习 缓存
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
54 1
|
2月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
29 3
下一篇
DataWorks