Java API操作HDFS写入,读取,重命名,显示文件列表等

(一)写入文件

在net.hw.hdfs包中创建writeFileOnHDFS类

1、将数据直接写入HDFS文件   【在/ied01目录中创建hello.txt文件,创建write1()方法

 注:

package net.hw.hdfs;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;

import java.net.URI;


public class WriteFileOnHDFS {
    @Test
    public void write1() throws Exception {
        // 创建配置对象
        Configuration conf = new Configuration();
        // 定义统一资源标识符(uri: uniform resource identifier)
        String uri = "hdfs://master:9000";
        // 创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri), conf);
        // 创建路径对象(指向文件)
        Path path = new Path(uri + "/ied01/hello.txt");
        // 创建文件系统数据字节输出流(出水管:数据从程序到文件)
        FSDataOutputStream out = fs.create(path);
        // 通过字节输出流向文件写数据
        out.write("Hello Hadoop World".getBytes());
        // 关闭文件系统数据字节输出流
        out.close();
        // 关闭文件系统对象
        fs.close();
        // 提示用户写文件成功
        System.out.println("文件[" + path + "]写入成功!");
    }
}              
 

运行write1方法,查看结果   【报错,将是没有数据节点可以写入数据】

运行程序,查看结果

利用Hadoop WebUI 界面查看hello.txt文件

将本地文件写入HDFS文件

在姓名根目录创建一个文本文件test.txt

 注:可以再往下空一格

创建write2方法

运行write2方法,查看结果

注:将本地文件复制或上传到HDFS

编写write2方法   【注:导包问题】

 

查看write2方法,查看结果

shell上面查看/ied01/test.txt内容

 

(二)、读取HDFS文件

两个命令:hdfs dfs -cat   和 hdfs  dfs -get

在net.hw.hdfs包中创建ReadFileOnHDFS类

 

1、读取HDFS在控制台显示  【读取hdfs://master:9000/ied01/test.txt文件】

编写read1方法

注:

package net.hw.hdfs;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值