HDFS Java API 操作

这篇具有很好参考价值的文章主要介绍了HDFS Java API 操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HDFS Java API操作

Hadoop是使用Java语言编写的,因此使用Java API操作Hadoop文件系统,HDFS Shell本质上就是对Java API的应用,通过编程的形式,操作HDFS,其核心是使用HDFS提供的Java API构造一个访问客户端对象,然后通过客户端对象对HDFS上的文件进行操作(增,删,改,查)

零、启动hadoop

HDFS Java API 操作

一、HDFS常见类接口与方法

1、hdfs 常见类与接口

Hadoop 整合了众多文件系统,HDFS只是这个文件系统的一个实例
HDFS Java API 操作

2、FileSystem 的常用方法

FileSystem 对象的一些方法可以对文件进行操作
HDFS Java API 操作

二、Java 创建Hadoop项目

1、创建文件夹

现在D盘创建一个空的文件夹,HDFS02用来存放hadoop项目
HDFS Java API 操作

2、打开Java IDEA

1) 新建项目

点击左上角,新建项目
HDFS Java API 操作

2) 选择Maven

选择Maven包管理,记住一定是jdk1.8版本的,然后那个从archetype 不要选择
HDFS Java API 操作
然后点击下一步,位置选择刚刚D盘创建的那个HDFS02文件夹,然后点击完成
HDFS Java API 操作

三、配置环境

1、添加相关依赖

创建完成之后,进来是一个pom.xml文件
HDFS Java API 操作
添加以下的相关的hadoopjunit依赖配置,其中大部分都是有的,主要是<dependencise></dependencise> 这个部分

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>HDFS02</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>18</maven.compiler.source>
        <maven.compiler.target>18</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
    <!--hadoop客户端-->
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>3.3.4</version>
        </dependency>
    <!--单元调试框架-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
        </dependency>
    </dependencies>
    
</project>

然后右上角有一个m的图标,点击一下,加载配置文件,导入包,这个很关键,不然那些包都用不起
HDFS Java API 操作
Manen Repository (Maven仓库) http://mvnrepository.com/
HDFS Java API 操作
搜索 hadoopHDFS Java API 操作
点击 hadoop-client 超链接,然后点击下面的3.3.4
HDFS Java API 操作
就可以看到上面在Java里面配置的hadoop的依赖就是这个地方的
HDFS Java API 操作

2、创建日志属性文件

resources目录里创建log4j.properties文件
HDFS Java API 操作
把下面的配置添加进去
HDFS Java API 操作

log4j.rootLogger=stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/hdfs.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

四、Java API操作

1、在HDFS上创建文件

在 /ied01 目录里创建hadoop.txt 文件
输入命令:hdfs dfs -mkdir /ied01/hadoop.txt
HDFS Java API 操作
在webUI界面进行查看
HDFS Java API 操作

2、在Java 上创建包

创建net.aex.hdfs包,在包里创建CreateFileOnHDFS
HDFS Java API 操作

1) 编写create1()方法

注意导入包的时候一定不要导错了,有些很相似
HDFS Java API 操作

package net.aex.hdfs;

import org.apache.hadoop.conf.Configuration;
import java.net.URI;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
//下面这两个是错的
//import java.nio.file.FileSystem;
//import java.nio.file.Path;


public class CreateFileOnHDFS {
    public static void create1() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //定义统一资源标识符 (uri: uniform resource identifer)
        String uri = "hdfs://master:9000";
        //创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri),conf);
        //创建路径对象
        Path path = new Path(uri + "/ied01/hadoop.txt");
        //基于路径对象创建文件
        boolean result = fs.createNewFile(path);
        //根据返回值判断文件是否创建成功
        if(result){
            System.out.println("文件[" + path + "创建成功]");
        }else{
            System.out.println("文件[" + path + "创建失败]");
        }
    }

    public static void main(String[] args) throws Exception{
        create1();
    }
}

下面使用main方法 对CreateFileOnHDFS 函数方法进行调用
HDFS Java API 操作
运行程序查看结果,创建失败,因为我们之前已经在linux本地 hdfs上创建了这个文件
HDFS Java API 操作
此时将这个创建的文件路径改为 /ied02/hadoop02.txt 就成功了
HDFS Java API 操作
在webUI界面上进行查看
HDFS Java API 操作
注意:在/ied01 目录里确实创建了一个0字节hadoop02.txt文件,有点类似于Hadoop shell 里执行 hdfs dfs -touchz /ied01/hadoop02.txt 但是在linux上面重复执行不会失败,只是会不断改变这个文件的时间戳,但是在Java API里面操作,如果重复执行就会失败

