大数据基础 HDFS客户端操作

news/2024/5/20 4:29:25 标签: 大数据, hdfs, hadoop

一、Maven概述

Maven是一个专门用于管理和构建Java项目的工具。我们之所以要使用Maven,是因为Maven可以为我们提供一套标准化的项目结构、一套标准化的构建流程和一套方便的依赖管理机制,这些功能可以使得我们的项目结构更加清晰,导入jar包的方式更加方便和标准,进而使得我们的开发更加的便捷高效。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,maven自身是纯java开发的,可以使用maven对java项目进行构建、依赖管理。

2. Maven的作用

依赖管理
依赖指的就是 我们项目中需要使用的第三方Jar包, 一个大一点的工程往往需要几十上百个Jar包,按照我们之前的方式,每使用一种Jar,就需要导入到工程中,还要解决各种Jar冲突的问题.
Maven可以对Jar包进行统一的管理,包括快速引入Jar包,以及对使用的 Jar包进行统一的版本控制
一键构建项目
之前我们创建项目,需要确定项目的目录结构,比如src 存放Java源码, resources存放配置文件,还要配置环境比如JDK的版本等等,如果有多个项目 那么就需要每次自己搞一套配置,十分麻烦
Maven为我们提供了一个标准化的Java项目结构,我们可以通过Maven快速创建一个标准的Java项目.

二、创建Maven项目

使用IDEA创建Maven项目,首先需要配置好Maven

二、Maven 的下载安装
1. Maven软件的下载

使用 Maven 管理工具,我们首先要到官网去下载它的安装软件。

Maven – Download Apache Maven

2. Maven软件的安装

Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下,比如:H:\software\maven 下面。 解压后目录结构如下:

  1. bin:存放了 maven 的命令
  2. boot:存放了一些 maven 本身的引导程序,如类加载器等
  3. conf:存放了 maven 的一些配置文件,如 setting.xml 文件
  4. lib:存放了 maven 本身运行所需的一些 jar 包
3. Maven环境变量配置
  1. 配置 MAVEN_HOME ,变量值就是你的 maven 安装的路径(bin 目录之前一级目录)
  2. 将MAVEN_HOME 添加到Path系统变量

4. Maven 软件版本测试

win+R 打开dos窗口,通过 mvn -v命令检查 maven 是否安装成功,看到 maven 的版本为3.9.5 及 java 版本为 jdk1.8即为安装 成功。 打开命令行,输入 mvn –v命令,如下图:

三、Maven 仓库
Maven中的仓库是用来存放maven构建的项目和各种依赖的(Jar包)。
1. Maven的仓库分类
本地仓库: 位于自己计算机中的仓库, 用来存储从远程仓库或中央仓库下载的插件和 jar 包,
远程仓库: 需要联网才可以使用的仓库,阿里提供了一个免费的maven 远程仓库。
中央仓库: 在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中 央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包 含了世界上大部分流行的开源项目构件

2. Maven 本地仓库的配置
1.maven仓库默认是在 C盘 .m2 目录下,我们不要将仓库放在C盘,所以这里要重新配置一下.

2.将 “repository.rar”解压至自己的 电脑上,我解压在 H:\software\repository 目录下(注意最好放在没有中文及空格的目录下)。
3.在maven安装目录中,进入 conf文件夹, 可以看到一个 settings.xml 文件中, 我们在这个文件中, 进行本地仓库的配置


5)在IDEA中创建一个Maven工程HdfsClientDemo,并导入相应的依赖坐标+日志添加

<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
</dependencies>

创建目录

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

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

public class hdfsapitest {
    @Test
    public void testMkdirs() throws URISyntaxException, IOException,InterruptedException
    {
        Configuration configuration=new Configuration();
        FileSystem fs=FileSystem.get(new URI("hdfs://hadoop101:8020"),configuration,"zhangna");
        fs.mkdirs(new Path("dashuju/class/"));
        fs.close();

    }
}

上课老师讲的进行验证


http://www.niftyadmin.cn/n/5225494.html

相关文章

并查集带权并查集

定义 : 并查集 : 一种数据结构&#xff0c;用于处理一些不相交集合的合并与查询问题&#xff1b; 例题 : 如 : 有n种元素&#xff0c;分属于不同的n个集合&#xff1b; 有两种操作 : 1.给出两个元素的亲属关系&#xff0c;合并两个集合(x与y是亲戚&#xff0c;亲戚的亲戚…

Android端极致画质体验之HDR播放

高动态范围HDR视频通过扩大亮度分量的动态范围(从100cd/m2到1000cd/m2)&#xff0c;以及采用更宽的色彩空间BT2020&#xff0c;提供极致画质体验。从Android10开始&#xff0c;支持HDR视频播放。 一、HDR技术 HDR技术标准包括&#xff1a;Dolby-Vision、HDR10、HLG、PQ。支持…

虚拟化场景时间管理

在云主机环境涉及到时间处理&#xff0c;虚拟机vmexit&#xff0c;内部时间中断模拟处理&#xff0c;电路板通常有一些定时操作设备&#xff0c;hyperson里如何实现&#xff0c;怎么保证时间可靠&#xff1f; 代码&#xff1a;qemu-5.0 1、qemu时钟&#xff08;time.h&#xff…

九、hdfs中Namenode元数据处理

1、元数据的由来 在hdfs文件系统中&#xff0c;用户的每一次操作&#xff0c;都会对文件系统产生响应的影响&#xff0c;那么谁来记录这些影响呢&#xff1f; 在hdfs文件系统中&#xff0c;edits文件记录了hdfs中的每一次操作&#xff0c;以及本次操作影响的文件其对应的block。…

AKConv:具有任意采样形状和任意数目参数的卷积核

文章目录 摘要1、引言2、相关工作3、方法3.1、定义初始采样位置3.2、可变卷积操作3.3、扩展AKConv3.3、扩展AKConv 4、实验4.1、在COCO2017上的目标检测实验4.2、在VOC 712上的目标检测实验4.3、在VisDrone-DET2021上的目标检测实验4.4、比较实验4.5、探索初始采样形状 5、分析…

第二十章Java博客

如果一次只完成一件事情&#xff0c;很容易实现。但现实生活中&#xff0c;很多事情都是同时进行的。Java中为了模拟这种状态&#xff0c;引入了线程机制。简单地说&#xff0c;当程序同时完成多件事情时&#xff0c;就是所谓的多线程。多线程应用相当广泛&#xff0c;使用多线…

【傻瓜级JS-DLL-WINCC-PLC交互】8.DLL读写WINCC连接的PLC数据

思路 JS-DLL-WINCC-PLC之间进行交互&#xff0c;思路&#xff0c;先用Visual Studio创建一个C#的DLL控件&#xff0c;然后这个控件里面嵌入浏览器组件&#xff0c;实现JS与DLL通信&#xff0c;然后DLL放入到WINCC里面的图形编辑器中&#xff0c;实现DLL与WINCC的通信。然后PLC与…

netty实现http协议服务

前面了解了netty的启动流程&#xff0c;实现http协议服务在pipeline里添加对应的http协议报文处理器即可。 server端&#xff1a; EventLoopGroup bossGroup new NioEventLoopGroup(1); EventLoopGroup workGroup new NioEventLoopGroup(4);ServerBootstrap bootstrap new…