windows本地运行hdfs Java API

Java操作HDFS主要涉及以下几个重要的类:

1. Configuration:封装了客户端或者服务器的配置信息。这个类主要用于设置HDFS的连接参数,例如NameNode的地址、端口号等。通过创建Configuration对象并设置相应的参数,可以配置HDFS客户端的行为。

2. FileSystem:此类的对象是一个文件系统对象,可以用该对象的一些方法来对文件进行操作。通过FileSystem的静态方法get获得该对象,例如:`FileSystem hdfs = FileSystem.get(conf)`。在获取到FileSystem对象后,可以使用其提供的方法来执行各种文件操作,如创建目录、上传文件、下载文件等。

3. FSDataInputStream:这是HDFS中的输入流,用于从HDFS中读取数据。通过由FileSystem的open方法获取,例如:`FSDataInputStream in = hdfs.open(new Path("hdfs://localhost:9000/path/to/file"))`。FSDataInputStream提供了read()方法来读取文件中的数据,以及close()方法来关闭输入流。

4. FSDataOutputStream:这是HDFS中的输出流,用于向HDFS中写入数据。通过由FileSystem的create方法获取,例如:`FSDataOutputStream out = hdfs.create(new Path("hdfs://localhost:9000/path/to/output/file"))`。FSDataOutputStream提供了write()方法来将数据写入文件中,以及close()方法来关闭输出流。

这些类共同提供了与HDFS交互的基本功能,使得Java程序能够方便地访问和操作HDFS上的文件。

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

public class HadoopLocalExample {
    public static void main(String[] args) throws Exception {
        // 创建Hadoop配置对象
        Configuration conf = new Configuration();
        // 设置HDFS的地址和端口
        conf.set("fs.defaultFS", "hdfs://master:9000");

        // 获取本地文件系统对象
        FileSystem fs = FileSystem.get(conf);

        // 定义本地文件路径
        Path localPath = new Path("D:\\project\\java\\test\\test\\data\\C.txt");

        // 定义HDFS目标路径
        Path hdfsPath = new Path("hdfs://master:9000/a/input/C.txt");


        // 从本地文件系统复制到HDFS
        fs.copyFromLocalFile(localPath, hdfsPath);

        // 关闭文件系统对象
        fs.close();
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值