2) 编写create2() 方法

编写create2() 方法,事先判断文件是否已经存在

//create2
    public static void create2() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //定义统一资源标识符 (uri: uniform resource identifer)
        String uri = "hdfs://master:9000";
        //创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri),conf);
        //创建路径对象
        Path path = new Path(uri + "/ied01/hadoop.txt");
        //判断路径对象指定的文件是否已经存在
        if(fs.exists(path)){
            //提示用户文件已经存在
            System.out.println("文件["+path+"]已经存在!");
        }else {
            //基于路径对象创建文件
            boolean result = fs.createNewFile(path);
            //根据返回值判断文件是否已经创建成功
            if (result){
                System.out.println("文件[" + path + "创建成功!");
            }else{
                System.out.println("文件[" + path + "创建失败!");
            }
        }
    }

使用main方法调用create2() 函数方法,查看程序运行结果,提示文件已经存在
HDFS Java API 操作
此时我们怎么才能出现文件创建失败的情况呢,我们故意让HDFS进入安全模式(只能读,不能写)
linux上删除已经创建的/ied01/hadoop02.txt 文件
输入命令: hdfs dfs -rm /ied01/hadoop02.txt
HDFS Java API 操作
输入命令:hdfs dfsadmin safemode enter 进入安全模式
HDFS Java API 操作
此时,再运行程序,抛出SafeModelException 异常
HDFS Java API 操作
修改程序,来处理这个可能会抛出的安全模式异常
使用try catch 来抛出捕获异常
HDFS Java API 操作
运行程序,查看结果
HDFS Java API 操作
linux 输入命令:hdfs dfsadmin -safemode leave 关闭安全模式
HDFS Java API 操作
再运行程序,查看结果 创建成功
HDFS Java API 操作

3、在HDFS上写入文件

net.aex.hdfs 包里创建WriteFileOnHDFS
HDFS Java API 操作

1) 将数据直接写入HDFS文件

在linux本地 hdfs /ied01目录创建hello.txt文件
HDFS Java API 操作

(1)编写write1() 方法

在Java 里创建 write1() 函数方法

package net.aex.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 java.net.URI;
import java.nio.charset.StandardCharsets;

public class WriteFileOnHDFS {
    public static void write1() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //定义统一资源标识符 (uri: uniform resource identifer)
        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();
    }

    public static void main(String[] args) throws Exception{
        write1();
    }
}

运行程序,查看结果,报错,没有数据节点可以写入数据
HDFS Java API 操作
修改代码,添加一个 设置数据节点主机名属性
HDFS Java API 操作
运行1程序,查看结果
HDFS Java API 操作
在webUI界面上查看hello.txt 文件
HDFS Java API 操作

2) 将本地文件写入HDFS文件

在Java项目根目录创建一个文本文件test.txt
HDFS Java API 操作

(1)、编写witer2() 方法

在Java WriteFileOnHDFS类里面创建 write2函数方法
HDFS Java API 操作

//write2
    public static void write2() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //设置数据节点主机名属性
        conf.set("dfs.client.use.datanode.hostname","true");
        //定义统一资源标识符 (uri: uniform resource identifer)
        String uri = "hdfs://master:9000";
        //创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri),conf,"root");
        //创建路径对象
        Path path = new Path(uri + "/ied01/exam.txt");
        //创建文件系统数据字节输出流对象
        FSDataOutputStream out = fs.create(path);
        //创建文字字符输入流对象
        FileReader fr = new FileReader("test.txt");
        //创建缓冲字符输入流对象
        BufferedReader br = new BufferedReader(fr);
        //定义行字符串
        String nextLine = "";
        //通过循环读取缓冲字符输入流
        while ((nextLine=br.readLine()) != null){
            //在控制台输出读取的行
            System.out.println(nextLine);
            //通过文件系统数据字节输出流对象写入指定文件
            out.write(nextLine.getBytes());
        }
        //关闭文件系统字节输出流
        out.close();
        //关闭缓冲字符输入流
        br.close();
        //关闭文件字符输入流
        fr.close();
        //提示用户写入文件成功
        System.out.println("本地文件[test.txt]成功写入[" + path + "]!");
    }

main函数调用write2() 方法,查看结果 写入成功
HDFS Java API 操作
其实这个方法的功能就是将本地文件复制(上传)到HDFS,有更简单的处理方法,通过使用一个工具类IOUtils来完成文件的相关操作

(2)、编写write2_2() 方法

HDFS Java API 操作

//write2_2()
    public static void write2_2() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //设置数据节点主机名属性
        conf.set("dfs.client.use.datanode.hostname","true");
        //定义统一资源标识符 (uri: uniform resource identifer)
        String uri = "hdfs://master:9000";
        //创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri),conf,"root");
        //创建路径对象
        Path path = new Path(uri + "/ied01/test.txt");
        //创建文件系统数据字节输出流对象
        FSDataOutputStream out = fs.create(path);
        //创建文字字符输入流对象
        FileInputStream in = new FileInputStream("test");
        //利用IOUtils类提供的字节拷贝方法来复制文件
        IOUtils.copyBytes(in,out,conf);
        //关闭文件字节输入流
        in.close();
        //关闭文件系统字节输入流
        out.close();
        //关闭文件系统
        fs.close();
        //提示用户写入文件成功
        System.out.println("本地文件[test.txt]成功写入[" + path + "]!");
    }

使用main方法,运行write2_2() 函数方法 查看结果 写入成功
HDFS Java API 操作
在linux查看hdfs 目录 /ied01/test.txt内容
HDFS Java API 操作

4、读取HDFS文件

相当于Shell里的两个命令:hdfs dfs -cathdfs dfs -get
net.aex.hdfs包里创建ReadFileOnHDFS

1) 读取HDFS文件直接在控制台显示

准备读取 /ied01/test.txt 文件
HDFS Java API 操作

(1) 编写read1() 方法

HDFS Java API 操作

package net.aex.hdfs;

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

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.net.URI;

public class ReadFileOnHDFS {
    public static void read1() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //设置数据节点主机名属性
        conf.set("dfs.client.use.datanode.hostname","true");
        //定义统一资源标识符 (uri: uniform resource identifer)
        String uri = "hdfs://master:9000";
        //创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri),conf,"root");
        //创建路径对象(指向目录或文件)
        Path path = new Path(uri + "/ied01/test.txt");
        //创建文件系统数据字节输入流对象
        FSDataInputStream in = fs.open(path);
        //创建缓冲字符输入流对象,提高读取效率(字节流-->字符流-->缓冲流)
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        //定义行字符串
        String nextLine = "";
        // 通过循环读取缓冲字符输入流
        while ((nextLine=br.readLine())!=null){
            //在控制台输出读取的行内容
            System.out.println(nextLine);
        }
        //关闭缓冲字符输入流
        br.close();
        //关闭文件系统数据字节输入流
        in.close();
        //关闭文件系统
        fs.close();
    }

    public static void main(String[] args) throws Exception{
        read1();
    }
}

使用main方法调用 read1() 函数方法 查看结果 将/ied01/test.txt里的文件读取出来了
HDFS Java API 操作
其实我们可以使用IOUtils类来简化代码,创建read_()函数方法
HDFS Java API 操作

 //read1_2()
    public static void read1_2() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //设置数据节点主机名属性
        conf.set("dfs.client.use.datanode.hostname","true");
        //定义统一资源标识符 (uri: uniform resource identifer)
        String uri = "hdfs://master:9000";
        //创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri),conf,"root");
        //创建路径对象(指向目录或文件)
        Path path = new Path(uri + "/ied01/test.txt");
        //创建文件系统数据字节输入流对象
        FSDataInputStream in = fs.open(path);
        //读取文件在控制台显示
        IOUtils.copyBytes(in,System.out,4096,false);
        //关闭文件系统数据字节输入流
        in.close();
        //关闭文件系统
        fs.close();
    }

使用main方法,调用read1_2() 函数方法 查看结果
HDFS Java API 操作

2) 读取HDFS文件,保存为本地文件

任务:将/ied01/test.txt 下载到项目下download目录里

(1) 创建read2()方法
//read2()
    public static void read2() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //设置数据节点主机名属性
        conf.set("dfs.client.use.datanode.hostname","true");
        //定义统一资源标识符 (uri: uniform resource identifer)
        String uri = "hdfs://master:9000";
        //创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri),conf,"root");
        //创建路径对象(指向目录或文件)
        Path path = new Path(uri + "/ied01/test.txt");
        //创建文件系统数据字节输入流对象
        FSDataInputStream in = fs.open(path);
        //创建文件字节输出流
        FileOutputStream out = new FileOutputStream("D:\\HDFS02\\.idea\\download\\exam.txt");
        //读取HDFS文件(靠输入流),写入本地文件(靠输出流)
        IOUtils.copyBytes(in,out,conf);
        //关闭文件系统数据字节输入流
        in.close();
        //关闭文件字节输出流
        in.close();
        //关闭文件系统
        fs.close();
        //提示用户文件下载成功
        System.out.println("文件["+path+"]下载到本地文件[download/exam.txt]!");

    }

使用main方法,调用read2()函数,查看结果 exam.txt 文件已经下载到本地的download目录下了
HDFS Java API 操作

5、重命名目录或文件

1) 重命名目录

任务:将/ied01 目录更名为 /lzy01

(1) 编写renameDir() 方法

HDFS Java API 操作

package net.aex.hdfs;

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

import java.net.URI;

public class RenameDirOnFile {
    public static void renameDir() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //设置数据节点主机名属性
        conf.set("dfs.client.use.datanode.hostname","true");
        //定义统一资源标识符 (uri: uniform resource identifer)
        String uri = "hdfs://master:9000";
        //创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri),conf);
        //创建源路径对象
        Path sourcePath = new Path("/ied01");
        //创建目标路径对象
        Path targePath = new Path("/lzy01");
        //利用文件系统对象重命名目录
        fs.rename(sourcePath,targePath);
        //关闭文件系统
        fs.close();
        //提示用户目录更名成功
        System.out.println("目录["+sourcePath.getName()+"]更名为目录[" + targePath.getName() + "]!");
    }

    public static void main(String[] args) throws Exception{
        renameDir();
    }
}

使用main方法调用renameDir()函数,查看结果 成功从/ied01 改为 lzy01
HDFS Java API 操作
在webUI界面进行查看
HDFS Java API 操作

2) 重命名文件

任务:将/lzy01目录下的hello.txt重名为hi.txt
HDFS Java API 操作

(1)编写renameFile() 方法

主要需要两个对象的路径然后通过文件系统.rename()方法,把两个文件路径放进去进行更改

 public static void renameFile() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //定义统一资源标识符 (uri: uniform resource identifer)
        String uri = "hdfs://master:9000";
        //创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri),conf);
        //创建源路径对象
        Path sourcePath = new Path("/lzy01/hello.txt");//目标对象
        //创建目标路径对象(指向文件)
        Path targePath = new Path("/lzy01/hi.txt");
        //利用文件系统重命名文件
        fs.rename(sourcePath,targePath);
        //关闭文件系统
        fs.close();
        //提示用户更更名成功
        System.out.println("文件[" + sourcePath.getName() + "]更名文件[" + targePath.getName() + "]!");
    }

使用main方法调用renameFile()方法,查看结果 更名成功
HDFS Java API 操作
HDFS Java API 操作

6、显示文件列表

net.aex.hdfs 包里创建ListHDFSFiles

1) 显示指定目录下文件全部信息

任务:显示/lzy01 目录下的文件列表
HDFS Java API 操作

(1)、编写list1() 方法
package net.aex.hdfs;

import jdk.jshell.execution.LoaderDelegate;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;

import java.net.URI;

public class ListHDFSFile {
    public static void list1() throws Exception{
        //设置配置对象
        Configuration conf = new Configuration();
        //设置数据节点主机名属性
        conf.set("dfs.client.use.datanode.hostname","true");
        //定义统一资源标识符 (uri: uniform resource identifer)
        String uri = "hdfs://master:9000";
        //创建文件系统对象(基于HDFS的文件系统)
        FileSystem fs = FileSystem.get(new URI(uri),conf,"root");
        //创建远程迭代器对象,泛型是位置文件状态类(相当于`hdfs dfs -ls -R /lzy01`)
        RemoteIterator<LocatedFileStatus> ri = fs.listFiles(new Path("/lzy01"),true);
        //遍历远程迭代器
        while (ri.hasNext()){
            System.out.println(ri.next());

        }

    }

    public static void main(String[] args) throws Exception{
        list1();

    }
}

使用main 方法,调用list1() 方法 查看结果 这些hdfs /lzy01 目录下的文件都读取出来了
HDFS Java API 操作上述文件状态对象封装的有关信息,可以通过相应的方法来获取,比如getPath() 方法就可以获取路径信息,getLen()方法就可以获取文件长度信息

2) 显示指定目录下文件路径和长度信息
(1) 编写list2() 方法
//list2()
    public static void list2() throws Exception{
        //创建配置对象
        Configuration conf = new Configuration();
        //设置数据节点主机名属性
        conf.set("dfs.client.use.datanode.hosename","true");
        //定义uri字符串
        String uri = "hdfs://master:9000";
        //创建文件系统对象
        FileSystem fs = FileSystem.get(new URI(uri),conf,"root");
        //创建远程迭代器对象,泛型是位置文件状态类(相当于`hdfs dfs -ls -R /lzy01`)
        RemoteIterator<LocatedFileStatus> ri = fs.listFiles(new Path("/lzy01"),true);
        //遍历远程迭代器
        while (ri.hasNext()){
            LocatedFileStatus lfs = ri.next();
            System.out.println(lfs.getPath() + "" + lfs.getLen() +  "字节");
        }
    }

使用main方法调用list2() 方法,查看结果 /lzy01目录下的文件的字节都显示出来了
HDFS Java API 操作

7、获取文件块信息

任务:获取/lzy01/hadoop-3.3.4.tar.gz文件块信息HDFS Java API 操作
hadoop压缩包会分割成6个文件块
HDFS Java API 操作
net.aex.hdfs包里创建GetBlockLocations文章来源地址https://www.toymoban.com/news/detail-411185.html

到了这里,关于HDFS Java API 操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • hadoop调用HDFS java api实现在HDFS上创建文件夹

    目录 一、前期准备 1、Hadoop集群已配置完毕 2、Linux系统安装jdk 3、安装并破解IntelliJ IDEA 二、通过JAVA API操纵HDFS 1.在IDEA中创建项目  2.在hdfs项目的src-main-java路径下创建一个包,然后在包下创建一个java类实现hdfs的文件操作  3.java类的代码 4.对JAVA程序传入参数后运行程序  5

    2024年02月08日
    浏览(74)
  • Java API 操作HDFS文件

    使用JavaAPI操作hdfs 文件的常用操作代码 1.创建目录 2.创建文件 3.重命名 4.上传本地文件到hdfs 5.查看某个目录下的所有文件 6.查看文件块信息 7.文件读写 8.文件上传 9.文件下载 10.使用字节流读取数据 11.删除文件 12.删除文件夹 13.自定义数据输入流

    2024年02月11日
    浏览(40)
  • 【Hadoop】HDFS API 操作大全

    🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁 🍁🪁🍁 🪁🍁🪁🍁 感谢点赞和关注 ,

    2024年02月07日
    浏览(41)
  • Hadoop HDFS的API操作

    hadoop的 Windows依赖文件夹,拷贝hadoop-3.1.0到非中文路径(比如d:)。 配置HADOOP_HOME环境变量 配置Path环境变量。 不能放在包含有空格的目录下,cmd 输入hadoop显示此时不应有 hadoop-3.0.0bin。我放在E:Program Files (x86) hadoop-3.0.0bin中,就出现错误 验证Hadoop环境变量是否正常。双击

    2024年02月05日
    浏览(44)
  • Hadoop 使用Linux操作系统与Java熟悉常用的HDFS操作

    注意看评论区获取完整代码资料 目录 一、实验目的 二、实验平台 三、实验步骤 理解HDFS在Hadoop体系结构中的角色; 熟练使用HDFS操作常用的Shell命令; 熟悉HDFS操作常用的Java API。 操作系统:Linux(建议Ubuntu16.04); Hadoop版本:2.7.1; JDK版本:1.8或以上版本; Java IDE:Eclipse。

    2024年02月03日
    浏览(53)
  • 大数据学习:使用Java API操作HDFS

    一、创建Maven项目 二、添加依赖 在 pom.xml 文件里添加 hadoop 和 junit 依赖 三、创建日志属性文件 在 resources 目录里创建 log4j.properties 文件 代码 四、在HDFS上创建文件 在 /ied01 目录创建 hadoop2.txt 文件 创建 net.xxr.hdfs 包,在包里创建 CreateFileOnHDFS 类 编写 create1() 方法 结果 利用H

    2024年02月08日
    浏览(39)
  • 大数据上课笔记之使用Java API操作HDFS

    目录 一、HDFS Java API的了解 1、HDFS常见类与接口  二、编写Java程序访问HDFS 1、在IEDA上创建Maven项目 2、添加相关依赖 3、创建日志属性文件 4、启动集群HDFS服务 5、在HDFS上创建文件  6、写入HDFS文件  7、读取HDFS文件  8、重命名目录或文件 9、显示文件列表  9.1、显示指定目录

    2024年02月07日
    浏览(38)
  • 从零开始的Hadoop学习(五)| HDFS概述、shell操作、API操作

    1.1 HDFS 产出背景及定义 1) HDFS 产生背景 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切 需要一种系统来管理多台机器上的文件 ,这就是分布式文件管理系统。 HDFS只是分布式文件管理系统

    2024年02月10日
    浏览(55)
  • Windwos安装Hadoop 并在IDEA中利用Maven实现HDFS API操作

    本次hadoop的安装系统为Windows10、Hadoop版本为3.3.6、Maven版本为3.9.4、Java版本为17.0.2。本教程基于前篇教程Hadoop集群、Java安装均完成后的后续教程,如未完成安装请查看前置教程。Hadoop、java安装 ############################################################################################# 此外,大数

    2024年01月18日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包